ELK Stack er verdens mest populære loggadministrasjonsplattform. Det er en samling med åpen kildekode, inkludert Elasticsearch, Logstash og Kibana. Alle disse 3 produktene er utviklet, administrert og vedlikeholdt av Elastic.
ELK Stack er en kraftig og åpen kildekodeplattform som kan håndtere en enorm mengde loggede data. Inngangsloggen er vanligvis fra et grafisk webgrensesnitt (GUI).
- Elasticsearch er en JSON-basert søke- og analysemotor beregnet for horisontal skalerbarhet og enklere administrasjon.
- Logstash er et databehandlingsgrensesnitt på serversiden som har muligheten til å samle inn data fra flere kilder samtidig. Den transformerer den, og sender deretter dataene til ønsket stash. Det er et program med åpen kildekode.
- Kibana brukes til å visualisere dataene dine og navigere i Elastic Stack. Det er også et åpen kildekodeverktøy.
Installer og konfigurer ELK Stack på Ubuntu
I denne opplæringen skal vi bruke filebeat for å sende loggdata til Logstash. Beats er lette dataforsendere, og til å begynne med bør vi installere agenten på serverne.
Trinn 1) Installere Java 8
ElasticSearch støtter Java 8 og 9, men problemet er at Logstash bare er kompatibelt med Java 8. Java 9 støttes ikke ennå. Derfor skal vi installere Oracle Java 8.
Start terminalen og legg til Oracle Java 8-depot, etterfulgt av en systemoppdatering og faktisk installasjon.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get oppdatering
sudo apt installer oracle-java8-set-default
Vær oppmerksom på terminalen. Du må godta lisensavtalevinduer og velge "ja" for å fortsette. Etter at installasjonen er fullført, kan du sjekke java-versjonen ved å bruke følgende kommandoer:
.sudo java -versjon
sudo echo $ JAVA_HOME
Trinn 2) Installere og konfigurere Elasticsearch
La oss starte med wget kommando for å laste ned Elasticsearch etterfulgt av offentlig signeringsnøkkel:
sudo wget -qO - https: // gjenstander.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key add -
For det andre, installer apt-transport-https-pakken (Debian-baserte distroer trenger dette).
sudo apt-get install apt-transport-https
Legg til depotet:
ekko "deb https: // gjenstander.elastisk.co / pakker / 6.x / apt stabil hoved "| sudo tee -a / etc / apt / sources.liste.d / elastikk-6.x.liste
Oppdater repolisten og installer pakken:
sudo apt-get oppdatering
sudo apt-get install elasticsearch
La oss endre “elasticsearch.yml-fil:
sudo vim / etc / elasticsearch / elasticsearch.yml
Kommentar “nettverk.vert ”og“ http.havn". Følgende konfigurasjon skal legges til:
Nettverk.vert: localhost http.port: 9200
Deretter lagrer du og lukker filen.
For å sikre at ElasticSearch fungerer sømløst, aktiver det ved oppstart og start ElasticSearch.
sudo systemctl aktiver elastisk søk.service
sudo systemctl start elasticsearch.service
Sjekk installasjonen:
sudo curl -XGET 'localhost: 9200 /?ganske'
Trinn 3) Installere Kibana
La oss begynne å installere Kibana nå og endre Kibana-innstillingene:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Fjern kommentarer fra følgende linjer:
server.port: 5601 server.vert: "localhost" elasticsearch.url: "http: // localhost: 9200"
Lagre og avslutt filen.
Aktiver det ved oppstart og start Kibana-tjenesten:
sudo systemctl aktiver kibana.service
sudo systemctl start kibana.service
Trinn 4) Konfigurere Nginx som omvendt proxy for Kibana
I de samme linjene, la oss installere Nginx, konfigurere den og starte tjenesten. Bruk følgende kommandoer en om gangen:
sudo apt-get install nginx apache2-utils
Konfigurer virtuell vert:
sudo vim / etc / nginx / sites-available / elk
Legg til følgende konfigurasjon i filen:
server listen 80; servernavn elg.fosslinux.com; auth_basic "Begrenset tilgang"; auth_basic_user_file / etc / nginx /.elkusersecret; beliggenhet / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Oppgrader $ http_upgrade; proxy_set_header Tilkobling 'oppgradering'; proxy_set_header Vert $ vert; proxy_cache_bypass $ http_upgrade;
Opprett bruker- og passordfil for autentisering av nettleser:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Skriv inn passord og gjenta. Sjekk Nginx-konfigurasjoner:
sudo nginx -t
Aktiver Nginx ved systemstart og start tjenesten på nytt:
sudo systemctl aktiver nginx.service
sudo systemctl start nginx på nytt.service
Trinn 5) Installere og konfigurere Logstash
Installer Logstash:
sudo apt-get install logstash
Her skal vi generere SSL-sertifikatnøkkel for å sikre loggoverføring fra file beat-klienten. Endre "verts" -filen før du oppretter SSL-sertifikatet.
sudo vim / etc / verter
Legg til følgende linje i filen. Sørg for å endre IP og servernavn til ditt.
172.31.31.158 elgserver elgserver
Når du er ferdig, lagre og avslutte filen.
Bytt nå katalog til Logstash.
sudo cd / etc / logstash /
Opprett en mappe for SSL:
sudo mkdir ssl
Generer SSL-sertifikat. Endre elk-server til servernavnet i kommandoen nedenfor.
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
Lag følgende filer i “/ etc / logstash / conf.d ”.
sudo cd / etc / logstash / conf.d /
lage en filbeat-input-fil ved hjelp av vim.
sudo vim filebeat-input.konf
Legg til følgende linjer i den.
inngang beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.nøkkel "
Lagre og lukk filen og opprett en ny konfigurasjonsfil.
sudo vim syslog-filter.konf
Legg til følgende innhold i den.
filter if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" mottatt_at ","% @ tidsstempel "] add_field => [" mottatt_fra ","% host "] dato match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Lagre og avslutt filen. Skape elasticsearch output-fil.
sudo vim output-elasticsearch.konf
Legg til følgende linjer i den.
utdata elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + ÅÅÅÅ.MM.dd "document_type =>"% [@ metadata] [type] "
La oss aktivere Logstash ved oppstart og starte tjenesten:
sudo systemctl aktiver logstash.service
sudo systemctl start logstash.service
Trinn 6) Installere og konfigurere Filebeat på klientservere
Begynn med å redigere verter fil for å legge til elgvertoppføringer. Sørg for å erstatte IP og navn med ditt.
sudo vim / etc / verter
172.31.31.158 elgserver
Lagre og avslutt filen.
Last ned og installer Public Signing Key:
sudo wget -qO - https: // gjenstander.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key add -
Installer “apt-transport-https” og legg til repo.
sudo apt-get install apt-transport-https
sudo echo "deb https: // gjenstander.elastisk.co / pakker / 6.x / apt stabil hoved "| sudo tee -a / etc / apt / sources.liste.d / elastikk-6.x.liste
Oppdater repo og installer Filebeat.
sudo apt-get oppdatering
sudo apt-get install filebeat
Endre Filebeat-konfigurasjoner.
sudo vim / etc / filebeat / filebeat.yml
Finn følgende linje og endre verdien til "sann".
aktivert: sant
Her endrer vi ikke loggbanen og Filebeat vil videresende alle loggene i "var / log" -mappen
stier: - / var / log / *.Logg
Fjern merking av følgende linjer:
produksjon.logstash: # Logstash er verter: ["elk-server: 5443"] ssl.Certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Kommentar Elasticsearch:
#produksjon.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost: 9200"]
Lagre og avslutt filen.
Gå nå til ELK-serveren og få “logstash-forwarder.crt ”innhold
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
kopier utdata, og gå deretter til Elk klientserver.
Opprett en sertifikatfil
sudo vim / etc / filebeat / logstash-forwarder.crt
sett inn kopiert utdata og lagre og avslutte.
Muliggjøre filebeat på start av systemet filebeat service.
sudo systemctl aktiver filbeat.service
sudo systemctl start filebeat.service
Trinn 7) Bla gjennom Kibana Dashboard
Start din favoritt nettleser og skriv inn domenenavnet etterfulgt av brukernavn og passord.
http: // elg.fosslinux.com
Skriv inn det opprettede brukernavnet og passordet. Du bør se Kibana velkomstside. Klikk på "Utforsk min egen" -knappen.
Du bør sendes til Kibana-hjemmesiden.
Klikk på "Oppdag" på venstre side. Klikk på "Opprett indeksmønster".
Definer deretter indeksmønsteret “filbeat- *”.
Klikk på neste og velg @timestamp og klikk "Opprett indeksmønster".
Indeksmønster skal opprettes.
Klikk på "Discover" -menyen for å se serverloggene.
Logger vises i henhold til tidsstempelet. Klikk på et hvilket som helst tidsstempel for å utvide det og se loggfilinnholdet og dets detaljer.
Hvis du nådde hit, betyr det at du har installert og konfigurert ELK-stakken med filbeat. Har noen problemer? Gi oss gjerne beskjed i kommentarene nedenfor.