Site icon bintorosoft.com

Zentralisiertes Logging: ELK/Opensearch für Web Stacks einsetzen

Zentralisiertes Logging ist ein essenzieller Bestandteil moderner Web-Stacks, um Logs von Webservern, Datenbanken und Applikationen effizient zu sammeln, zu analysieren und zu visualisieren. Mit Tools wie ELK (Elasticsearch, Logstash, Kibana) oder OpenSearch lassen sich große Mengen an Logdaten strukturiert verarbeiten, wodurch Monitoring, Fehlersuche und Sicherheitsanalysen erheblich vereinfacht werden. In diesem Tutorial lernen Sie, wie Sie ELK/OpenSearch in einer Web-Stack-Umgebung einsetzen und konfigurieren.

ELK vs. OpenSearch

ELK besteht aus drei Komponenten:

OpenSearch ist ein Fork von Elasticsearch/Kibana, entwickelt von AWS, mit ähnlicher Funktionalität. Beide Systeme eignen sich für Web-Stack-Logs, unterscheiden sich aber in Lizenz und Features.

Logquelle definieren

Zuerst müssen die zu sammelnden Logs identifiziert werden:

Es empfiehlt sich, ein konsistentes Logformat wie JSON zu verwenden, um Parsing und Analyse zu vereinfachen.

Logstash einrichten

Logstash übernimmt das Parsen und Weiterleiten der Logs an Elasticsearch/OpenSearch.

Grundkonfiguration

input {
  file {
    path => "/var/log/nginx/access.log"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}

filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}

output {
opensearch {
hosts => ["http://localhost:9200"]
index => "nginx-access-%{+YYYY.MM.dd}"
}
}

Die Konfiguration enthält:

OpenSearch/Elasticsearch starten

Installation über Paketmanager oder Docker ist möglich. Beispiel Docker:

docker run -d --name opensearch 
  -p 9200:9200 -p 9600:9600 
  -e "discovery.type=single-node" 
  opensearchproject/opensearch:latest

Wichtig ist, dass der Node als Single-Node Cluster konfiguriert ist, wenn keine Hochverfügbarkeit benötigt wird.

Kibana/OpenSearch Dashboards

Für die Visualisierung nutzen Sie Kibana oder OpenSearch Dashboards:

docker run -d --name opensearch-dashboards 
  -p 5601:5601 
  -e "OPENSEARCH_HOSTS=http://localhost:9200" 
  opensearchproject/opensearch-dashboards:latest

Nach dem Start können Sie via Browser auf http://localhost:5601 zugreifen, Index Patterns erstellen und Dashboards bauen.

Logs aus verschiedenen Quellen zentralisieren

Für PHP-FPM, Datenbanken oder App-Logs können weitere Inputs in Logstash definiert werden:

input {
  file { path => "/var/log/php7.4-fpm.log"; type => "php-fpm" }
  file { path => "/var/log/mysql/error.log"; type => "mysql" }
}

So können Logs aus unterschiedlichen Quellen in konsistenten Indizes gesammelt werden.

Performance und Retention

Bei hoher Logdichte sind folgende Punkte wichtig:

Alerts und Monitoring

ELK/OpenSearch kann Alarme bei Fehlern oder ungewöhnlichen Zugriffsmustern auslösen. Beispiele:

Security Best Practices

Automatisierung

Cronjobs oder Systemd-Services können sicherstellen, dass Logstash und Dashboards automatisch starten und überwacht werden:

[Unit]
Description=Logstash Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf
Restart=always

[Install]
WantedBy=multi-user.target

Fazit

Mit ELK oder OpenSearch lässt sich ein zentralisiertes Logging für Web Stacks effizient umsetzen. Logs werden strukturiert erfasst, analysiert und visualisiert. Durch Dashboards, Alerts und Automatisierung gewinnen Administratoren Echtzeit-Einblicke in den Zustand der Systeme, wodurch Performance, Sicherheit und Troubleshooting deutlich verbessert werden.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version