Commit graph

10211 commits

Author SHA1 Message Date
Robert Fratto bc72a718c4
Initial draft of prometheus-agent (#8785)
* Initial draft of prometheus-agent

This commit introduces a new binary, prometheus-agent, based on the
Grafana Agent code. It runs a WAL-only version of prometheus without the
TSDB, alerting, or rule evaluations. It is intended to be used to
remote_write to Prometheus or another remote_write receiver.

By default, prometheus-agent will listen on port 9095 to not collide
with the prometheus default of 9090.

Truncation of the WAL cooperates on a best-effort case with Remote
Write. Every time the WAL is truncated, the minimum timestamp of data to
truncate is determined by the lowest sent timestamp of all samples
across all remote_write endpoints. This gives loose guarantees that data
from the WAL will not try to be removed until the maximum sample
lifetime passes or remote_write starts functionining.

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* add tests for Prometheus agent (#22)

* add tests for Prometheus agent

* add tests for Prometheus agent

* rearranged tests as per the review comments

* update tests for Agent

* changes as per code review comments

Signed-off-by: SriKrishna Paparaju <paparaju@gmail.com>

* incremental changes to prometheus agent

Signed-off-by: SriKrishna Paparaju <paparaju@gmail.com>

* changes as per code review comments

Signed-off-by: SriKrishna Paparaju <paparaju@gmail.com>

* Commit feedback from code review

Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Co-authored-by: Ganesh Vernekar <ganeshvern@gmail.com>

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* Port over some comments from grafana/agent

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* Rename agent.Storage to agent.DB for tsdb consistency

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* Consolidate agentMode ifs in cmd/prometheus/main.go

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* Document PreAction usage requirements better for agent mode flags

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* remove unnecessary defaultListenAddr

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* `go fmt ./tsdb/agent` and fix lint errors

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

Co-authored-by: SriKrishna Paparaju <paparaju@gmail.com>
2021-10-29 16:25:05 +01:00
David Leadbeater c91c2bbea5
promtool: Show more human readable got/exp output (#8064)
Avoid using %#v, nothing needs to parse this, so escaping " and so on
leads to hard to read output.

Add new lines, number and indentation to each alert series output.

Signed-off-by: David Leadbeater <dgl@dgl.cx>
2021-10-28 22:17:18 +11:00
DrAuYueng 69e309d202
Expose TargetsFromGroup/AlertmanagerFromGroup func and reuse this for (#9343)
static/file sd config check in promtool

Signed-off-by: DrAuYueng <ouyang1204@gmail.com>
2021-10-28 02:01:28 +02:00
Ben Kochie 8207b132fd
Merge pull request #9572 from prometheus/superq/cleanup_mixin_build
Use Go 1.16+ install for mixin tests
2021-10-27 10:38:45 +02:00
Xiaochao Dong c2d1c85857
close tsdb.head in test case (#9580)
Signed-off-by: Xiaochao Dong (@damnever) <the.xcdong@gmail.com>
2021-10-26 11:36:25 +05:30
Julien Pivotto 25d06a9b76
Release 2.31.0-rc.1 (#9587)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-25 15:45:54 +02:00
Furkan Türkal 0c07663b70
fix: possible race on shared variables in test (#9470)
Fixes #9433

Signed-off-by: Furkan <furkan.turkal@trendyol.com>
2021-10-25 18:44:40 +05:30
Dieter Plaetinck d5bfbe3114
improve bstream comments and doc (#9560)
* improve bstream comments and doc

Signed-off-by: Dieter Plaetinck <dieter@grafana.com>

* feedback

Signed-off-by: Dieter Plaetinck <dieter@grafana.com>
2021-10-25 18:44:15 +05:30
Julius Volz e7a12ac80a
Fix broken prefixed asset links in webpack build (#9586)
* Fix broken prefixed asset links in webpack build

Fixes https://github.com/prometheus/prometheus/issues/9585

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Use .env file for PUBLIC_URL npm build env var

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2021-10-25 12:52:13 +02:00
Furkan Türkal a6e6011d55
Add scrape_body_size_bytes metric (#9569)
Fixes #9520

Signed-off-by: Furkan <furkan.turkal@trendyol.com>
2021-10-24 23:45:31 +02:00
Levi Harrison 5d409b0637
Remove interval and timeout parameters (#9578) 2021-10-24 10:38:21 -04:00
SuperQ 3cd2c033e2
Use Go 1.16+ install for mixin tests
Use new `go install` syntax to fetch tools.

Signed-off-by: SuperQ <superq@gmail.com>
2021-10-23 22:52:16 +02:00
Ben Kochie 10c3e84c90
Merge pull request #9573 from roidelapluie/lint
Address lint failures from revive
2021-10-23 10:32:37 +02:00
Julien Pivotto 73255e15f6 Address golint failures from revive
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-23 00:53:11 +02:00
Ben Kochie 1c624c58ca
Replace deprecated linter (#9571)
Upstream is replacing `golint` with `revive`.

Signed-off-by: SuperQ <superq@gmail.com>
2021-10-23 00:36:59 +02:00
Julien Pivotto 21834bca6b
Release 2.31.0-rc.0 (#9556)
* Release 2.31.0-rc.0

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-22 16:39:48 +02:00
Ben Kochie 91726e33a0
Merge pull request #9564 from prometheus/superq/go_get_d
Use download mode for update-go-deps
2021-10-22 15:30:52 +02:00
SuperQ 5b75a97b2c
Use download mode for update-go-deps
Add `-d` to go get to avoid trying to build/install packages when
running `make update-go-deps`. Tested with 1.14.

Signed-off-by: SuperQ <superq@gmail.com>
2021-10-22 10:32:03 +02:00
Ben Kochie 92ba644a37
Bump indirect modules (#9562)
Update to current versions for indirect modules.

Signed-off-by: SuperQ <superq@gmail.com>
2021-10-21 23:36:13 +02:00
Will Tran 97b0738895
add --max-block-duration in promtool create-blocks-from rules (#9511)
* support maxBlockDuration for promtool tsdb create-blocks-from rules

Fixes #9465

Signed-off-by: Will Tran <will@autonomic.ai>

* don't hardcode 2h as the default block size in rules test

Signed-off-by: Will Tran <will@autonomic.ai>
2021-10-21 23:28:37 +02:00
Levi Harrison d81bbe154d
Rule alerts/series limit updates (#9541)
* Add docs and do not limit inactive alerts.

Signed-off-by: Levi Harrison <git@leviharrison.dev>
2021-10-21 23:14:17 +02:00
Serge Catudal 8c3eca84db
Fix remote write receiver endpoint for exemplars (#9414)
Signed-off-by: Serge Catudal <serge.catudal@gmail.com>
2021-10-21 22:58:40 +02:00
Julien Pivotto 4c088ba8ba
Update go dependencies (#9555)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-21 21:51:44 +02:00
Furkan Türkal 9d0058a09e
Bind port 0 in main_test (#9558)
Fixes #9499

Signed-off-by: Furkan <furkan.turkal@trendyol.com>
2021-10-21 14:59:20 +02:00
Julian Wiedmann 18886c33c2
docs/operators: fix a typo (#9559)
s/are preserved the output/are preserved in the output

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
2021-10-21 14:35:52 +02:00
Björn Rabenstein c092a74be9
Merge pull request #9553 from prometheus/beorn7/histogram
promql: Add more test cases for `histogram_quantile`
2021-10-21 00:33:11 +02:00
Julien Pivotto b0c98e01c8
Include scrape labels in the hash (#9551)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-20 23:44:45 +02:00
Julien Pivotto 77f411b2ec
Enable tls_config in oauth2 (#9550)
* Enable tls_config in oauth2

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-20 23:10:18 +02:00
Levi Harrison 89a6ebd799
Add common HTTP client to Azure SD (#9267)
* Add `proxy_url` option to Azure SD

Signed-off-by: Levi Harrison <git@leviharrison.dev>
2021-10-20 23:09:58 +02:00
Julien Pivotto 3458e338c6
docs: Improve PuppetDB example (#9547)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-20 21:03:17 +02:00
beorn7 c00c6ed01f promql: Add more test cases for histogram_quantile
This is motivated by the doubts raised in #7970.

Signed-off-by: beorn7 <beorn@grafana.com>
2021-10-20 16:15:44 +02:00
Bryan Boreham a278ea4b58
promql: copy data when short-circuiting (#9552)
* promql: copy data when short-circuiting

Because the range query loop re-uses the output buffer each time round,
we must copy results into the buffer rather than using input as output.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2021-10-20 16:03:02 +02:00
Vladimir Kononov 1043d2b594
Discovery: abstain from restarting providers if possible (#9321) (#9349)
* Abstain from restarting discovery providers if possible (#9321)

Signed-off-by: Vladimir Kononov <krya-kryak@users.noreply.github.com>
2021-10-20 10:16:20 +02:00
Julien Pivotto 432005826d
Add a feature flag to enable the new discovery manager (#9537)
* Add a feature flag to enable the new manager

This PR creates a copy of the legacy manager and uses it by default.

It is a companion PR to #9349. With this PR, users can enable the new
discovery manager and provide us with any feedback / side effects that
the new behaviour might have.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-20 10:15:54 +02:00
Julien Pivotto 68bc92b520
uyuni: small fixes for comments (#9538)
* uyuni: small fixes for comments

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-19 23:38:44 +02:00
Julien Pivotto df1bae0514
Add support for security-related HTTP headers (#9546)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-19 21:26:52 +02:00
Julien Pivotto 2a574bf8c2
Uyuni: enable HTTP2 again (#9539)
PR #9398 re-introduced HTTP2 in Prometheus. Uyuni SD can use the client
without disabling it.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-19 21:26:39 +02:00
Olivier Lemasle 8858a276c2
Fix link to React App's README (#9532)
Signed-off-by: Olivier Lemasle <olivier.lemasle@apalia.net>
2021-10-19 12:08:00 -04:00
Julien Pivotto c812ee794e
PromQL: Comment flaky test (#9545)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-19 13:13:56 +02:00
Witek Bedyk cda2dbbef6
Add Uyuni service discovery (#8190)
* Add Uyuni service discovery

Signed-off-by: Witek Bedyk <witold.bedyk@suse.com>

Co-authored-by: Joao Cavalheiro <jcavalheiro@suse.de>
Co-authored-by: Marcelo Chiaradia <mchiaradia@suse.com>
Co-authored-by: Stefano Torresi <stefano@torresi.io>
Co-authored-by: Julien Pivotto <roidelapluie@gmail.com>
2021-10-19 01:00:44 +02:00
Augustin Husson a4ad290987
remove old promql editor (#9452)
* remove old promql editor

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* rename CMExpression by Expression

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2021-10-18 17:22:23 +02:00
Augustin Husson 703d9bcd56
prepare the changelog for a next release of codemirror-promql (#9492)
Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2021-10-18 16:41:32 +02:00
Augustin Husson 08011925a1
update documentation around react-app (#9476)
* update documentation around react-app and how to upgrade the npm dependencies

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* wording around caution to take when updating the deps

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* fixing the npm version to be used and explain where you should perform the npm install command

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* simplify what is required to build prometheus from the source

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* aligned period and removed redondant word installed

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* set nodeJS version to be used at 16

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* describe manuel steps to update a dependency for the react-app

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* rewording of the manuel step to update the dependencies

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2021-10-18 12:47:31 +02:00
jessicagreben 60d0990886 add more explicit label values
Signed-off-by: jessicagreben <jessicagrebens@gmail.com>
2021-10-18 01:04:13 +02:00
jessicagreben 3da87d2f39 add unit test to check label rule labels override
Signed-off-by: jessicagreben <jessicagrebens@gmail.com>
2021-10-18 01:04:13 +02:00
Julien Pivotto f8372bc6b9 backfill: Apply rule labels after query labels
Fix #9419

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-18 01:04:13 +02:00
Julien Pivotto a18224d02d
make aggregations deterministic (#9459)
* Add deterministic test for aggregations

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>

* Make aggregations deterministic

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>

* Increase testing

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-10-17 15:16:38 +05:30
Björn Rabenstein 94a9156cc4
Merge pull request #9518 from prometheus/beorn7/labels
scrape: Avoid creating a label map during conflict resolution
2021-10-16 21:22:08 +02:00
Paweł Szulik 4414351576
web api: Delete unnecessary conversion. (#9517) 2021-10-15 18:41:53 -04:00
beorn7 b8d953a5a0 scrape: Avoid creating a label map during conflict resolution
This also avoids the recursive function call. I think it is quite
readable. And much less code.

Signed-off-by: beorn7 <beorn@grafana.com>
2021-10-15 21:56:48 +02:00