Elastic Data Ingesting
Einführung
Mit Ingesting Pipelines können ankommende oder bereits am Server vorliegende Ereignisse einfach und transparent modifiziert und erweitert werden. Sie sind vergleichbar mit Logstash Pipelines, weisen aber nicht die gleiche Funktionsfülle auf. Durch die Ausführung im Elasticsearch-Prozess sind Ingest Pipelines jedoch einfacher einsetzbar.
Im Kontext von service.monitor gibt es derzeit folgende Pipelines:
-
Berechnung von erweiterten Zeit- und Datumsangaben (alle Datenquellen)
-
Detail-Untersuchung von Esri ArcGIS Log-Daten (ArcGIS Log-Daten)
-
URL- und Dienstinformationen aus Monitoring-Ereignissen
Die Pipeline-Dateien befinden sich in der Auslieferung unter elasticsearch/ingest
|
Use Cases
Anreicherung von zusätzlichen Zeitinformationen
Die Pipeline ct-monitor-temporal
erlaubt die Berechnung von folgenden zusätzlichen Zeitwerten:
-
Tag der Woche
-
Name des Tages der Woche
-
Stunde des Tages
-
Tag des Jahres
-
Monatswert
Damit können Diagramme erstellt werden, die z.B. Messwerte im Tages- oder Wochengang visualisieren oder aggregieren.
Durch das Berechnen dieser Werte, wird eine definiert Zeitzone verwendet (hier: Europe/Paris ), dies muss gegebenenfalls angepasst werden.
|
vertiefte ArcGIS Analyse
Die Pipeline ct-monitor-arcgis-parse-servicename
erlaubt das nachtrögliche Extrahieren von Dienst-Informationen aus Nachrichten von ArcGIS Server. Zumeist ist der betroffene Dienst in einem separaten Attribut der ArcGIS-Nachricht gespeichert, bei einigen Fällen liegt dieser jedoch nur im Nachrichten-Text der Logzeile vor.
Die Pipeline ist in der Lage über Grok
-Pattern, Dienstnamen zu erkennen und in das Standard-Feld des Events zu überführen.
Diese Pipeline hilft z.B. beim Finden von Service Timeouts. ("Error performing query operation Error handling service request :Processing request took longer than the usage timeout for service") |
ArcSOC Prozess-Analyse (Metricbeat)
Die Pipeline ct-monitor-arcsoc
erlaubt die Berechnung von folgenden zusätzlichen Zeitwerten:
Extrahieren von ArcGIS-Service-Informationen und Hostnamen aus Überwachungsereignissen
Die ct-monitor-arcgis-serviceinfo
-Pipeline macht es möglich, ArcGIS-Service-Informationen aus Monitoring-Ereignissen zu extrahieren.
[...]
"service" : {
[...]
"host" : "services.conterra.de",
"ags": {
"url-path" : "/arcgis/rest/services/mapapps/stoerung_relates/MapServer",
"arcgis-service-name" : "mapapps",
"arcgis-folder" : "stoerung_relates",
"arcgis-service-and-folder" : "mapapps/stoerung_relates"
},
[...]
}
Anwendung von Ingest Pipelines
Ausführen von Pipelines für Bestandsdaten
POST _reindex
{
"source": {
"index": "source_index"
},
"dest": {
"index": "target_index",
"pipeline": "pipeline-name"
}
}
Für die Aktualisierung von Alt-Daten kann auch das Feature _update_by_query
genutzt werden.
Im Beispiel unten wird zusätzlich eine Query benutzt, um die Pipeline nur für bestimmte Events anzuwenden.
POST <index>/_update_by_query?pipeline=pipeline-name
{
"query": {
"match": {
"_id": "9_BGMnoBoGFrpZgJVWVE"
}
}
}
Ausführen von Pipelines für alle ankommenden Events
Durch das Setzen von Pipeline-Settings, kann eine Pipeline als die Standard-Pipeline gesetzt werden. Pipeline für Index konfigurieren
Setzen Sie den gleichen Wert auf dem zugehörigen Index-Template, um die Pipeline auch auf allen Folge-Indizes zu ermöglichen. |