Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scraping should not be effected when reloading Prometheus without change any config #4214

Closed
codwu opened this Issue Jun 5, 2018 · 14 comments

Comments

Projects
None yet
4 participants
@codwu
Copy link

codwu commented Jun 5, 2018

Bug Report

What did you do?

reload Prometheus without change any config

curl -X POST http://localhost:9090/-/reload

What did you expect to see?
there is no effect on target scraping

What did you see instead? Under which circumstances?
scrape interval become longer than I configured
default

Environment

  • System information:
Linux 3.10.0-229.el7.x86_64 x86_64
  • Prometheus version:
prometheus, version 2.2.1 (branch: HEAD, revision: bc6058c81272a8d938c05e75607371284236aadc)
  build user:       root@149e5b3f0829
  build date:       20180314-14:15:45
  go version:       go1.10
  • Prometheus configuration file:

global:
  scrape_interval:     30s 
  evaluation_interval: 30s

alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

rule_files:

scrape_configs:
  - job_name: 'prometheus1'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'prometheus2'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'prometheus3'
    static_configs:
      - targets: ['localhost:9090']

  • Alertmanager configuration file:
insert configuration here (if relevant to the issue)
  • Logs:
level=info ts=2018-06-05T01:10:15.681143246Z caller=main.go:220 msg="Starting Prometheus" version="(version=2.2.1, branch=HEAD, revision=bc6058c81272a8d938c05e75607371284236aadc)"
level=info ts=2018-06-05T01:10:15.681218089Z caller=main.go:221 build_context="(go=go1.10, user=root@149e5b3f0829, date=20180314-14:15:45)"
level=info ts=2018-06-05T01:10:15.681243105Z caller=main.go:222 host_details="(Linux 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 centos7b (none))"
level=info ts=2018-06-05T01:10:15.681261809Z caller=main.go:223 fd_limits="(soft=1024, hard=4096)"
level=info ts=2018-06-05T01:10:15.683833415Z caller=main.go:504 msg="Starting TSDB ..."
level=info ts=2018-06-05T01:10:15.684348421Z caller=web.go:382 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2018-06-05T01:10:15.688001338Z caller=main.go:514 msg="TSDB started"
level=info ts=2018-06-05T01:10:15.688036386Z caller=main.go:588 msg="Loading configuration file" filename=prometheus.yml
level=info ts=2018-06-05T01:10:15.689628626Z caller=main.go:491 msg="Server is ready to receive web requests."
level=info ts=2018-06-05T01:13:01.657278126Z caller=main.go:588 msg="Loading configuration file" filename=prometheus.yml
level=info ts=2018-06-05T01:13:34.633327981Z caller=main.go:588 msg="Loading configuration file" filename=prometheus.yml
level=info ts=2018-06-05T01:14:02.592713121Z caller=main.go:588 msg="Loading configuration file" filename=prometheus.yml
level=info ts=2018-06-05T01:14:23.356799561Z caller=main.go:588 msg="Loading configuration file" filename=prometheus.yml

@codwu

This comment has been minimized.

Copy link
Author

codwu commented Jun 5, 2018

scrape interval become correct after this scraping

@codwu

This comment has been minimized.

Copy link
Author

codwu commented Jun 5, 2018

this is probably where the bug is

// Cleanup and reload pool if config has changed.
for name, sp := range m.scrapePools {
if cfg, ok := m.scrapeConfigs[name]; !ok {
sp.stop()
delete(m.scrapePools, name)
} else if !reflect.DeepEqual(sp.config, cfg) {
sp.reload(cfg)
}

reflect.DeepEqual returned false but it should be true

@krasi-georgiev

This comment has been minimized.

Copy link
Member

krasi-georgiev commented Jun 5, 2018

are you 100% there were no config changes?

@codwu

This comment has been minimized.

Copy link
Author

codwu commented Jun 6, 2018

I am pretty sure nobody changes the config.

@krasi-georgiev

This comment has been minimized.

Copy link
Member

krasi-georgiev commented Jun 6, 2018

that is unexpected
can you paste the output if you add.
this will output all fields with their types so I can see why does it detect to be different.

please remove any sensitive information before pasting.

else if !reflect.DeepEqual(sp.config, cfg) { 
               fmt.Printf("%+v \n",sp.config)
               fmt.Printf("%+v \n",cfg)
 		sp.reload(cfg) 
 	} 
@codwu

This comment has been minimized.

Copy link
Author

codwu commented Jun 6, 2018

the output is below

level=info ts=2018-06-06T14:38:25.081519725Z caller=main.go:588 msg="Loading configuration file" filename=prometheus.yml
&{JobName:prometheus2 HonorLabels:false Params:map[] ScrapeInterval:30s ScrapeTimeout:10s MetricsPath:/metrics Scheme:http SampleLimit:0 ServiceDiscoveryConfig:{StaticConfigs:[0] DNSSDConfigs:[] FileSDConfigs:[] ConsulSDConfigs:[] ServersetSDConfigs:[] NerveSDConfigs:[] MarathonSDConfigs:[] KubernetesSDConfigs:[] GCESDConfigs:[] EC2SDConfigs:[] OpenstackSDConfigs:[] AzureSDConfigs:[] TritonSDConfigs:[] XXX:map[]} HTTPClientConfig:{}
 RelabelConfigs:[] MetricRelabelConfigs:[] XXX:map[]} 
&{JobName:prometheus2 HonorLabels:false Params:map[] ScrapeInterval:30s ScrapeTimeout:10s MetricsPath:/metrics Scheme:http SampleLimit:0 ServiceDiscoveryConfig:{StaticConfigs:[] DNSSDConfigs:[] FileSDConfigs:[] ConsulSDConfigs:[] ServersetSDConfigs:[] NerveSDConfigs:[] MarathonSDConfigs:[] KubernetesSDConfigs:[] GCESDConfigs:[] EC2SDConfigs:[] OpenstackSDConfigs:[] AzureSDConfigs:[] TritonSDConfigs:[] XXX:map[]} HTTPClientConfig:{}
 RelabelConfigs:[] MetricRelabelConfigs:[] XXX:map[]} 
&{JobName:prometheus3 HonorLabels:false Params:map[] ScrapeInterval:30s ScrapeTimeout:10s MetricsPath:/metrics Scheme:http SampleLimit:0 ServiceDiscoveryConfig:{StaticConfigs:[0] DNSSDConfigs:[] FileSDConfigs:[] ConsulSDConfigs:[] ServersetSDConfigs:[] NerveSDConfigs:[] MarathonSDConfigs:[] KubernetesSDConfigs:[] GCESDConfigs:[] EC2SDConfigs:[] OpenstackSDConfigs:[] AzureSDConfigs:[] TritonSDConfigs:[] XXX:map[]} HTTPClientConfig:{}
 RelabelConfigs:[] MetricRelabelConfigs:[] XXX:map[]} 
&{JobName:prometheus3 HonorLabels:false Params:map[] ScrapeInterval:30s ScrapeTimeout:10s MetricsPath:/metrics Scheme:http SampleLimit:0 ServiceDiscoveryConfig:{StaticConfigs:[] DNSSDConfigs:[] FileSDConfigs:[] ConsulSDConfigs:[] ServersetSDConfigs:[] NerveSDConfigs:[] MarathonSDConfigs:[] KubernetesSDConfigs:[] GCESDConfigs:[] EC2SDConfigs:[] OpenstackSDConfigs:[] AzureSDConfigs:[] TritonSDConfigs:[] XXX:map[]} HTTPClientConfig:{}
 RelabelConfigs:[] MetricRelabelConfigs:[] XXX:map[]} 
&{JobName:prometheus1 HonorLabels:false Params:map[] ScrapeInterval:30s ScrapeTimeout:10s MetricsPath:/metrics Scheme:http SampleLimit:0 ServiceDiscoveryConfig:{StaticConfigs:[0] DNSSDConfigs:[] FileSDConfigs:[] ConsulSDConfigs:[] ServersetSDConfigs:[] NerveSDConfigs:[] MarathonSDConfigs:[] KubernetesSDConfigs:[] GCESDConfigs:[] EC2SDConfigs:[] OpenstackSDConfigs:[] AzureSDConfigs:[] TritonSDConfigs:[] XXX:map[]} HTTPClientConfig:{}
 RelabelConfigs:[] MetricRelabelConfigs:[] XXX:map[]} 
&{JobName:prometheus1 HonorLabels:false Params:map[] ScrapeInterval:30s ScrapeTimeout:10s MetricsPath:/metrics Scheme:http SampleLimit:0 ServiceDiscoveryConfig:{StaticConfigs:[] DNSSDConfigs:[] FileSDConfigs:[] ConsulSDConfigs:[] ServersetSDConfigs:[] NerveSDConfigs:[] MarathonSDConfigs:[] KubernetesSDConfigs:[] GCESDConfigs:[] EC2SDConfigs:[] OpenstackSDConfigs:[] AzureSDConfigs:[] TritonSDConfigs:[] XXX:map[]} HTTPClientConfig:{}
 RelabelConfigs:[] MetricRelabelConfigs:[] XXX:map[]}
@krasi-georgiev

This comment has been minimized.

Copy link
Member

krasi-georgiev commented Jun 6, 2018

nice , thanks , I already see the difference in StaticConfigs:[0].

@simonpasquier , @pgier do you want to take this one? Otherwise I can have a look tomorrow.

@pgier

This comment has been minimized.

Copy link
Contributor

pgier commented Jun 7, 2018

@krasi-georgiev yeah, I can take a look if you are not already working on it

@pgier

This comment has been minimized.

Copy link
Contributor

pgier commented Jun 7, 2018

This appears to be the culprit. The array index of the target is set on the source field after the config has been loaded.

func NewStaticProvider(groups []*targetgroup.Group) *StaticProvider {
for i, tg := range groups {
tg.Source = fmt.Sprintf("%d", i)
}
return &StaticProvider{groups}

@krasi-georgiev

This comment has been minimized.

Copy link
Member

krasi-georgiev commented Jun 7, 2018

Thanks @pgier. Do you want to open a PR and I will test it. Should add a test to catch this.

@pgier

This comment has been minimized.

Copy link
Contributor

pgier commented Jun 8, 2018

Created #4245 with a fix. There are some tests already around config reloading, but I'll see if I can make a test for this specific case next week.

@krasi-georgiev

This comment has been minimized.

Copy link
Member

krasi-georgiev commented Jun 9, 2018

thanks , ping when ready for review.

@pgier

This comment has been minimized.

Copy link
Contributor

pgier commented Jun 12, 2018

I added a test, although its kind of very specific to this case. Feel free to review.

pgier added a commit to pgier/prometheus that referenced this issue Jun 12, 2018

config: set target group source index during unmarshalling
Fixes issue prometheus#4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

pgier added a commit to pgier/prometheus that referenced this issue Jun 12, 2018

[issue prometheus#4214] Test that static targets are not modified by …
…discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

brian-brazil added a commit that referenced this issue Jun 13, 2018

config: set target group source index during unmarshalling (#4245)
* config: set target group source index during unmarshalling

Fixes issue #4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue #4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

brian-brazil added a commit that referenced this issue Jun 19, 2018

config: set target group source index during unmarshalling (#4245)
* config: set target group source index during unmarshalling

Fixes issue #4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue #4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

mknapphrt added a commit to mknapphrt/prometheus that referenced this issue Jul 26, 2018

Return whatever data is available when there is a failed remote read
Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>

Bubble up errors to promql from populating iterators (prometheus#4136)

This changes the Walk/Inspect API inside the promql package to bubble
up errors. This is done by having the inspector return an error (instead
of a bool) and then bubbling that up in the Walk. This way if any error
is encountered in the Walk() the walk will stop and return the error.
This avoids issues where errors from the Querier where being ignored
(causing incorrect promql evaluation).

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4136

*: cut v2.3.0

Signed-off-by: Fabian Reinartz <freinartz@google.com>

Update changelog

Signed-off-by: Fabian Reinartz <freinartz@google.com>

limit size of POST requests against remote read endpoint (prometheus#4239)

This commit fixes a denial-of-service issue of the remote
read endpoint. It limits the size of the POST request body
to 32 MB such that clients cannot write arbitrary amounts
of data to the server memory.

Fixes prometheus#4238

Signed-off-by: Andreas Auernhammer <aead@mail.de>

Update example console template for node exporter 0.16.0 (prometheus#4208)

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Makefile: update .PHONY target (prometheus#4234)

Makefile: update .PHONY target

* Move .PHONY declarations near their targets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Add prompb/README (prometheus#4222)

Signed-off-by: Henri DF <henridf@gmail.com>

discovery/file: fix logging (prometheus#4178)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

web: remove security headers

Signed-off-by: Fabian Reinartz <freinartz@google.com>

config: set target group source index during unmarshalling (prometheus#4245)

* config: set target group source index during unmarshalling

Fixes issue prometheus#4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue prometheus#4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

Log the line when failing a PromQL test. (prometheus#4272)

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

web: restore old path prefix behavior

Signed-off-by: Fabian Reinartz <freinartz@google.com>

kubernetes_sd: fix namespace filtering (prometheus#4273)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

fix minor issues in custom SD example (prometheus#4278)

Signed-off-by: Callum Styan <callumstyan@gmail.com>

federation: nil pointer deference when using remove read

```
level=error ts=2018-06-13T07:19:04.515149169Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56202: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.516199547Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56204: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.51717692Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56206: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.564952878Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56208: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.566575791Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56210: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.567106063Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56212: runtime error: invalid memory address or nil pointer dereference"
```

When remove read is enabled, federation will call `q.Select(nil, mset...)`
which will break remote reads because it currently doesn't handle empty
SelectParams.

Signed-off-by: Corentin Chary <c.chary@criteo.com>

Extend API tests to cover remote read API.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

spelling.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

web: restore old path prefix behavior

Signed-off-by: Fabian Reinartz <freinartz@google.com>

kubernetes_sd: fix namespace filtering (prometheus#4273)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Avoid infinite loop on duplicate NaN values. (prometheus#4275)

Fixes prometheus#4254

NaNs don't equal themselves, so a duplicate NaN would
always hit the break statement and never get popped.

We should not be returning multiple data point for the same
timestamp, so don't compare values at all.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

config: set target group source index during unmarshalling (prometheus#4245)

* config: set target group source index during unmarshalling

Fixes issue prometheus#4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue prometheus#4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

discovery/file: fix logging (prometheus#4178)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

federation: nil pointer deference when using remove read

```
level=error ts=2018-06-13T07:19:04.515149169Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56202: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.516199547Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56204: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.51717692Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56206: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.564952878Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56208: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.566575791Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56210: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.567106063Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56212: runtime error: invalid memory address or nil pointer dereference"
```

When remove read is enabled, federation will call `q.Select(nil, mset...)`
which will break remote reads because it currently doesn't handle empty
SelectParams.

Signed-off-by: Corentin Chary <c.chary@criteo.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

spelling.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Release 2.3.1

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Timeout if populating iterators takes too long (prometheus#4291)

Right now promql won't time out a request if populating the iterators
takes a long time.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4289

return error exit status in prometheus cli (prometheus#4296)

Signed-off-by: mikeykhalil <mikeyfkhalil@gmail.com>

Check for timeout in each iteration of matrixSelector (prometheus#4300)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4288

Make TestUpdate() do some work (prometheus#4306)

Previously it would set no preconditions and check no postconditions,
as the `groups` member was empty.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

Add "omitempty" to some SD config YAML field tags (prometheus#4338)

Especially for Kubernetes SD, this fixes a bug where the rendered
configuration says "api_server: null", which when read back is not
interpreted as an un-set API server (thus the default is not applied).

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

travis: remove testing with go 1.x

Travis and CircleCI should use the same Go version(s).

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Reduce CircleCI duplication (prometheus#4335)

Reduce the duplication of per-project specifics in the CircleCI config.
* Add docker repo variable, default to docker hub.
* Add make targets for docker push and tag latest.

Signed-off-by: Ben Kochie <superq@gmail.com>

fix the TestManagerReloadNoChange test (prometheus#4267)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

Reorder startup and shutdown to prevent panics. (prometheus#4321)

Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes prometheus#4133
Fixes prometheus#4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

discovery/kubernetes/ingress: add more tests

Signed-off-by: Dmitry Bashkatov <dbashkatov@gmail.com>

discovery/kubernetes/ingress: fix scheme discovery (Closes prometheus#4327)

Signed-off-by: Dmitry Bashkatov <dbashkatov@gmail.com>

discovery/kubernetes/ingress: remove unnecessary check

Signed-off-by: Dmitry Bashkatov <dbashkatov@gmail.com>

Fix markup in example. (prometheus#4351)

Signed-off-by: Marcin Owsiany <marcin@owsiany.pl>

fix the zookeper race (prometheus#4355)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

docs: added undocumented step api parameter format (prometheus#4360)

Update vendoring for tsdb (prometheus#4369)

This pulls in tsdb PRs 330 344 348 353 354 356

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

k8s SD: Fix "schema" -> "scheme" typo (prometheus#4371)

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

Fix missing 'msg' in remote storage adapter main.go .Log info message (prometheus#4377)

Signed-off-by: Peter Gallerani <peter.gallerani@gmail.com>

Don't forget to register query_duration_seconds{slice="queue_time"} (prometheus#4381)

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

docs: fix OpenStack SD for the hypervisor role

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

discovery/openstack: remove unneeded assignment

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Bubble up errors to promql from populating iterators (prometheus#4136)

This changes the Walk/Inspect API inside the promql package to bubble
up errors. This is done by having the inspector return an error (instead
of a bool) and then bubbling that up in the Walk. This way if any error
is encountered in the Walk() the walk will stop and return the error.
This avoids issues where errors from the Querier where being ignored
(causing incorrect promql evaluation).

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4136

Timeout if populating iterators takes too long (prometheus#4291)

Right now promql won't time out a request if populating the iterators
takes a long time.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4289

Check for timeout in each iteration of matrixSelector (prometheus#4300)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4288

fix the zookeper race (prometheus#4355)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

return error exit status in prometheus cli (prometheus#4296)

Signed-off-by: mikeykhalil <mikeyfkhalil@gmail.com>

Reorder startup and shutdown to prevent panics. (prometheus#4321)

Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes prometheus#4133
Fixes prometheus#4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Update vendoring for tsdb (prometheus#4369)

This pulls in tsdb PRs 330 344 348 353 354 356

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Release 2.3.2

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

rules: Minor naming/comment cleanups (prometheus#4328)

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

Optimize PromQL aggregations (prometheus#4248)

* Compute hash of label subsets without creating a LabelSet first.

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

Add offset to selectParams (prometheus#4226)

* Add Start/End to SelectParams
* Make remote read use the new selectParams for start/end

This commit will continue sending the start/end time of the remote read
query as the overarching promql time and the specific range of data that
the query is intersted in receiving a response to is now part of the
ReadHints (upstream discussion in prometheus#4226).

* Remove unused vendored code

The genproto.sh script was updated, but the code wasn't regenerated.
This simply removes the vendored deps that are no longer part of the
codegen output.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Forbid rule-abiding robots from indexing. (prometheus#4266)

* Resolves github issue prometheus#4257

Signed-off-by: Martin Lee <martin@billforward.net>

Discovery consul service meta (prometheus#4280)

* Upgrade Consul client
* Add ServiceMeta to the labels in ConsulSD

Signed-off-by: Romain Baugue <romain.baugue@elwinar.com>

Fix some (valid) lint errors (prometheus#4287)

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

Update vendoring of Prometheus Go client (prometheus#4283)

This is to pickup changes from
prometheus/client_golang#414. It leads to
better error output in promtool.

Signed-off-by: Sneha Inguva <singuva@digitalocean.com>

Simplify BufferedSeriesIterator usage (prometheus#4294)

* Allow for BufferedSeriesIterator instances to be created without an underlying iterator, to simplify their usage.

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

Saner defaults and metrics for remote-write (prometheus#4279)

* Rename queueCapacity to shardCapacity
* Saner defaults for remote write
* Reduce allocs on retries

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>

Update autorest vedoring (prometheus#4147)

Signed-off-by: bege13mot <bege13mot@gmail.com>

Update aws-sdk-go (prometheus#4153)

Signed-off-by: bege13mot <bege13mot@gmail.com>

add unused pointslices to the pool (prometheus#4363)

Signed-off-by: Tony Lee <tl@hudson-trading.com>

Add 3 commands in `promtool` for getting debug information from prometheus server (prometheus#4247)

`debug all` - all information
`debug metrics` - metrics  information
`debug pprof` - profiling  information

the final result is compressed in a `tar.gz` file

Signed-off-by: chyeh <chyeh.taiwan@gmail.com>

main: Improve / clean up error messages (prometheus#4286)

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

Document internal Prometheus server architecture (prometheus#4295)

* Document internal Prometheus server architecture

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

* Review fixups

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

promtool: add command for querying series (prometheus#4308)

Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>

Add missing import to promtool, fix build (prometheus#4395)

Sorry, I used GitHub's web-based merge-conflict-resolution editor on
prometheus#4308 and it didn't show me
test errors afterwards, but maybe they didn't run again or I should have
waited or something.

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

EC2 Discovery: Allow to set a custom endpoint (prometheus#4333)

Allowing to set a custom endpoint makes it easy to monitor targets on non AWS providers with EC2 compliant APIs.

Signed-off-by: Jannick Fahlbusch <git@jf-projects.de>

Reuse (copy) overlapping matrix samples between range evaluation steps (prometheus#4315)

* Reuse (copy) overlapping matrix samples between range evaluation steps.

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

Expose Group.CopyState() (prometheus#4304)

This makes the `rules` package more useful to projects that use
Prometheus as a library.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

add query labels command to promtool (prometheus#4346)

Signed-off-by: Daisy T <daisyts@gmx.com>

web: add named anchors for each rule group (prometheus#4130)

* web: add named anchors for each rule group

Signed-off-by: Adam Shannon <adamkshannon@gmail.com>

Update internal architecture diagram (prometheus#4398)

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

Only add LookbackDelta to vector selectors (prometheus#4399)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Related to prometheus#4226

add prefix "common-" to make target names

This allows rules to be overridden with warnings about conflicting
target names.

Signed-off-by: Paul Gier <pgier@redhat.com>

expose log.level for promlog for remote_storage_adapter (prometheus#4195)

* expose log.level for promlog for remote_storage_adapter

Signed-off-by: sipian <cs15btech11019@iith.ac.in>

* replace flag description

Signed-off-by: Harsh Agarwal <cs15btech11019@iith.ac.in>

go-bindata debug clarification (prometheus#4411)

Signed-off-by: Stafford Williams <stafford.williams@gmail.com>

discovery/ec2: Maintain order of subnet_id label

Signed-off-by: José Martínez <xosemp@gmail.com>

discovery/ec2: Add primary_subnet_id label

Signed-off-by: José Martínez <xosemp@gmail.com>

Don't import testing in code which is imported from non-test code. (prometheus#4400)

It polutes the flags.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Log errors encountered when marshalling and writing responses.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Update method name in rules template, fix rendering (prometheus#4416)

Fixes prometheus#4407

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

Fix typo (prometheus#4423)

Signed-off-by: Henri DF <henridf@gmail.com>

Send "Accept-Encoding" header in read request (prometheus#4421)

We should be doing this since we only accept Snappy-encoded responses.

Signed-off-by: Henri DF <henridf@gmail.com>

Handle a remote read error and return other results, add remote error as extra field in api response.

Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>

Removed some code from other project

Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>

gouthamve added a commit to gouthamve/prometheus that referenced this issue Aug 1, 2018

config: set target group source index during unmarshalling (prometheu…
…s#4245)

* config: set target group source index during unmarshalling

Fixes issue prometheus#4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue prometheus#4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>
@lock

This comment has been minimized.

Copy link

lock bot commented Mar 22, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Mar 22, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.