StableNet® Fremddaten-Wrapper
Voraussetzungen
Eine PostgreSQL-Datenbank mit einem Benutzer, der Datenbankobjekte ändern darf. Der Foreign Data Wrapper muss auf derselben Server installiert sein, auf der der Server ausgeführt wird.
Installation
Installieren Sie RPM vom SKOOR Repo
dnf install eranger-stablenet-fdw
Aufbau
Konfigurationsdatei
/etc/stablenet-fdw/stablenet-fdw.conf
[global] accept_insecure_certificate = false # Accept insecure certificates # (self-signed, expired, etc.) # when connecting to the web service default_user = # Default user name for the web service. # This is used in case no authorization # is provided by the SQL client. default_password = # Default password for the web service. # This is used in case no authorization # is provided by the SQL client. skoor_auth_url = http://localhost:8094 # URL of the SKOOR web service # (default: http://localhost:8094) # This is used to get the StableNet® # auth tokens. [webservice] url = # URL of StableNet® the web service #[webservice_<server_id>] # Optional, if multiple StableNet® servers # are used. Replace <server_id> with a unique # identifier for the StableNet® server. # Only alphanumeric lower case characters are allowed. # Please note, that every webservice section # must have a unique identifier if multiple # StableNet® servers are used. #server_name = # Unique name of the connected StableNet® # server. This should be a human readable # name, not a technical identifier. # Defaults to server_id if omitted. #url = # URL of the StableNet® the web service
Optionen können auch durch Umgebungsvariablen bereitgestellt werden, indem das Präfix STABLENET_FDW_WEBSERVICE_
und der Optionsname in Großbuchstaben verwendet werden (z. B. STABLENET_FDW_WEBSERVICE_URL
). Für die global
Einstellungen muss GLOBAL
aus dem Schlüssel ENV weggelassen werden (z. B. STABLENET_FDW_DEFAULT_USER
).
url
ist die Basis-URL des StableNet® API-Webdienstes. Sie hat normalerweise die Form https://<host>:5443/api/1
.
Mehrere StableNet®-Instanzen können mithilfe mehrerer webservice
Abschnitte mit eindeutigen server_id
Suffixen definiert werden. Die server_id
wird als interne Kennung verwendet, um beispielsweise die passende Autorisierungszeichenfolge von SKOOR Auth abzurufen. Es sollte ein geeigneter server_name
festgelegt werden, der zur Identifizierung des Server in den Fremd- und Aggregattabellen verwendet wird. Dies kann auch mithilfe von Umgebungsvariablen konfiguriert werden (z. B. STABLENET_FDW_WEBSERVICE_URL_TEST
, STABLENET_FDW_WEBSERVICE_SERVER_NAME_TEST
).
Nach einer Konfigurationsänderung muss der PostgreSQL- Server neu gestartet werden.
systemctl restart postgresql-13
Initialisieren von Fremdtabellen
Initialisierte die vom Fremddaten-Wrapper benötigten Fremdtabellen.
/opt/stablenet-fdw/init-foreign-tables.sh -h <host> -p <port> -d <database> -U <user> -o <owner>
z.B
/opt/stablenet-fdw/init-foreign-tables.sh -U postgres -h localhost -p 5432 -d infosim -o infosim
Dieser Befehl sollte nach jedem Update von eranger-stablenet-fdw
ausgeführt werden, um neue Tabellendefinitionen zu erhalten.
Testen der Verbindung
psql -h localhost -p 5432 -U infosim -d infosim -c "SELECT * from stablenet.stablenet_info;"
Dies sollte die Anzahl der Geräte in der verbundenen StableNet®-Instanz zurückgeben.
Datenaggregation
Initialisieren aggregierter Daten
Initialisiert die für aggregierte Messdaten benötigte Zeitskalen-Hypertabelle.
/opt/stablenet-fdw/init-aggregated-data.sh -h <host> -p <port> -d <database> -U <user> -o <owner> \ -i <interval> [-m <metric_keys>] [-f <tag_filter>]
-m
Durch Kommas getrennte Liste der Metrikschlüssel zur Vorabaggregation. Kann weggelassen werden, um Daten für alle Metriken vorab zu laden, dies kann jedoch sehr lange dauern. Beispiel: "SNMP_1,SNMP_2,SNMP_3"
-i
Intervall zum Vorladen der Daten. zB 6 months
, 1 week
, 5 days
-f
Tag-Filter zum Filtern von Messungen, zB "'Device Domain' eq 'Test'"
Initialisierung der Aktualisierung aggregierter Daten
Erstellt einen TimescaleDB-Job, um aggregierte Daten für bestimmte Metriken regelmäßig zu aktualisieren.
/opt/stablenet-fdw/init-aggregated-data-refresher.sh -h <host> -p <port> -d <database> -U <user> -o <owner> \ [-m <metric_keys>][-f <tag_filter>]
-m
Durch Komma getrennte Liste der zu aggregierenden Metrikschlüssel. Kann weggelassen werden, um die Daten für alle Metriken zu aktualisieren. Beispiel: "SNMP_1,SNMP_2,SNMP_3"
-f
Tag-Filter zum Filtern von Messungen, zB "'Device Domain' eq 'Test'"
Metriken hinzufügen/entfernen
Integration in SKOOR
Das StabeleNet FDW kann durch die Erstellung einer neuen Datenquelle im Bereich „Daten und Objekte“ integriert werden.
Nach dem Speichern sollte die Glühbirne in der Navigation grün leuchten.
Die Fremdtabellen können auf der Registerkarte „Daten“ eingesehen werden.
Während einige Fremdtabellen sofort überprüft werden können (z. B. stablenet_taggable_device
), benötigen andere obligatorische Qualifizierer und können nicht in der Vorschau angezeigt werden. Die obligatorischen Qualifizierer finden Sie in der folgenden Tabelle.
Ausländische Tabellen
Name | Felder | Qualifikation |
---|---|---|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
Obwohl measurement_id
und metric_key
optional sind, wird nicht empfohlen, Abfragen ohne auszuführen. Dadurch werden Messdaten aller Messungen und aller Metriken gelesen, was lange dauern kann und den StableNet- Server stark belastet. Nur für sehr kurze Zeiträume < 1 Stunde zu empfehlen. Wenn mehrere Messungen und Metriken benötigt werden, sollte die Tabelle stablenet_measurement_data_aggregated
verwendet werden.
Aggregierte Messdaten
Stündlich aggregiert, stündlich automatisch aktualisiert. Kann verwendet werden, um Analyseabfragen für einen großen Messbereich und große Zeiträume durchzuführen.
Ist im Grunde eine Timescale-Hypertabelle ( https://docs.timescale.com/ ). Die Blockgröße beträgt 7 Tage, die Blöcke werden nach 7 Tagen komprimiert.
Name | Felder |
---|---|
| |
stablenet_measurement_data_aggregated
enthält nur Daten für konfigurierte Metrikschlüssel.