...
In “Test1 Dashboard” werden die Logmessages als Beispiel aufbereitet. Das Dashboard “test1_customer” zeigt nur die Logmessages für den Kunden “test1_customer” an.
Alerting
Um zb Emails zu verschicken, falls gewisse Fehler zu oft auftreten oder der Server zu sehr ausgelastet ist, können Regeln gesetzt werden, die in bestimmten Zeitintervallen überprüft werden und eine Aktion auslösen.
...
Mit dem Gelf4Net.Appender.GelfUdpAppender werden die Logmessages an den Logstash Server geschickt. Dort können die Logmessages gefiltert und verändert werden (siehe Config), bevor sie in die auf demselben Server laufende Elasticsearch Instanz geschrieben werden.
Start
...
Logstash
https://www.elastic.co/guide/en/logstash/current/running-logstash.html
...
dladm@log03:/etc/systemd/system$ sudo systemctl start logstash.service
Stop Logstash
dladm@log03:/etc/systemd/system$ sudo systemctl stop logstash.service
Log von Logstash anzeigen
...
Code Block |
---|
input { gelf { host => "192.168.77.32" port => 12201 use_udp => true } } filter { json { source => "RenderedMessage" target => "m" } date { match => [ "TimeStamp", "dd/MMM/YYYY:HH:mm:ss Z" ] locale => de remove_field => ["TimeStamp"] } mutate { remove_field => [ "Level" ] remove_field => [ "host" ] add_field => { "[data_stream][type]" => "logs" "[data_stream][dataset]" => "%{[m][Customer]}" "[data_stream][namespace]" => "%{[m][Environment]}" } } } output { elasticsearch { hosts => ["localhost:9200"] user => "logstash_internal" password => "pw im Vault" data_stream => true } |
...
...
Mit der momentanen Config werden die Logmessages jeweils in den Data Stream mit dem Namen “Logs-Customer-Environment” geschrieben. So kann jeweils für jede Kombination aus Kunde und Umgebung separat eine Lifecycle Policy festgelegt werden.
Mögliche Optimierungen
Eventuell können wir Logs Data Streams verwenden, die weniger Speicherplatz brauchen würden.
https://www.elastic.co/guide/en/elasticsearch/reference/current/logs-data-stream.html