YAML-Datei - Globale Variablen

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

Globale Variablen in der Prometheus-Client-Konfiguration sind Schlüssel-Wert-Paare, die eine zentralisierte Möglichkeit bieten, Werte zu definieren, die in der gesamten Konfiguration wiederverwendet werden können.

Globale Variablen definieren

  • Wird in der YAML-Konfigurationsdatei unter `globalVariables` angegeben.
  • Wird für Werte verwendet, die über verschiedene Metrik-Konfigurationen hinweg konsistent sein müssen.

Verwendung

  • Verweisen Sie in anderen Teilen der YAML-Datei auf diese Variablen, um die Konsistenz zu wahren und die Aktualisierung zu erleichtern.
  • Besonders nützlich zum Setzen von Standardwerten. Siehe Abschnitt [globalVariable].

Beispiel

```yaml
globalVariables:
  environment: "production"
  serviceVersion: "1.2.3"
  version: !dpGet
    dpId:
      - "_DatabaseVersion.Major:_original.._value"
      - "_DatabaseVersion.Minor:_original.._value"
      - "_DatabaseVersion.Sub:_original.._value"
    fetch: onetime
    transformation: v => v.join('.')
  reduNum: ${this.wccoa.myReduHostNum()}
  systemNum: ${this.wccoa.getSystemId()}
```

Diese Konfiguration für globale Variablen in Prometheus integriert sowohl statische Werte als auch dynamische Datenabrufe:

  1. Statische Werte wie `environment` und `serviceVersion` werden direkt gesetzt.
  2. Dynamische Datenbeschaffung wird für `version` unter Verwendung von `!dpGet` verwendet, wobei Haupt-, Neben- und Unterversionsnummern aus WinCC OA kombiniert werden.
  3. `reduNum` und `systemNum` nutzen WinCC OA-Funktionen (`wccoa.myReduHostNum()` und `wccoa.getSystemId()`), um Werte dynamisch zuzuweisen.