Elk (Elastisearch Logstash Kibana): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=Installation= | =Übersicht= | ||
*wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | | ==Logstash== | ||
*echo "deb https://artifacts.elastic.co/packages/ | Logstash verarbeitet und normalisiert Logdateien. Die Anwendung zieht ihre Informationen aus unterschiedlichen Datenquellen, die Benutzer als Input-Module definieren. Quellen können beispielsweise Datenströme von Syslog oder Protokolldateien sein. In einem zweiten Schritt verarbeiten Filter-Plugins die Daten nach Benutzervorgaben weiter. | ||
*apt update | ==Elasticsearch== | ||
*apt | Elasticsearch ist in Java implementiert und basiert auf Apache Lucene, einer extrem leistungsfähigen Volltext-Suchmaschine, deren Funktionen über ein REST-API bereitstehen. Alle Texte, Dokumente genannt, indexiert Elasticsearch automatisch. | ||
= | ==Kibana== | ||
*systemctl | Kibana erzeugt aus den Elasticsearch-Daten ansprechende Darstellungen und Berichte. Diese werden auf einem Webserver dargestellt. | ||
*systemctl enable kibana | = ELK Installation (Elastic 8/9) = | ||
*systemctl enable elasticsearch. | == Installation == | ||
*systemctl | * apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git | ||
* wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg | |||
* echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list | |||
* apt update | |||
* apt install elasticsearch kibana logstash | |||
== Elasticsearch == | |||
* Dienst aktivieren und starten: | |||
systemctl enable --now elasticsearch | |||
* Enrollment-Token für Kibana erzeugen: | |||
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana | |||
== Kibana == | |||
* Kibana für alle IPs freischalten | |||
echo -e "server.port: 5601\nserver.host: 0.0.0.0" >> /etc/kibana/kibana.yml | |||
* Dienst aktivieren und starten: | |||
systemctl enable --now kibana | |||
* Verifikationscode erzeugen: | |||
/usr/share/kibana/bin/kibana-verification-code | |||
* Zugriff im Browser: | |||
http://<ELK_IP>:5601 | |||
*Abschluss Passwort setzen | |||
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic | |||
== Logstash == | |||
* Dienst aktivieren und starten: | |||
systemctl enable --now logstash | |||
=== Keystore anlegen === | |||
* /usr/share/logstash/bin/logstash-keystore create --path.settings /etc/logstash | |||
* /usr/share/logstash/bin/logstash-keystore add ES_USER --path.settings /etc/logstash | |||
elastic | |||
* /usr/share/logstash/bin/logstash-keystore add ES_PASS --path.settings /etc/logstash | |||
<Elastic-Passwort> | |||
* Kontrolle: | |||
/usr/share/logstash/bin/logstash-keystore list --path.settings /etc/logstash | |||
=== Zertifikatsrechte === | |||
* chown root:logstash /etc/elasticsearch/certs/http_ca.crt | |||
* chmod 640 /etc/elasticsearch/certs/http_ca.crt | |||
* chmod o+rx /etc/elasticsearch | |||
* chmod o+rx /etc/elasticsearch/certs | |||
=== Output-Block (/etc/logstash/conf.d/output.conf) === | |||
<pre> | |||
output { | |||
elasticsearch { | |||
hosts => ["https://localhost:9200"] | |||
ssl_enabled => true | |||
ssl_certificate_authorities => ["/etc/elasticsearch/certs/http_ca.crt"] | |||
ssl_verification_mode => "full" | |||
user => "${ES_USER}" | |||
password => "${ES_PASS}" | |||
} | |||
} | |||
</pre> | |||
=== Input für die Opnsense (/etc/logstash/conf.d/input.conf) === | |||
<pre> | |||
input { | |||
udp { | |||
port => 5140 | |||
type => "opnsense" | |||
} | |||
tcp { | |||
port => 5140 | |||
type => "opnsense" | |||
} | |||
} | |||
</pre> | |||
=== Config testen und starten === | |||
* sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t | |||
* systemctl restart logstash | |||
* systemctl status logstash --no-pager | |||
== Test == | |||
* echo "Hallo ELK" | /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/ | |||
* In Kibana → Discover → Index logstash- | |||
* prüfen | |||
Aktuelle Version vom 13. September 2025, 10:53 Uhr
Übersicht
Logstash
Logstash verarbeitet und normalisiert Logdateien. Die Anwendung zieht ihre Informationen aus unterschiedlichen Datenquellen, die Benutzer als Input-Module definieren. Quellen können beispielsweise Datenströme von Syslog oder Protokolldateien sein. In einem zweiten Schritt verarbeiten Filter-Plugins die Daten nach Benutzervorgaben weiter.
Elasticsearch
Elasticsearch ist in Java implementiert und basiert auf Apache Lucene, einer extrem leistungsfähigen Volltext-Suchmaschine, deren Funktionen über ein REST-API bereitstehen. Alle Texte, Dokumente genannt, indexiert Elasticsearch automatisch.
Kibana
Kibana erzeugt aus den Elasticsearch-Daten ansprechende Darstellungen und Berichte. Diese werden auf einem Webserver dargestellt.
ELK Installation (Elastic 8/9)
Installation
- apt install apt-transport-https gnupg2 software-properties-common dirmngr lsb-release ca-certificates git
- wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
- echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list
- apt update
- apt install elasticsearch kibana logstash
Elasticsearch
- Dienst aktivieren und starten:
systemctl enable --now elasticsearch
- Enrollment-Token für Kibana erzeugen:
/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token --scope kibana
Kibana
- Kibana für alle IPs freischalten
echo -e "server.port: 5601\nserver.host: 0.0.0.0" >> /etc/kibana/kibana.yml
- Dienst aktivieren und starten:
systemctl enable --now kibana
- Verifikationscode erzeugen:
/usr/share/kibana/bin/kibana-verification-code
- Zugriff im Browser:
http://<ELK_IP>:5601
- Abschluss Passwort setzen
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Logstash
- Dienst aktivieren und starten:
systemctl enable --now logstash
Keystore anlegen
- /usr/share/logstash/bin/logstash-keystore create --path.settings /etc/logstash
- /usr/share/logstash/bin/logstash-keystore add ES_USER --path.settings /etc/logstash
elastic
- /usr/share/logstash/bin/logstash-keystore add ES_PASS --path.settings /etc/logstash
<Elastic-Passwort>
- Kontrolle:
/usr/share/logstash/bin/logstash-keystore list --path.settings /etc/logstash
Zertifikatsrechte
- chown root:logstash /etc/elasticsearch/certs/http_ca.crt
- chmod 640 /etc/elasticsearch/certs/http_ca.crt
- chmod o+rx /etc/elasticsearch
- chmod o+rx /etc/elasticsearch/certs
Output-Block (/etc/logstash/conf.d/output.conf)
output {
elasticsearch {
hosts => ["https://localhost:9200"]
ssl_enabled => true
ssl_certificate_authorities => ["/etc/elasticsearch/certs/http_ca.crt"]
ssl_verification_mode => "full"
user => "${ES_USER}"
password => "${ES_PASS}"
}
}
Input für die Opnsense (/etc/logstash/conf.d/input.conf)
input {
udp {
port => 5140
type => "opnsense"
}
tcp {
port => 5140
type => "opnsense"
}
}
Config testen und starten
- sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
- systemctl restart logstash
- systemctl status logstash --no-pager
Test
- echo "Hallo ELK" | /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/
- In Kibana → Discover → Index logstash-
- prüfen