Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverSystem Jira
serverId268c0377-f7a9-3598-8fc3-ef8cc60d21ca
keyDL-4018

Kibana

https://log03.cdl.one username: elastic, pw im Vault

Dashboards

Es können verschiedene Dashboards erstellt werden, um die Daten zu Filtern und Visualisieren. https://www.elastic.co/guide/en/kibana/current/create-a-dashboard-of-panels-with-web-server-data.html

In “Test1 Dashboard” werden die Logmessages als Beispiel aufbereitet.

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.

https://www.elastic.co/guide/en/kibana/current/alerting-setup.html#alerting-prerequisites

https://www.elastic.co/guide/en/kibana/current/alerting-getting-started.html

https://www.elastic.co/guide/en/kibana/current/rule-types.html

Index Lifecycle

Logdaten als Data streams zu speichern ist passend, da diese für “append-only time series data” sind. Die Logmessages werden jeweils in einem Index gespeichert, aus denen der Data stream besteht, wobei immer wieder neue Indices erstellt werden https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html#data-streams-rollover anhand vom Index Template, das für den Data stream gesetzt wurde. Für Index Templates können Index Lifecycle Policies erstellt werden, die dann auf alle Indices angewendet werden, die auf dem entsprechenden Index Template beruhen. https://log03.cdl.one/app/management/data/index_lifecycle_management/policies

Indem z.B für verschiedene Kunden verschiedene Data streams mit unterschiedlichen Index Templates verwendet werden, könnte auch unterschiedlich festgelegt werden ab wann die Logmessages gelöscht werden oder wann die Logmessages in ein “cold tier” verschoben werden sollen um Kosten zu sparen und dafür längere Suchzeiten in kauf zu nehmen.

Logstash

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.

...

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" ]
  }
}
output {
   elasticsearch {
     hosts => ["localhost:9200"]
     user => "logstash_internal"
     password => "pw im Vault"
     data_stream => true
   }

Kibana

https://log03.cdl.one username: elastic, pw im Vault

Dashboards

Test1 Dashboar

Alerting

...

Verschiedene Data streams schreiben

https://www.elastic.co/guide/en/kibanalogstash/current/alertingplugins-outputs-setup.html#alerting-prerequisites

https://www.elastic.co/guide/en/kibana/current/alerting-getting-started.html

https://www.elastic.co/guide/en/kibana/current/rule-types.html

Index Lifecycle

Die Logmessages werden jeweils in einem Index gespeichert, wobei immer wieder neue Indices erstellt werden anhand von Index Templates. Für Index Templates können Index Lifecycle Policies erstellt werden, die dann auf alle Indices angewendet werden, die auf dem entsprechenden Index Template beruhen. https://log03.cdl.one/app/management/data/index_lifecycle_management/policies

Indem z.B für verschiedene Kunden verschiedene Index Templates verwendet werden, könnte auch unterschiedlich festgelegt werden ab wann die Logmessages gelöscht werden oder wann die Logmessages in ein “cold tier” verschoben werden sollen um Kosten zu sparen und dafür längere Suchzeiten in kauf zu nehmen.elasticsearch.html#_writing_to_different_indices_best_practices

Code Block
output {
      elasticsearch {
        index => "%{[m.Customer]-[m.Environment]}-%{+YYYY.MM.dd}"
      }
    }