prometheus/documentation/examples/custom-sd
Benoit Gagnon 6d931a2195 Fix Windows support for custom-sd adapter (#6217)
* add test to custom-sd/adapter writeOutput() function

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>

* fix Adapter.writeOutput() function to work on Windows

On that platform, files cannot be moved while a process holds a handle
to them. Added an explicit Close() before that move. With this change,
the unit test succeeds.

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>

* add missing dot to comment

Signed-off-by: Benoit Gagnon <benoit.gagnon@ubisoft.com>
2019-10-29 10:41:31 +01:00
..
adapter Fix Windows support for custom-sd adapter (#6217) 2019-10-29 10:41:31 +01:00
adapter-usage Exhaust every request body before closing it (#5166) (#5479) 2019-04-18 09:50:37 +01:00
README.md Fix typo (#4760) 2018-10-18 21:19:21 +01:00

Custom SD

Custom SD is available via the file_sd adapter, which can be used to access SD mechanisms that are not included in official Prometheus releases. The sd adapter outputs a file that can be passed via your prometheus.yml as a file_sd file. This will allow you to pass your targets to Prometheus for scraping without having to use a static config.

Example

This directory (documentation/examples/custom-sd) contains an example custom service discovery implementation as well as a file_sd adapter usage. adapter-usage contains the Discoverer implementation for a basic Consul service discovery mechanism. It simply queries Consul for all it's known services (except Consul itself), and sends them along with all the other service data as labels as a TargetGroup. The adapter directory contains the adapter code you will want to import and pass your Discoverer implementation to.

Usage

To use file_sd adapter you must implement a Discoverer. In adapter-usage/main.go replace the example SD config and create an instance of your SD implementation to pass to the Adapter's NewAdapter. See the Note: comments for the structs and Run function.