(Legacy) Set up the Environment
Quick Start For Kubernetes Environments
Prometheus users who are already leveraging Kubernetes Service Discovery (specifically the approach in this sample prometheus-kubernetes.yml) may already have Annotations attached to the Pods that mark them as eligible for scraping. Such environments can quickly begin scraping the same metrics using the Sysdig Agent in a couple of easy steps.
Enable the Prometheus metrics feature in the Sysdig Agent. Assuming you are deploying using DaemonSets, the needed config can be added to the Agent’s
dragent.yaml
by including the following in your DaemonSet YAML (placing it in theenv
section for thesysdig-agent
container):- name: ADDITIONAL_CONF value: "prometheus:\n enabled: true"
Ensure the Kubernetes Pods that contain your Prometheus exporters have been deployed with the following Annotations to enable scraping (substituting the listening
exporter-TCP-port)
:
spec: template: metadata: annotations: prometheus.io/scrape: "true" prometheus.io/port: "exporter-TCP-port"
The configuration above assumes your exporters use the typical endpoint called
/metrics
. If an exporter is using a different endpoint, this can also be specified by adding the following additional optional Annotation, substituting theexporter-endpoint-name
:prometheus.io/path: "/exporter-endpoint-name"
If you try this Kubernetes Deployment of a simple exporter, you will quickly see auto-discovered Prometheus metrics being displayed in Sysdig Monitor. You can use this working example as a basis to similarly Annotate your own exporters.
If you have Prometheus exporters not deployed in annotated Kubernetes Pods that you would like to scrape, the following sections describe the full set of options to configure the Agent to find and scrape your metrics.
Quick Start for Container Environments
In order for Prometheus scraping to work in a Docker-based container
environment, set the following labels to the application containers,
substituting <exporter-port
> and <exporter-path
> with
the correct port and path where metrics are exported by your
application:
io.prometheus.scrape=true
io.prometheus.port=<exporter-port>
io.prometheus.path=<exporter-path>
For example, if mysqld-exporter
is to be scraped, spin up the
container as follows:
docker -d -l io.prometheus.scrape=true -l io.prometheus.port=9104 -l io.prometheus.path=/metrics mysqld-exporter
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.