YAML-Datei - Abschnitt Metrikdaten

Die von diesem Client verwendete YAML-Datei ist in mehrere Abschnitte unterteilt, die jeweils einen bestimmten Zweck erfüllen:

Tabelle 1. YAML-Dateistruktur
globalVariables Definiert globale Variablen, die in der gesamten YAML-Datei verwendet werden können.
defaultLabels Legt Standardbeschriftungen fest, die auf alle Metriken angewendet werden.
metricObjects Definiert die Metriken, die an Prometheus übermittelt werden sollen, einschließlich ihrer Typen und spezifischen Bezeichnungen.
metricData Gibt die zu erfassenden Datenpunkte zusammen mit den anzuwendenden Verarbeitungsfunktionen an.

Übersicht

Der Abschnitt `metricData` in der YAML-Konfigurationsdatei legt fest, wie die Daten der einzelnen Metriken abgerufen und verarbeitet werden..

Konfiguration

Definieren Sie unter `metricData`. Für jeden Eintrag im Abschnitt `metricData` der YAML-Konfiguration des Prometheus-Clients sind typischerweise die folgenden Parameter erforderlich:

  • objectType: Der Name des metrischen Objekts.
  • value: Die Art und Weise, wie der Wert der Metrik mit YAML-Befehlen wie `!dpGet` oder `!dpQuery` abgerufen wird. Konstante Werte werden nicht unterstützt.
  • labels: Optionale zusätzliche Bezeichnungen für die Metrik.
  • function: Definiert die Operation, die auf die Metrik angewendet werden soll (z.B. `set`, `inc`, `dec`, `observe`).

Zweck

Dynamisches Abrufen und Verarbeiten von Daten für jede Metrik.

Beispiel

```yaml
metricData:
  - objectType: SystemLoad
    value: !dpGet
      dpId: "System.Load:_online.._value"
    labels:
      server: "Server1"
    function: set
  - objectType: DatabaseHealth
    value: !dpQuery
      select: "SELECT '_online.._value' FROM 'DB_Health'"
    labels:
      db: "DB1"
    

In diesem Beispiel werden `SystemLoad` und `DatabaseHealth` mit spezifischen Datenabrufmethoden und Kennzeichnungskonfigurationen definiert. Auf diese Weise lässt sich genau steuern, wie die Daten der einzelnen Metriken abgerufen und gekennzeichnet werden.

Der Parameter `Funktion` in `metricData` legt fest, wie neue Daten für jedes metrische Objekt verarbeitet und gespeichert werden. Er gibt die Operation an, die bei der Aktualisierung des Wertes der Metrik angewendet werden soll. Zum Beispiel:

  • `set`: Setzt die Metrik auf einen bestimmten Wert, z. B. `gauge.set(10)`.
  • `inc`: Erhöht die Metrik, entweder um 1 (`gauge.inc()`) oder um einen bestimmten Betrag (`gauge.inc(10)`).
  • `dec`: Verringert die Metrik, ähnlich wie `inc`, aber transformiert den Wert.
  • `observe`: Wird in Histogrammen und Zusammenfassungen verwendet, um eine neue Beobachtung aufzuzeichnen, z. B. `histogram.observe(10)` oder `summary.observe(10)`.

Diese Funktionen ermöglichen eine genaue Kontrolle darüber, wie die metrischen Werte als Reaktion auf neue Daten aktualisiert werden. Ausführlichere Informationen und konkrete Beispiele für die Verwendung dieser Funktionen mit verschiedenen metrischen Typen finden Sie in der Online-Dokumentation der Bibliothek "prom-client" unter https://github.com/siimon/prom-client.