kreedom
12fe915b48
[vmalert] add prometheus template function ( #396 )
...
* [vmalert] add prometheus template function
* make linter be happy
Co-authored-by: Aliaksandr Valialkin <valyala@gmail.com>
2020-04-01 18:17:53 +03:00
Aliaksandr Valialkin
cdf0a4cf8f
lib/httpserver: remove unnecessary http.HandlerFunc
wrapper in gzipHandler
2020-04-01 18:14:17 +03:00
Aliaksandr Valialkin
1c9c57db1c
docs/Cluster-VictoriaMetrics.md: small fixes and updates
2020-04-01 18:10:12 +03:00
Aliaksandr Valialkin
8edc72201d
docs/Single-server-VictoriaMetrics.md: small fixes and updates
2020-04-01 18:09:07 +03:00
Aliaksandr Valialkin
b024ecd10c
docs/Cluster-VictoriaMetrics.md: swap production build
and development build
chapters
2020-04-01 17:49:51 +03:00
Aliaksandr Valialkin
e0d0348f36
lib/storage: add missing reset for tagFilter.matchesEmptyValue on tagFilter.Init
2020-04-01 17:42:44 +03:00
Aliaksandr Valialkin
3e55c7e069
lib/promscrape: reduce timestamp jitter when scraping targets
...
This should improve compression for timestamps
2020-04-01 16:11:35 +03:00
Aliaksandr Valialkin
c4acd20d2a
lib/storage: remove duplicate data points on 7/8*minScrapeInterval interval instead of 1/2*minScrapeInterval
...
This should reduce storage usage and should improve deduplication accuracy
2020-04-01 15:48:48 +03:00
Aliaksandr Valialkin
8661dc4624
docs/Single-server-VictoriaMetrics.md: mention that environment vars may be prefixed with -envflag.prefix
2020-03-31 22:37:44 +03:00
Aliaksandr Valialkin
16572c8722
README.md: mention that response cache must be reset after import historical data
2020-03-31 19:33:20 +03:00
Aliaksandr Valialkin
b699c46046
lib/storage: handle errors returned from TagFilters.Add
when cloning TagFilters with negative filter
2020-03-31 16:18:02 +03:00
Aliaksandr Valialkin
e71519b8b2
app/victoria-metrics/testdata: add a test for https://github.com/VictoriaMetrics/VictoriaMetrics/issues/395
2020-03-31 12:51:25 +03:00
Aliaksandr Valialkin
972713bd79
lib/storage: add fast path for the previous indexdb search if it doesn't contain per-day inverted index yet
2020-03-31 12:51:21 +03:00
Aliaksandr Valialkin
5d99ca6cfc
lib/storage: optimize per-day inverted index search for tag filters matching big number of time series
...
- Sort tag filters in the ascending number of matching time series
in order to apply the most specific filters first.
- Fall back to metricName search for filters matching big number of time series
(usually this are negative filters or regexp filters).
2020-03-31 00:48:35 +03:00
Aliaksandr Valialkin
318326c309
lib/storage: properly handle {label=~"foo|"}
filters as Prometheus does
...
Such filters must match all the time series with `label="foo"` plus all the time series without `label`
Previously only time series with `label="foo"` were matched.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/395
2020-03-31 00:48:18 +03:00
Aliaksandr Valialkin
a1e4c6a2be
.github/workflows/wiki.yml: fix copying files from docs to wiki
2020-03-30 15:59:12 +03:00
Aliaksandr Valialkin
ac3ee44fa7
docs/robots.txt: trigger github actions
2020-03-30 15:54:39 +03:00
Aliaksandr Valialkin
b98ca56d94
lib/envflag: add -envflag.prefix
for setting optional prefix for environment vars
2020-03-30 15:51:19 +03:00
Aliaksandr Valialkin
b41ee5f27d
vendor: make vendor-update
2020-03-30 15:06:35 +03:00
Aliaksandr Valialkin
8d35af6fdb
.github/workflows: copy all the files from docs
folder to wiki and github pages
2020-03-30 15:05:37 +03:00
Aliaksandr Valialkin
0f2dd77a76
go.mod: update the minimum required Go version from go1.12 to go1.13
2020-03-30 14:56:57 +03:00
Aliaksandr Valialkin
0c485f14d1
app/vmselect/prometheus: allow passing relative time to start
, end
and time
args of /api/v1/*
queries
2020-03-29 21:57:14 +03:00
Aliaksandr Valialkin
2ebf7d86ff
app/vmselect/prometheus: code simplification: (d.Seconds()/1e3) -> d.Milliseconds()
2020-03-29 21:50:28 +03:00
kreedom
bf6c24d0f4
[vmalert] config parser ( #393 )
...
* [vmalert] config parser
* make linter be happy
* fix test
* fix sprintf add test for rule validation
2020-03-29 01:48:30 +02:00
Aliaksandr Valialkin
1f7292675a
docs: add robots.txt
2020-03-28 23:22:46 +02:00
Aliaksandr Valialkin
bd156cd088
docs/vmagent.md: add prometheus remote_write proxy
use case
2020-03-28 23:16:38 +02:00
Aliaksandr Valialkin
b695087119
docs/CaseStudies.md: add Brandwatch case study
2020-03-28 20:57:54 +02:00
Aliaksandr Valialkin
80f53e5396
deployment/docker: run docker apps under default user (0, root) in order to preserve backwards compatibility
...
If docker app is upgraded from root to non-root, then the data pointed by `-storageDataPath` or similar flags
becomes denied to non-root user after the upgrade. This breaks upgrade path. So revert back to default root user
for docker apps.
Users may explicitly execute `docker run --user <non_root_user>` for running docker apps under non-root user.
2020-03-28 19:23:26 +02:00
Roman Khavronenko
7acb797595
Update dashboard according to new Grafana version. ( #390 )
...
The way how regex for column style in Table panel should be applied has changed in 6.7 Grafana version. The change supposed to fix Flags panel column styles accordingly.
2020-03-28 01:24:39 +02:00
Roman Khavronenko
3a8bbfd6b9
bump Prometheus and Grafana images ( #389 )
2020-03-28 01:15:07 +02:00
Dmitry Naumov
27373807c1
Rootless docker images by default ( #358 )
...
* Rootless docker images by default
* Migrate to rootless base image
Co-authored-by: Aliaksandr Valialkin <valyala@gmail.com>
2020-03-27 21:23:50 +02:00
Aliaksandr Valialkin
8d7f0aa632
vendor: make vendor-update
2020-03-27 21:23:30 +02:00
Aliaksandr Valialkin
149f365f74
lib/httpserver: add -http.maxGracefulShutdownDuration
command-line flag for tuning the maximum duration required for graceful shutdown of http server
2020-03-27 21:23:30 +02:00
kreedom
b22da547a2
[vmalert] - parse template annotaions ( #387 )
...
* [vmalert] - parse template annotations
2020-03-27 18:31:16 +02:00
Aliaksandr Valialkin
047849e855
lib/uint64set: remove zero buckets after Set.Intersect
2020-03-27 01:15:58 +02:00
Aliaksandr Valialkin
f3ec424e7d
lib/uint64set: small code cleanup and perf tuning
...
* Remember the last accessed bucket on Has() call.
* Inline fast paths inside Add() and Has() calls.
* Remove fragile code with maxUnsortedBuckets inside bucket32.
2020-03-25 15:30:25 +02:00
Aliaksandr Valialkin
ef8aee8a2d
deployment/docker: update Go builder from Go1.14.0 to Go1.14.1
2020-03-24 22:35:26 +02:00
Aliaksandr Valialkin
dde4a97534
lib/uint64set: go fmt
2020-03-24 22:28:43 +02:00
Aliaksandr Valialkin
f3e0c55ea1
lib/storage: serialize snapshot creation process with mutex
...
This guarantees that the snapshot contains all the recently added data
from inmemory buffers when multiple concurrent calls to Storage.CreateSnapshot are performed.
2020-03-24 22:27:05 +02:00
Aliaksandr Valialkin
97fb0edd07
lib/uint64set: added more tests
2020-03-24 22:27:04 +02:00
Aliaksandr Valialkin
25f585ecf2
docs/CaseStudies.md: added a case study from MHI Vestas Offshore Wind
2020-03-14 13:22:12 +02:00
Aliaksandr Valialkin
df91d2d91f
lib/storage: remove obsolete code
2020-03-13 22:48:17 +02:00
Aliaksandr Valialkin
3c7c71a49c
app/vmselect: adjust label_map()
handling for corner cases
...
The following corner cases now supported:
* label_map(q, "label", "", "foo") - adds `label="foo"` to series with missing `label`
* label_map(q, "label", "foo", "") - removes `label="foo"` from series
All the unmatched labels are kept unchanged.
2020-03-13 18:45:03 +02:00
Aliaksandr Valialkin
69f1470692
vendor: update github.com/VictoriaMetrics/metrics from v1.11.0 to v1.11.2
...
This fixes data race in Histogram
2020-03-13 12:39:57 +02:00
Aliaksandr Valialkin
4fc4912f0c
app/vmalert/datasource: typo fix in docs: Labels -> Label
2020-03-13 12:22:33 +02:00
kreedom
a746cb62b6
vmalert add vm datasource, change alertmanager ( #364 )
...
* vmalert add vm datasource, change alertmanager
* make linter be happy
* make linter be happy.2
* PR comments
* PR comments.1
2020-03-13 12:19:31 +02:00
Aliaksandr Valialkin
499594f421
lib/promscrape: allow overriding external_labels as Prometheus does
...
Prometheus docs at https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config say:
> In communication with external systems, they are always applied only
> when a time series does not have a given label yet and are ignored otherwise.
Though this may result in consistency chaos when scrape targets override `external_labels`,
let's stick with Prometheus behavior for the sake of backwards compatibility.
There is last resort in vmagent with `-remoteWrite.label`, which consistently
sets the configured labels to all the metrics before sending them to remote storage.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/366
2020-03-12 20:24:42 +02:00
Aliaksandr Valialkin
fdc2a9d1d7
app/vmselect: add label_map(q, label, srcValue1, dstValue1, ... srcValueN, dstValueN)
function to MetricsQL
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/369
2020-03-12 19:13:47 +02:00
Aliaksandr Valialkin
92d67e2592
vendor: update google.golang.org/genproto from fc8f55426688 to da6875a35672
2020-03-12 18:11:33 +02:00
Aliaksandr Valialkin
8a853778d7
vendor: update golang.org/x/tools from 26f6a1b6802d to 5e2df02acb1e
2020-03-12 18:07:52 +02:00