Fabian Reinartz
57333d1831
discovery/kubernetes: add missing locking
2016-07-01 17:07:13 +02:00
Fabian Reinartz
44036a08d0
Merge pull request #1725 from nicholascapo/use-consul-service-address
...
discovery: use consul service address if available
2016-06-30 09:30:14 +02:00
Nicholas Capo
84334a8410
discovery: use consul service address if available
2016-06-15 19:27:05 -05:00
Fabian Reinartz
4aeab798e8
Merge pull request #1738 from prometheus/release-0.19
...
Forward-merge 0.19 fixes into master
2016-06-14 18:11:47 +02:00
beorn7
03adbe57e4
discovery/marathon: Fix race conditions in test
...
The concurrency applied before is in most cases not even needed. With
a cap=1 channel, most tests are much cleaner.
TestMarathonSDRunAndStop was trickier. It could even have blocked
before.
This also includes a general refactoring of the whole file.
2016-06-14 13:12:53 +02:00
Björn Rabenstein
2ea3a837c3
Merge pull request #1731 from prometheus/release-0.19
...
Forward-merge 0.19 fixes to master
2016-06-14 09:21:52 +02:00
rohit01
47dd5f74ba
discovery/marathon: #1722 - ignore apps with zero ports
2016-06-14 04:44:00 +05:30
Jimmi Dyson
206bcfcdaa
Kubernetes SD: Remove kubeletPort config option
2016-06-07 12:34:55 +01:00
Jimmi Dyson
d48297c904
Kubernetes SD: Add labels for all node addresses and discover node port if available
2016-06-07 12:34:49 +01:00
Fabian Reinartz
26b1c89469
Merge pull request #1702 from pdbogen/master
...
Initial local pods before using the pod list to initialize pod targets
2016-06-06 15:14:49 +02:00
Patrick Bogen
1e6770cdc5
Initial local pods before using the pod list to initialize pod targets; include more logging in pod target creation
2016-06-02 17:49:21 -07:00
Ali Reza
c81b4e8a87
change config names to files for consistency
2016-05-30 07:47:58 +07:00
Tobias Schmidt
0c6ed9d437
Fix type usage in Kubernetes discovery
...
The event types have been recently changed to be exported types which
wasn't reflected in the new pod discovery.
2016-05-20 11:03:19 -04:00
Fabian Reinartz
dec56838fc
Merge pull request #1449 from pdbogen/master
...
k8s pod discovery
2016-05-20 05:45:09 -07:00
Patrick Bogen
89940eb48d
Write tests to include testing determinancy of various slice orders; ensure that container order is deterministic
2016-05-19 10:57:23 -07:00
Patrick Bogen
b3350d872a
Add one label named for each port name, mapping it to port number; add corresponding tests; prefix port list label with a comma
2016-05-19 10:37:11 -07:00
beorn7
d43c0159aa
Fix style issues in retrieval/...
2016-05-19 17:14:04 +02:00
Patrick Bogen
ae413704e8
kubernetes pod-level discovery
2016-05-18 17:18:52 -07:00
Fabian Reinartz
2ca9ee7b0d
Merge pull request #1612 from prometheus/stn-dns-mv
...
[discovery][dns] move dns to own package
2016-05-06 12:23:59 +02:00
stuart nelson
d959d2b90a
discovery/dns: Maintain argument order consistency
2016-05-06 11:14:26 +02:00
stuart nelson
d02591814b
discovery/dns: move dns to own package
2016-05-06 11:14:26 +02:00
Shawn Smith
d7481f266e
fix typo
2016-05-04 13:42:27 +09:00
Fabian Reinartz
f94fc76608
Merge pull request #1592 from prometheus/fabxc-consul-ref
...
discovery: sanitize Consul service discovery
2016-04-30 21:18:33 +02:00
Fabian Reinartz
76076bfb47
discovery: simplify client initialization
2016-04-30 21:07:49 +02:00
Fabian Reinartz
b5bfb502df
discovery: properly check context on chan send
2016-04-30 11:57:20 +02:00
Fabian Reinartz
9f8feb9ff6
discovery: consolidate Marathon SD files
2016-04-30 11:56:11 +02:00
Fabian Reinartz
086f7caceb
discovery: extract Consul shouldWatch logic
2016-04-30 11:50:19 +02:00
Fabian Reinartz
e805e68c01
discovery: sanitize Consul service discovery
...
This commits simplifies the SD's structure and ensures that all
channel sends are checked against a canceled context.
2016-04-30 11:50:19 +02:00
Fabian Reinartz
5837e6a97f
discovery: move consul SD into own package
2016-04-25 16:56:27 +02:00
Fabian Reinartz
585ab6b163
Merge pull request #1494 from iamseth/master
...
Add discovery capability for Microsoft Azure
2016-04-21 13:49:44 +02:00
Jonathan Boulle
38098f8c95
Add missing license headers
...
Prometheus is Apache 2 licensed, and most source files have the
appropriate copyright license header, but some were missing it without
apparent reason. Correct that by adding it.
2016-04-13 16:08:22 +02:00
Seth Miller
0988e3b937
Add support for Azure discovery
...
This change adds the ability to do target discovery with Microsoft's Azure platform.
2016-04-06 22:47:02 -05:00
Tobias Schmidt
e82ef154ee
Remove unused code leftovers
2016-04-02 20:20:55 -04:00
beorn7
d44b83690e
Fix flaky file-sd test
2016-03-07 15:39:18 +01:00
Fabian Reinartz
d15adfc917
Preserve target state across reloads.
...
This commit moves Scraper handling into a separate scrapePool type.
TargetSets only manage TargetProvider lifecycles and sync the
retrieved updates to the scrapePool.
TargetProviders are now expected to send a full initial target set
within 5 seconds. The scrapePools preserve target state across reloads
and only drop targets after the initial set was synced.
2016-03-01 13:48:36 +01:00
Fabian Reinartz
5b30bdb610
Change TargetProvider interface.
...
This commit changes the TargetProvider interface to use a
context.Context and send lists of TargetGroups, rather than
single ones.
2016-03-01 13:48:36 +01:00
Jimmi Dyson
e59b7c15a3
Kubernetes SD: Fix node IP discovery
2016-03-01 12:24:52 +00:00
Julius Volz
9b6d69610a
Fix various typos in comments.
...
Helpfully reported by
https://goreportcard.com/report/github.com/prometheus/prometheus :)
2016-02-10 03:47:00 +01:00
beorn7
a7408bfb47
Unify duration parsing
...
It's actually happening in several places (and for flags, we use the
standard Go time.Duration...). This at least reduces all our
home-grown parsing to one place (in model).
2016-01-29 15:41:50 +01:00
Jimmi Dyson
9faa7515c6
Kubernetes SD: Refactor to handle missing Kubernetes events
2016-01-19 20:49:58 +00:00
Julien Dehee
061fe2f364
Support AirBnB's Smartstack Nerve client for SD
...
nerve's registration format differs from serverset. With this commit
there is now a dedicated treecache file in util,
and two separate files for serverset and nerve.
Reference:
https://github.com/airbnb/nerve
2016-01-18 14:07:28 +01:00
Brian Brazil
6b7629be27
Merge pull request #1242 from tommyulfsparre/watcher-fix
...
Reduces watches in serverset
2015-12-10 10:43:57 +00:00
Jimmi Dyson
c12fb447b8
Kubernetes SD: Use first TCP service port as target port & clean up
...
example config
Fixes #1256
2015-12-08 10:29:40 +00:00
Tommy Ulfsparre
83e09422bf
skip already watched child nodes.
2015-12-02 21:31:05 +01:00
Fabian Reinartz
29a69eecb8
Do not panic in Consul SD creation
2015-11-30 18:41:48 +01:00
Jimmi Dyson
2cca07381b
KubernetesSD: Create targets for services as well as service endpoints
2015-11-18 14:15:39 +00:00
Fabian Reinartz
9cad147265
Merge pull request #1172 from federicobaldo/ec2_sd_improvements
...
Minor improvements to ec2 service discovery
2015-11-04 13:02:51 +01:00
Federico Baldo
d14d2429ea
Minor improvements to ec2 sd:
...
1. static credentials replaced with defaults.DefaultChainCredentials.
This change ensures that credentials are sourced form all possible
providers available with the aws sdk, in the following order:
env variables, shared awsconfig file in user folder, ec2 instance role.
2. Added a few labels: AvailabilityZone, PublicDns, VpcId (if
available), SubnetId (if in Vpc)
2015-11-02 14:55:24 +01:00
Jimmi Dyson
87940ec213
Kubernetes SD: Rename masters
to api_servers
in config
2015-10-24 14:41:14 +01:00
Jimmi Dyson
7ff5cc66ea
Kubernetes SD authentication options cleanup
2015-10-23 16:47:52 +01:00
Jimmi Dyson
ea9a173008
Kubernetes SD: Use node name as instance label
2015-10-12 21:26:09 +01:00
Julius Volz
d88aea7e6f
Fix SD mechanism source prefix handling.
...
The prefixed target provider changed a pointerized target group that was
reused in the wrapped target provider, causing an ever-increasing chain
of source prefixes in target groups from the Consul target provider.
We now make this bug generally impossible by switching the target group
channel from pointer to value type and thus ensuring that target groups
are copied before being passed on to other parts of the system.
I tried to not let the depointerization leak too far outside of the
channel handling (both upstream and downstream) because I tried that
initially and caused some nasty bugs, which I want to minimize.
Fixes https://github.com/prometheus/prometheus/issues/1083
2015-10-09 14:08:22 +02:00
Julius Volz
dec9fc9c32
Merge pull request #1148 from prometheus/fix-serverset-multiple-paths
...
Fix watching multiple Zookeeper paths in serverset SD.
2015-10-08 19:27:06 +02:00
Matt Jibson
dcb4856d72
Add SD for Amazon EC2 instances
2015-10-06 18:36:17 -04:00
Julius Volz
60cf4015a4
Fix watching multiple Zookeeper paths in serverset SD.
...
Fix https://github.com/prometheus/prometheus/issues/1137
2015-10-06 15:54:54 +02:00
Fabian Reinartz
e3b6ec9784
Switch to common/log
2015-10-03 10:21:43 +02:00
Jimmi Dyson
0d61605526
Kubernetes SD example: separate out cluster level components & services
2015-09-29 11:22:18 +01:00
Fabian Reinartz
1ce89a4a0b
Fix nil panic on consul error
2015-09-22 09:04:31 +02:00
Julius Volz
af513468eb
Fix some dead code, missing error checks, shadowings.
...
I applied
https://medium.com/@jgautheron/quality-pipeline-for-go-projects-497e34d6567
and was greeted with a deluge of warnings, most of which were not
applicable or really fixable realistically. These are some of the first
ones I decided to fix.
2015-09-14 12:21:34 +02:00
Jimmi Dyson
7ef9399920
Clean up kubernetes http response bodies
2015-09-11 11:44:28 +01:00
Jimmi Dyson
a1574aa2b3
Move TLS options to scrape config
...
Fixes #1013 , fixes #989
2015-09-09 09:52:21 +01:00
Jimmi Dyson
d7a7fd4589
Kubernetes SD improvements
...
* Support multiple masters with retries against each master as required.
* Scrape masters' metrics.
* Add role meta label for node/service/master to make it easier for relabeling.
2015-09-04 11:31:20 +01:00
Fabian Reinartz
542da6774e
Fix draining of file watcher events
2015-08-28 12:17:22 +02:00
Daniel Lundin
4abf54b747
serverset: extract shard number from serverset data
2015-08-27 16:26:00 +02:00
Julius Volz
29eaa8c7cf
Merge pull request #1030 from prometheus/fix-flakey-filesd
...
Fix flakey FileSD test.
2015-08-26 13:25:00 +02:00
Julius Volz
3fd5826589
Fix flakey FileSD test.
...
When the test ends, all files matching the watcher's glob are removed
via defer. In that moment, the draining goroutine may still be running
and then detect no files matching the configured glob just before the
test exits.
This is now solved by waiting for the draining goroutine to finish
before leaving the test function and thus causing the deferred file
removal.
2015-08-26 13:06:34 +02:00
Julius Volz
744d5d5a7a
Merge pull request #1029 from prometheus/vet-fixes
...
Fix "go vet" errors.
2015-08-26 12:50:18 +02:00
Julius Volz
995d3b831d
Fix most golint warnings.
...
This is with `golint -min_confidence=0.5`.
I left several lint warnings untouched because they were either
incorrect or I felt it was better not to change them at the moment.
2015-08-26 12:44:46 +02:00
Julius Volz
963ad82dcb
Fix "go vet" errors.
...
I ignored all errors of the type "composite literal uses unkeyed
fields". Most of them are wrong because of
https://github.com/golang/go/issues/9171 .
2015-08-26 02:05:04 +02:00
Fabian Reinartz
438e232c9b
Fix grouping of import blocks
2015-08-22 09:42:45 +02:00
Fabian Reinartz
306e8468a0
Switch from client_golang/model to common/model
2015-08-21 13:33:38 +02:00
Sharif Nassar
6cb519fe82
Add Consul ServiceID to the discovery meta labels.
2015-08-20 14:04:42 -07:00
Fabian Reinartz
0f5022c091
Add missing Kubernetes doc strings
2015-08-18 14:37:28 +02:00
Julius Volz
b4adf2723d
Merge pull request #994 from robbiet480/consul-datacenter-name
...
Pass through current agent Consul datacenter name
2015-08-18 01:09:24 +02:00
Robbie Trencheny
48e461f7db
Pass through current agent Consul datacenter name
...
Instead of only filling __meta_consul_dc when datacenter is set in
consul_sd_config this change fills the label based on what the agent
reports it's current data center is, if datacenter isn't manually set,
otherwise it uses whatever datacenter was set to.
2015-08-17 16:00:26 -07:00
Fabian Reinartz
d0a90964c1
Fix license header
2015-08-17 19:51:12 +02:00
Fabian Reinartz
eabbdc6603
Add missing license headers
2015-08-17 19:49:10 +02:00
Julius Volz
47a96bff1a
Update constant names in comments.
2015-08-17 15:05:06 +02:00
Fabian Reinartz
3c6dd161d7
Scrape all services on empty services list.
2015-08-14 17:39:41 +02:00
Fabian Reinartz
9b9ff66212
Merge pull request #977 from prometheus/fabxc/target-dedup
...
Improve target discovery pipeline
2015-08-14 16:38:16 +02:00
Fabian Reinartz
8fa9ec278b
Add application labels as meta labels
...
Removes built-in conditional scraping based on application's
'prometheus' label.
2015-08-14 15:34:02 +02:00
Fabian Reinartz
f269943950
Adjust Kubernetes SD to pipeline changes
2015-08-14 13:30:27 +02:00
Fabian Reinartz
4e84b86510
Improve target discovery pipeline
...
Replace the TargetProvider Stop method with done channels
that ensure properly broadcasted shutdown of the whole pipeline.
2015-08-14 13:30:27 +02:00
Fabian Reinartz
f7e3722388
Rename __meta_dns_srv_name to __meta_dns_name
...
This is change potentially breaking relabeling rules.
2015-08-13 17:02:56 +02:00
Jimmi Dyson
923f8111d4
Initial Kubernetes discovery
...
Fixes #904
2015-08-13 10:38:52 +01:00
Fabian Reinartz
0138d37458
Improve unique target group sources.
...
Include position of same SD mechanisms within the same scrape configuration.
Move unique prefixing out of SD implementations and target manager into
its own interface.
2015-08-10 11:29:09 +02:00
Fabian Reinartz
54202bc5a8
Merge pull request #902 from xperimental/feature/marathon-discovery
...
retrieval/discovery: Service discovery using marathon API
2015-08-10 01:43:37 +02:00
Robert Jacob
4d0f974c42
Add service discovery using Marathon API.
2015-08-10 01:36:24 +02:00
Florian Pfitzer
1fa0b0f253
fix consul port label
2015-07-31 16:20:17 +00:00
Johannes 'fish' Ziemke
6e7d743cd4
Merge pull request #946 from prometheus/add-sd-dns-a
...
Add support for A record based DNS SD
2015-07-30 16:01:47 +02:00
Johannes 'fish' Ziemke
9ab340e95e
Add support for A record based DNS SD
...
If using A records, the user needs to specify "port" and set "type" to
"A".
2015-07-30 15:55:38 +02:00
beorn7
645f6772e5
Add Consul Address, ServicePort, and ServiceAddress to the meta labels.
...
In setups where the ServiceAddress is the relevant address for
scraping, users can relabel the `__address__` label to ServiceAddress
+ ":" + ServicePort.
This needs to be documented, of course. Will do once this is LGTM'd.
2015-07-22 18:19:13 +02:00
Julius Volz
9d98910fca
Revert "Use Consul ServiceAddress instead of Address when set"
...
This reverts commit 0ac7e7217e
.
See discussion on https://github.com/prometheus/prometheus/pull/812 for
reasoning. While fixing one use case, it breaks others, and we need a
more generic way of handling this.
2015-07-22 13:04:29 +02:00
Brian Brazil
3d268d681e
retrieval: Handle serverset node not existing.
...
This stops configuration loading hanging if
the Znode doesn't exist, and retries until the
node does exist.
2015-07-01 13:56:31 +01:00
Fabian Reinartz
23862c92c4
retrieval/discovery: refresh services in Consul to recover from missing events.
2015-06-24 17:48:27 +02:00
Fabian Reinartz
459d18cf18
Merge pull request #812 from Marmelatze/consul_services
...
Use Consul ServiceAddress instead of Address when set
2015-06-17 20:10:52 +02:00
Florian Pfitzer
0ac7e7217e
Use Consul ServiceAddress instead of Address when set
2015-06-17 15:39:42 +02:00
Brian Brazil
4d895242f9
Add support for Zookeeper Serversets for SD.
...
It can discover an entire tree of serversets, or just one.
2015-06-16 11:02:08 +01:00
Fabian Reinartz
8214b4ee78
retrieval/discovery: surround __meta_consul_tags value with tag seperators.
2015-06-05 19:18:34 +02:00
Fabian Reinartz
e9b344abee
Fix discarding of labels in file target groups
2015-05-27 18:52:44 +02:00