ELK Stack er verdens mest populære loghåndteringsplatform. Det er en samling af open source-produkter, herunder Elasticsearch, Logstash og Kibana. Alle disse 3 produkter er udviklet, administreret og vedligeholdt af Elastic.
ELK Stack er en kraftfuld og open source-platform, der kan styre en enorm mængde loggede data. Indgangsloggen er generelt fra en grafisk webgrænseflade (GUI).
- Elasticsearch er en JSON-baseret søge- og analysemaskine beregnet til vandret skalerbarhed og lettere styring.
- Logstash er en databehandlingsgrænseflade på serversiden, der har mulighed for at samle data fra flere kilder samtidigt. Derefter omdanner den det og sender derefter dataene til det ønskede stash. Det er en open source-applikation.
- Kibana bruges til at visualisere dine data og navigere i Elastic Stack. Det er også et open source-værktøj.
Installer og konfigurer ELK Stack på Ubuntu
I denne vejledning skal vi bruge filebeat for at sende logdata til Logstash. Beats er lette afsendere af data, og til at begynde med skal vi installere agenten på servere.
Trin 1) Installation af Java 8
ElasticSearch understøtter Java 8 og 9, men problemet er, at Logstash kun er kompatibelt med Java 8. Java 9 understøttes endnu ikke. Derfor skal vi installere Oracle Java 8.
Start terminalen, og tilføj Oracle Java 8-lager, efterfulgt af en systemopdatering og faktisk installation.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get opdatering
sudo apt installer oracle-java8-set-default
Vær opmærksom på terminalen. Du bliver nødt til at acceptere licensaftalevinduer og vælge "ja" for at fortsætte. Når installationen er afsluttet, kan du kontrollere java-versionen ved hjælp af følgende kommandoer:
.sudo java -version
sudo echo $ JAVA_HOME
Trin 2) Installation og konfiguration af Elasticsearch
Lad os starte med wget kommando til at downloade Elasticsearch efterfulgt af offentlig signaturnøgle:
sudo wget -qO - https: // artefakter.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key tilføj -
For det andet skal du installere apt-transport-https-pakken (Debian-baserede distroer har brug for dette).
sudo apt-get install apt-transport-https
Tilføj lageret:
ekko "deb https: // artefakter.elastisk.co / pakker / 6.x / apt stabil hoved "| sudo tee -a / etc / apt / sources.liste.d / elastik-6.x.liste
Opdater repolisten og installer pakken:
sudo apt-get opdatering
sudo apt-get install elasticsearch
Lad os ændre “elasticsearch.yml-fil:
sudo vim / etc / elasticsearch / elasticsearch.yml
Fjern kommentar “netværk.vært ”og“ http.Havn". Følgende konfiguration skal tilføjes:
netværk.vært: localhost http.havn: 9200
Gem derefter og luk filen.
For at sikre, at ElasticSearch fungerer problemfrit, skal du aktivere det ved opstart og starte ElasticSearch.
sudo systemctl aktiver elastiksøgning.service
sudo systemctl start elasticsearch.service
Tjek installation:
sudo curl -XGET 'localhost: 9200 /?smuk'
Trin 3) Installation af Kibana
Lad os begynde at installere Kibana nu og ændre Kibana-indstillinger:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Fjern kommentarer fra følgende linjer:
server.port: 5601 server.vært: "localhost" elasticsearch.url: "http: // localhost: 9200"
Gem og afslut filen.
Aktivér det ved opstart og start Kibana-tjenesten:
sudo systemctl aktiver kibana.service
sudo systemctl start kibana.service
Trin 4) Konfiguration af Nginx som omvendt proxy til Kibana
Lad os i de samme linjer installere Nginx, konfigurere det og starte tjenesten. Brug følgende kommandoer en ad gangen:
sudo apt-get install nginx apache2-utils
Konfigurer virtuel vært:
sudo vim / etc / nginx / sites-available / elk
Føj følgende konfiguration til filen:
server lyt 80; servernavn elg.fosslinux.com; auth_basic "Begrænset adgang"; auth_basic_user_file / etc / nginx /.elkusersecret; placering / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Opgrader $ http_upgrade; proxy_set_header Forbindelse 'opgradering'; proxy_set_header Host $ vært; proxy_cache_bypass $ http_upgrade;
Opret bruger- og adgangskodefil til godkendelse af webbrowser:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Indtast adgangskode, og gentag. Kontroller Nginx-konfigurationer:
sudo nginx -t
Aktivér Nginx ved systemstart og genstart tjenesten:
sudo systemctl aktiver nginx.service
sudo systemctl genstart nginx.service
Trin 5) Installation og konfiguration af Logstash
Installer Logstash:
sudo apt-get installer logstash
Her skal vi generere SSL-certifikatnøgle for at sikre logoverførsel fra file beat-klienten. Rediger "værtsfilen", før du opretter SSL-certifikatet.
sudo vim / etc / hosts
Tilføj følgende linje til filen. Sørg for at ændre IP og servernavn til dit.
172.31.31.158 elgserver elgserver
Når du er færdig, skal du gemme og afslutte filen.
Skift nu bibliotek til Logstash.
sudo cd / etc / logstash /
Opret en mappe til SSL:
sudo mkdir ssl
Generer SSL-certifikat. Skift elk-server til dit servernavn i nedenstående kommando.
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
Opret følgende filer i “/ etc / logstash / conf.d ”.
sudo cd / etc / logstash / conf.d /
Opret en filbeat-inputfil ved hjælp af vim.
sudo vim filebeat-input.konf
Føj følgende linjer til det.
input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.nøgle "
Gem og luk filen, og opret en ny konfigurationsfil.
sudo vim syslog-filter.konf
Føj følgende indhold til det.
filter if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" modtaget_at ","% @ tidsstempel "] add_field => [" modtaget_fra ","% vært "] dato match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Gem og afslut filen. skab elastiksøgning outputfil.
sudo vim output-elasticsearch.konf
Føj følgende linjer til det.
output elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + ÅÅÅÅ.MM.dd "document_type =>"% [@ metadata] [type] "
Lad os aktivere Logstash ved opstart og starte tjenesten:
sudo systemctl aktiver logstash.service
sudo systemctl start logstash.service
Trin 6) Installation og konfiguration af Filebeat på klientservere
Start med at redigere værter fil for at tilføje elgværtsindgange. Sørg for at udskifte IP og navn med din.
sudo vim / etc / hosts
172.31.31.158 elgserver
Gem og afslut filen.
Download og installer den offentlige signaturnøgle:
sudo wget -qO - https: // artefakter.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key tilføj -
Installer “apt-transport-https” og tilføj repo.
sudo apt-get install apt-transport-https
sudo echo "deb https: // artefakter.elastisk.co / pakker / 6.x / apt stabil hoved "| sudo tee -a / etc / apt / sources.liste.d / elastik-6.x.liste
Opdater repo og installer Filebeat.
sudo apt-get opdatering
sudo apt-get install filebeat
Rediger Filebeat-konfigurationer.
sudo vim / etc / filebeat / filebeat.yml
Find følgende linje og rediger værdien til "sand".
aktiveret: sandt
Her ændrer vi ikke logstien og Filbeat videresender alle logfiler i mappen “var / log”
stier: - / var / log / *.log
Fjern kommentar til følgende linjer:
produktion.logstash: # Logstash er vært for: ["elk-server: 5443"] ssl.certifikatautoriteter: ["/ etc / filebeat / logstash-forwarder.crt "]
Kommentar Elastiksøgning:
#produktion.elasticsearch: # Array of hosts to connect to. # værter: ["localhost: 9200"]
Gem og afslut filen.
Gå nu til ELK-serveren og få “logstash-forwarder.crt ”indhold
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
kopier output og gå derefter til Elk klientserver.
Opret en certifikatfil
sudo vim / etc / filebeat / logstash-forwarder.crt
indsæt kopieret output og gem & afslut.
Aktiver filebeat på systemstart Start filebeat service.
sudo systemctl aktiver filbeat.service
sudo systemctl start filbeat.service
Trin 7) Gennemse Kibana Dashboard
Start din yndlingswebbrowser, og indtast domænenavnet efterfulgt af brugernavn og adgangskode.
http: // elg.fosslinux.com
Indtast det oprettede brugernavn og adgangskode. Du skulle se velkomstsiden til Kibana. Klik på knappen "Udforsk min egen".
Du skal henvises til Kibana-hjemmesiden.
Klik på "Opdag" i venstre side. Klik på "Opret indeksmønster".
Definer derefter indeksmønsteret "filebeat- *".
Klik på næste, vælg @timestamp, og klik på 'Opret indeksmønster'.
Indeksmønster skal oprettes.
Klik på menuen "Opdag" for at se serverlogfilerne.
Logfiler vises i henhold til tidsstemplet. Klik på et hvilket som helst tidsstempel for at udvide det og se logfilens indhold og dets detaljer.
Hvis du nåede her, betyder det, at du har installeret og konfigureret ELK-stakken med filebeat. Har nogen problemer? Du er velkommen til at give os besked i kommentarerne nedenfor.