ELK Stack är världens mest populära plattform för logghantering. Det är en samling öppen källkodsprodukter inklusive Elasticsearch, Logstash och Kibana. Alla dessa 3 produkter utvecklas, hanteras och underhålls av Elastic.
ELK Stack är en kraftfull och öppen källkodsplattform som kan hantera en enorm mängd loggad data. Ingångsloggen kommer i allmänhet från ett grafiskt webbgränssnitt (GUI).
- Elasticsearch är en JSON-baserad sök- och analysmotor avsedd för horisontell skalbarhet och enklare hantering.
- Logstash är ett databehandlingsgränssnitt på serversidan som har möjlighet att samla in data från flera källor samtidigt. Det förvandlar det sedan och skickar sedan data till önskad stash. Det är ett program med öppen källkod.
- Kibana används för att visualisera dina data och navigera i Elastic Stack. Det är också ett open source-verktyg.
Installera och konfigurera ELK Stack på Ubuntu
I den här handledningen ska vi använda filbeat för att skicka loggdata till Logstash. Beats är lätta dataförsändare och till att börja med borde vi behöva installera agenten på servrar.
Steg 1) Installera Java 8
ElasticSearch stöder Java 8 och 9, men problemet är Logstash är bara kompatibelt med Java 8. Java 9 stöds inte än. Därför ska vi installera Oracle Java 8.
Starta terminalen och lägg till Oracle Java 8-arkiv, följt av en systemuppdatering och faktisk installation.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get-uppdatering
sudo apt installera oracle-java8-set-default
Var uppmärksam på terminalen. Du måste gå med på att licensavtalsfönster och välja "ja" för att fortsätta. När installationen är klar kan du kontrollera Java-versionen med följande kommandon:
.sudo java -version
sudo echo $ JAVA_HOME
Steg 2) Installera och konfigurera Elasticsearch
Låt oss börja med wget kommando för att ladda ner Elasticsearch följt av offentlig signeringsnyckel:
sudo wget -qO - https: // artefakter.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key add -
För det andra, installera apt-transport-https-paketet (Debian-baserade distros behöver detta).
sudo apt-get install apt-transport-https
Lägg till förvaret:
echo "deb https: // artefakter.elastisk.co / paket / 6.x / apt stabil huvud "| sudo tee -a / etc / apt / sources.lista.d / elastisk-6.x.lista
Uppdatera repolistan och installera paketet:
sudo apt-get-uppdatering
sudo apt-get install elasticsearch
Låt oss ändra “elasticsearch.yml-fil:
sudo vim / etc / elasticsearch / elasticsearch.yml
Avkommentar ”nätverk.värd ”och“ http.hamn". Följande konfiguration bör läggas till:
nätverk.värd: localhost http.hamn: 9200
Spara och stäng sedan filen.
För att säkerställa att ElasticSearch fungerar sömlöst, aktivera det vid start och starta ElasticSearch.
sudo systemctl aktivera elasticsearch.service
sudo systemctl start elasticsearch.service
Kontrollera installationen:
sudo curl -XGET 'localhost: 9200 /?Söt'
Steg 3) Installera Kibana
Låt oss börja installera Kibana nu och ändra Kibana-inställningar:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Avkommentera följande rader:
server.port: 5601 server.värd: "localhost" elasticsearch.url: "http: // localhost: 9200"
Spara och avsluta filen.
Aktivera det vid start och starta Kibana-tjänsten:
sudo systemctl aktiverar kibana.service
sudo systemctl starta kibana.service
Steg 4) Konfigurera Nginx som omvänd proxy för Kibana
I samma rader, låt oss installera Nginx, konfigurera det och starta tjänsten. Använd följande kommandon en i taget:
sudo apt-get install nginx apache2-utils
Konfigurera virtuell värd:
sudo vim / etc / nginx / sites-available / elk
Lägg till följande konfiguration i filen:
server lyssna 80; server_name älg.fosslinux.com; auth_basic "Begränsad åtkomst"; auth_basic_user_file / etc / nginx /.elkusersecret; plats / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Uppgradera $ http_upgrade; proxy_set_header Anslutning 'uppgradering'; proxy_set_header Host $ host; proxy_cache_bypass $ http_upgrad;
Skapa användar- och lösenordsfil för autentisering av webbläsare:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Ange lösenord och upprepa. Kontrollera Nginx-konfigurationer:
sudo nginx -t
Aktivera Nginx vid systemstart och starta om tjänsten:
sudo systemctl aktiverar nginx.service
sudo systemctl starta om nginx.service
Steg 5) Installera och konfigurera Logstash
Installera Logstash:
sudo apt-get install logstash
Här ska vi generera SSL-certifikatnyckel för att säkerställa överföring av logg från file beat-klienten. Ändra "värd" -filen innan du skapar SSL-certifikatet.
sudo vim / etc / hosts
Lägg till följande rad i filen. Se till att ändra IP och servernamn till ditt.
172.31.31.158 älgserver älgserver
När du är klar, spara och avsluta filen.
Byt nu katalog till Logstash.
sudo cd / etc / logstash /
Skapa en mapp för SSL:
sudo mkdir ssl
Skapa SSL-certifikat. Ändra elk-server till ditt servernamn i kommandot nedan.
sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.key -out ssl / logstash-forwarder.crt
Skapa följande filer i “/ etc / logstash / conf.d ”.
sudo cd / etc / logstash / conf.d /
skapa en filbeat-inmatningsfil med vim.
sudo vim filbeat-input.konf
Lägg till följande rader i den.
input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.nyckel "
Spara och stäng filen och skapa en ny konfigurationsfil.
sudo vim syslog-filter.konf
Lägg till följande innehåll i den.
filtrera if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" mottagna_at ","% @ tidsstämpel "] add_field => [" mottagna_från ","% värd "] datum match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Spara och avsluta filen. Skapa elasticsearch utdatafil.
sudo vim output-elasticsearch.konf
Lägg till följande rader i den.
output elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + ÅÅÅÅ.MM.dd "document_type =>"% [@ metadata] [type] "
Låt oss aktivera Logstash vid start och starta tjänsten:
sudo systemctl aktivera logstash.service
sudo systemctl starta logstash.service
Steg 6) Installera och konfigurera Filebeat på klientservrar
Börja med att redigera värdar fil för att lägga till elgvärdsposter. Se till att ersätta IP och namn med ditt.
sudo vim / etc / hosts
172.31.31.158 älgserver
Spara och avsluta filen.
Ladda ner och installera Public Signing Key:
sudo wget -qO - https: // artefakter.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key add -
Installera “apt-transport-https” och lägg till repo.
sudo apt-get install apt-transport-https
sudo echo "deb https: // artefakter.elastisk.co / paket / 6.x / apt stabil huvud "| sudo tee -a / etc / apt / sources.lista.d / elastisk-6.x.lista
Uppdatera repo och installera Filebeat.
sudo apt-get-uppdatering
sudo apt-get install filebeat
Ändra Filebeat-konfigurationer.
sudo vim / etc / filebeat / filebeat.yml
Hitta följande rad och ändra värdet till "true".
aktiverat: sant
Här ändrar vi inte loggvägen och Filbeat kommer att vidarebefordra alla loggar i mappen “var / log”
sökvägar: - / var / log / *.logga
Avmarkera följande rader:
produktion.logstash: # Logstash värdar: ["elk-server: 5443"] ssl.Certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Kommentar Elasticsearch:
#produktion.elasticsearch: # Array of hosts to connect to. # värdar: ["localhost: 9200"]
Spara och avsluta filen.
Gå nu till ELK-servern och få “logstash-forwarder.crt ”innehåll
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
kopiera utdata och gå sedan till Elk klientserver.
Skapa en certifikatfil
sudo vim / etc / filebeat / logstash-forwarder.crt
infoga kopierad utdata och spara och avsluta.
Gör det möjligt filbeat på systemstart Start filbeat service.
sudo systemctl aktivera filbeat.service
sudo systemctl starta filbeat.service
Steg 7) Bläddrar i Kibana Dashboard
Starta din favoritwebbläsare och ange domännamnet följt av användarnamn och lösenord.
http: // älg.fosslinux.com
Ange det skapade användarnamnet och lösenordet. Du bör se Kibana välkomstsida. Klicka på knappen "Utforska min egen".
Du ska riktas till Kibana-hemsidan.
Klicka på "Upptäck" till vänster. Klicka på "Skapa indexmönster".
Definiera sedan indexmönstret "filbeat- *".
Klicka på nästa och välj @timestamp och klicka på "Skapa indexmönster".
Indexmönster bör skapas.
Klicka på "Upptäck" -menyn för att se serverloggarna.
Loggar visas enligt tidsstämpeln. Klicka på valfri tidsstämpel för att expandera den och se loggfilens innehåll och dess detaljer.
Om du nådde hit innebär det att du har installerat och konfigurerat ELK-stacken med filbeat. Har några problem? Meddela oss gärna i kommentarerna nedan.