Elastic Data Ingesting
Einführung
Mit Ingesting Pipelines können Sie ankommende oder bereits am Server vorliegende Ereignisse einfach und transparent modifizieren und erweitern. Durch die Ausführung im Elasticsearch-Prozess sind Ingest Pipelines aber deutlich einfacher einsetzbar.
Im Kontext von service.monitor gibt es derzeit folgende Pipelines:
-
Berechnung von erweiterten Zeit- und Datumsangaben
-
Detail-Untersuchung von ArcGIS Log-Daten
Die Pipeline-Dateien befinden sich in der Auslieferung unter elasticsearch/ingest.
|
Anwendungsfälle
Zeitliche Anpassungen
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 definierte 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. In einigen Fällen liegt dieser jedoch nur im Nachrichten-Text der Logzeile vor.
Die Pipeline ist in der Lage, über Grok-Patterns Dienstnamen zu erkennen und in das Standardfeld 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 |
Extraktion von ArcGIS-Service-Informationen
Die ct-monitor-arcgis-serviceinfo-Pipeline macht es möglich, ArcGIS-Service-Informationen aus Monitoring-Ereignissen zu extrahieren.
ct-monitor-arcgis-serviceinfo-Pipeline hinzugefügt wurden[...]
"service" : {
[...]
"host" : "services.example.com",
"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
Ausführen von Pipelines für Bestanddaten
POST _reindex
{
"source": {
"index": "source_index"
},
"dest": {
"index": "target_index",
"pipeline": "pipeline-name"
}
}
Für die Aktualisierung von Altdaten 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
Sie können in den Pipeline-Settings eine Pipeline als Standard festlegen.
| Setzen Sie den gleichen Wert auf dem zugehörigen Index-Template, um die Pipeline auch auf allen Folge-Indizes zu ermöglichen. |