Overvåking og analyse av logger for forskjellige infrastrukturer i sanntid kan være en veldig kjedelig jobb. Når du arbeider med tjenester som webservere som stadig logger data, kan prosessen være veldig kompleks og nesten umulig.
Som sådan kan det å vite hvordan du bruker verktøy for å overvåke, visualisere og analysere logger i sanntid å spore og feilsøke problemer og overvåke mistenkelige systemaktiviteter.
Denne opplæringen vil diskutere hvordan du kan bruke en av de beste sanntidsloggsamlingene og analysere verktøy- Elk. Ved hjelp av elg, ofte kjent som Elasticsearch, Logstash og Kibana, kan du samle inn, logge og analysere data fra en Apache-webserver i sanntid.
Hva er Elk Stack?
Elk er et forkortelse som brukes til å referere til tre hovedverktøy for åpen kildekode: Elasticsearch, Logstash og Kibana.
Elasticsearch er et åpen kildekodeverktøy utviklet for å finne kamper i en stor samling av datasett ved hjelp av et utvalg spørringsspråk og typer. Det er et lett og raskt verktøy som er i stand til å håndtere terabyte med data enkelt.
Logstash Motor er en kobling mellom serversiden og Elasticsearch, slik at du kan samle inn data fra et utvalg av kilder til Elasticsearch. Det tilbyr kraftige API -er som er integrerte med applikasjoner utviklet på forskjellige programmeringsspråk med letthet.
Kibana er det siste stykket av elgstabelen. Det er et datavisualiseringsverktøy som lar deg analysere dataene visuelt og generere innsiktsfulle rapporter. Det tilbyr også grafer og animasjoner som kan hjelpe deg med å samhandle med dataene dine.
Elk Stack er veldig kraftig og kan gjøre utrolige dataanalytiske ting.
Selv om de forskjellige konseptene vi vil diskutere i denne opplæringen, vil gi deg en god forståelse av Elk Stack, bør du vurdere dokumentasjonen for mer informasjon.
Elasticsearch: https: // linkfy.til/Elasticsearch-Reference
Logstash: https: // linkfy.til/logstashreference
Kibana: https: // linkfy.til/kibanaguide
Hvordan installere Apache?
Før vi begynner å installere Apache og alle avhengigheter, er det godt å merke seg noen få ting.
Vi testet denne opplæringen på Debian 10.6, men det vil også fungere med andre Linux -distribusjoner.
Avhengig av systemkonfigurasjonen din, trenger du sudo- eller rottillatelser.
Elk Stack -kompatibilitet og brukervennlighet kan variere avhengig av versjoner.
Det første trinnet er å sikre at du har systemet ditt fullstendig oppdatert:
sudo apt-get oppdatering
sudo apt-get oppgradering
Neste kommando er å installere Apache2 -webserveren. Hvis du vil ha en minimal Apache installert, må du fjerne dokumentasjonen og verktøyene fra kommandoen nedenfor.
sudo apt-get installer apache2 apache2-utils apache2-doc -y
sudo service apache2 start
Nå bør du ha en Apache -server som kjører på systemet ditt.
Hvordan installere Elasticsearch, Logstash og Kibana?
Vi må nå installere Elk Stack. Vi installerer hvert verktøy individuelt.
Elasticsearch
La oss starte med å installere Elasticsearch. Vi kommer til å bruke APT til å installere den, men du kan få en stabil utgivelse fra den offisielle nedlastingssiden her:
https: // www.elastisk.co/nedlastinger/elasticsearch
Elasticsearch krever at Java løper. Heldigvis kommer den siste versjonen samlet med en OpenJDK -pakke, og fjerner bryet med å installere den manuelt. Hvis du trenger å gjøre en manuell installasjon, se følgende ressurs:
https: // www.elastisk.CO/Guide/EN/Elasticsearch/Reference/Current/Setup.HTML#JVM-VERSION
I neste trinn må vi laste ned og installere den offisielle elastiske passende signeringstasten ved hjelp av kommandoen:
WGET -QO - https: // gjenstander.elastisk.CO/GPG-Key-Elasticsearch | sudo apt-key add -
Før du fortsetter, kan det hende du trenger en apt-transport-HTTPS-pakke (som kreves for pakker som serveres over HTTPS) før du fortsetter med installasjonen.
sudo apt-get installere apt-transport-https
Legg nå apo -informasjonen til kildene til kildene.liste.D -fil.
ekko “Deb https: // artefacts.elastisk.CO/Pakker/7.X/Apt Stable Main ”| sudo tee/etc/apt/kilder.liste.d/elastic-7.x.liste
Oppdater deretter pakkelisten på systemet ditt.
sudo apt-get oppdatering
Installer Elasticsearch ved hjelp av kommandoen nedenfor:
sudo apt-get installer elasticsearch
Etter å ha installert Elasticsearch, start og aktiver en start på oppstart med SystemCTL -kommandoene:
sudo SystemCTL Daemon-Reload
sudo systemctl aktiver elasticsearch.service
sudo systemctl start elasticsearch
Tjenesten kan ta en stund å starte. Vent noen minutter og bekreft at tjenesten er i gang med kommandoen:
sudo systemctl status elasticsearch.service
Ved å bruke Curl, test om Elasticsearch API er tilgjengelig, som vist i JSON -utgangen nedenfor:
krøll -x få "localhost: 9200/?ganske"
"Navn": "Debian",
"Cluster_name": "Elasticsearch",
"cluster_uuid": "vzhcutuqssko1ryhqmdwsg",
"Versjon":
"nummer": "7.10.1",
"build_flavor": "standard",
"build_type": "Deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820z ",
"build_snapshot": falsk,
"Lucene_Version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
“Tagline”: “Du vet, for søk”
Hvordan installere logstash?
Installer logstash -pakken ved å bruke kommandoen:
sudo apt-get installer logstash
Hvordan installere Kibana?
Skriv inn kommandoen nedenfor for å installere Kibana:
sudo apt-get install kibana
Hvordan konfigurere Elasticsearch, Logstash og Kibana?
Slik konfigurerer du Elk Stack:
Hvordan konfigurere Elasticsearch?
I Elasticsearch blir data bestilt til indekser. Hver av disse indeksene har en eller flere skjær. En skjær er en selvstendig søkemotor som brukes til å håndtere og administrere indekser og spørsmål for en undergruppe i en klynge innen Elasticsearch. En skjær fungerer som et forekomst av en Lucene -indeks.
Standard elasticsearch -installasjon oppretter fem skjær og en kopi for hver indeks. Dette er en god mekanisme når du er i produksjon. I denne opplæringen vil vi imidlertid jobbe med en skjær og ingen replikker.
Begynn med å opprette en indeksmal i JSON -format. I filen vil vi angi antall skjær til ett og null kopier for matchende indeksnavn (utviklingsformål).
I Elasticsearch refererer en indeksmal til hvordan du instruerer Elasticsearch i å sette opp indeksen under opprettelsesprosessen.
Inne i JSON -malfilen (index_template.JSON), Skriv inn følgende instruksjoner:
"mal":"*",
"Innstillinger":
"Indeks":
"Number_of_shards": 1,
"number_of_replicas": 0
Bruk krøll, bruk JSON -konfigurasjonen på malen, som vil bli brukt på alle indekser som er opprettet.
Curl -x Put http: // localhost: 9200/_template/standards -h 'Content -Type: Application/json' -d @index_template.JSON
"anerkjent": true
Når den er brukt, vil Elasticsearch svare med en anerkjent: sann uttalelse.
Hvordan konfigurere logstash?
For at Logstash skal samle logger fra Apache, må vi konfigurere den til å se eventuelle endringer i loggene ved å samle inn, behandle, og deretter lagre loggene til Elasticsearch. For at det skal skje, må du sette opp samlingen Log Path i Logstash.
Begynn med å lage logstash -konfigurasjon i filen/etc/logstash/conf.d/apache.konf
input
fil
bane => '/var/www/*/logger/tilgang.Logg'
type => "Apache"
filter
Grok
match => "melding" => "%CombinedApachelog"
utgang
Elasticsearch
Sørg for å aktivere og starte logstash -tjenesten.
sudo systemctl aktiver logstash.service
sudo systemctl start logstash.service
Hvordan du aktiverer og konfigurerer kibana?
For å aktivere Kibana, rediger hoved .YML Config -fil som ligger i/etc/kibana/kibana.yml. Finn følgende oppføringer og ukommsomme dem. Når du er ferdig, bruk SystemCTL for å starte Kibana -tjenesten.
server.Port: 5601
server.Vert: "Localhost"
sudo systemctl aktiver kibana.Service && sudo SystemCTL Start Kibana.service
Kibana lager indeksmønstre basert på databehandlet. Derfor må du samle logger ved hjelp av logstash og lagre dem i Elasticsearch, som Kibana kan bruke. Bruk Curl for å generere logger fra Apache.
Når du har logger fra Apache, kan du starte Kibana i nettleseren din ved å bruke adressen http: // localhost: 5601, som vil starte kibana indekssiden.
I hovedsak må du konfigurere indeksmønsteret som brukes av Kibana for å søke etter logger og generere rapporter. Som standard bruker Kibana logstash* indeksmønsteret, som samsvarer med alle standardindeksene generert av logstash.
Hvis du ikke har noen konfigurasjon, klikker du på Opprett for å begynne å se loggene.
Hvordan se Kibana -logger?
Når du fortsetter å utføre Apache -forespørsler, vil Logstash samle loggene og legge dem til Elasticsearch. Du kan se disse loggene i Kibana ved å klikke på alternativet Discover på venstre meny.
Discover -fanen lar deg se loggene når serveren genererer dem. For å se detaljene i en logg, klikker du bare på rullegardinmenyen.
Les og forstå dataene fra Apache -logger.
Hvordan søke etter logger?
I Kibana -grensesnittet finner du en søkefelt som lar deg søke etter data ved hjelp av spørringsstrenger.
Eksempel: Status: aktiv
Lær mer om Elk Query Strings her:
https: // www.elastisk.CO/Guide/EN/Elasticsearch/Reference/5.5/Query-DSL-Query-String-Query.HTML#spørring-string-syntax
Siden vi har å gjøre med Apache -logger, er en mulig kamp en statuskode. Derfor, søk:
Svar: 200
Denne koden vil søke etter logger med statusakoden på 200 (OK) og vise den til Kibana.
Hvordan visualisere logger?
Du kan opprette visuelle dashbord i Kibana ved å velge Visualize -fanen. Velg typen dashbord for å opprette, og velg søkeindeksen. Du kan bruke standard for testformål.
Konklusjon
I denne guiden diskuterte vi en oversikt over hvordan du bruker Elk Stack til å administrere logger. Imidlertid er det mer med disse teknologiene som denne artikkelen kan dekke. Vi anbefaler å utforske på egen hånd.