Ein Scraper in Influx ist eine einfache Möglichkeit Performancedaten von einer Prometheus Datenquelle abzurufen. Das Prometheus Datenformat besteht aus verschiedenen Typen von Metriken, die in Plain-Text über http von einem Agenten oder einer Software angeboten werden. Der Scraper ist ein Task, der regelmäßig ausgeführt wird, alle angebotenen Daten abruft und in einen InfluxDB bucket schreibt.
Influx UI
Scraper stehen ab InfluxDB 2.0 zur Verfügung und können einfach über die UI für eine beliebige URL aktiviert werden. Hierbei wird auch immer ein “Default” vorgeschlagen. Dieser zeigt auf die InfluxDB selber, da auch die InfluxDB ihre eigenen Performancedaten in diesem Format anbietet.
Influx CLI
Das Influx command-line interface bietet keine Option an, um einen Scraper zu aktivieren. Aber ein Scraper ist eigentlich auch nur ein Task.
Tasks werden in influxDB in der Sprache Flux geschrieben. Also kann man den Scraper auch einfach selber schreiben.
Hierzu brauchen wir 2 Funktionen:
- prometheus.scrape
- Mit prometheus.scrape werden die Daten von einer gegebenen URL abgerufen.
- to
- Mit der “to” Funktion werden Daten in einen Bucket geschrieben.
Zusammengefasst sieht das dann folgendermaßen aus:
import "experimental/prometheus" prometheus.scrape(url: "https://prometheus.endpoint.example/metrics") |> to( org: "example-org", bucket: "example-bucket" )

0 Comments