Elastisk søgning

Visualiser Apache-logfiler med ELK Stack

Visualiser Apache-logfiler med ELK Stack

Overvågning og analyse af logfiler til forskellige infrastrukturer i realtid kan være et meget kedeligt job. Når man beskæftiger sig med tjenester som webservere, der konstant logger data, kan processen meget være kompleks og næsten umulig.

At vide, hvordan man bruger værktøjer til at overvåge, visualisere og analysere logfiler i realtid, kan hjælpe dig med at spore og fejlfinde problemer og overvåge mistænkelige systemaktiviteter.

Denne vejledning diskuterer, hvordan du kan bruge en af ​​de bedste realtidslogsamlinger og analyseværktøjer - ELK. Ved hjælp af ELK, almindeligvis kendt som Elasticsearch, Logstash og Kibana, kan du indsamle, logge og analysere data fra en apache-webserver i realtid.

Hvad er ELK Stack?

ELK er et akronym, der bruges til at henvise til tre hoved open source-værktøjer: Elasticsearch, Logstash og Kibana.

Elastiksøgning er et open source-værktøj, der er udviklet til at finde match i en stor samling datasæt ved hjælp af et udvalg af forespørgselssprog og -typer. Det er et let og hurtigt værktøj, der nemt kan håndtere terabyte data.

Logstash motor er et link mellem serversiden og Elasticsearch, så du kan indsamle data fra et udvalg af kilder til Elasticsearch. Det tilbyder kraftfulde API'er, der let kan integreres med applikationer, der er udviklet på forskellige programmeringssprog.

Kibana er det sidste stykke af ELK-stakken. Det er et datavisualiseringsværktøj, der giver dig mulighed for at analysere dataene visuelt og generere indsigtsfulde rapporter. Det tilbyder også grafer og animationer, der kan hjælpe dig med at interagere med dine data.

ELK stack er meget kraftfuld og kan gøre utrolige dataanalyseting.

Selvom de forskellige koncepter, vi diskuterer i denne vejledning, giver dig en god forståelse af ELK-stakken, skal du overveje dokumentationen for mere information.

Elastiksøgning: https: // linkfy.til / Elasticsearch-Reference

Logstash: https: // linkfy.til / LogstashReference

Kibana: https: // linkfy.til / KibanaGuide

Sådan installeres Apache?

Før vi begynder at installere Apache og alle afhængigheder, er det godt at bemærke et par ting.

Vi testede denne tutorial på Debian 10.6, men det fungerer også med andre Linux-distributioner.

Afhængigt af din systemkonfiguration har du brug for sudo- eller rodtilladelser.

ELK-stak-kompatibilitet og anvendelighed kan variere afhængigt af versioner.

Det første trin er at sikre, at du har dit system fuldt opdateret:

sudo apt-get opdatering
sudo apt-get opgradering

Den næste kommando er at installere apache2 webserveren. Hvis du vil have en minimal apache installeret, skal du fjerne dokumentationen og hjælpeprogrammerne fra kommandoen nedenfor.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo service apache2 start

Nu skal du have en Apache-server kørende på dit system.

Sådan installeres Elasticsearch, Logstash og Kibana?

Vi skal nu installere ELK-stakken. Vi installerer hvert værktøj individuelt.

Elastiksøgning

Lad os starte med at installere Elasticsearch. Vi skal bruge apt til at installere det, men du kan få en stabil frigivelse fra den officielle download-side her:

https: // www.elastisk.co / downloads / elastiksøgning

Elasticsearch kræver, at Java kører. Heldigvis leveres den nyeste version med en OpenJDK-pakke, der fjerner besværet med at installere den manuelt. Hvis du har brug for at udføre en manuel installation, henvises til følgende ressource:

https: // www.elastisk.co / guide / da / elasticsearch / reference / current / setup.html # jvm-version

I det næste trin skal vi downloade og installere den officielle elastiske APT-signaturnøgle ved hjælp af kommandoen:

wget -qO - https: // artefakter.elastisk.co / GPG-KEY-elasticsearch | sudo apt-key tilføj -

Inden du fortsætter, kan du kræve en apt-transport-https-pakke (kræves for pakker, der serveres over https), før du fortsætter med installationen.

sudo apt-get install apt-transport-https

Tilføj nu apt repo-oplysningerne til kilderne.liste.d-fil.

ekko “deb https: // artefakter.elastisk.co / pakker / 7.x / apt stabil hoved ”| sudo tee / etc / apt / sources.liste.d / elastik-7.x.liste

Opdater derefter pakkelisten på dit system.

sudo apt-get opdatering

Installer Elasticsearch ved hjælp af kommandoen nedenfor:

sudo apt-get install elasticsearch

Efter at have installeret Elasticsearch skal du starte og aktivere en start ved opstart med systemctl-kommandoerne:

sudo systemctl daemon-reload
sudo systemctl aktiver elastiksøgning.service
sudo systemctl start elasticsearch

Tjenesten kan tage et stykke tid at starte. Vent et par minutter, og bekræft, at tjenesten er i gang med kommandoen:

sudo systemctl status elasticsearch.service

Brug cURL til at teste, om Elasticsearch API er tilgængelig, som vist i JSON-output nedenfor:

krølle -X GET "localhost: 9200 /?smuk"

"name": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"version":
"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 ved, til søgning”

Sådan installeres Logstash?

Installer logstash-pakken ved hjælp af kommandoen:

sudo apt-get installer logstash

Sådan installeres Kibana?

Indtast kommandoen nedenfor for at installere kibana:

sudo apt-get install kibana

Sådan konfigureres Elasticsearch, Logstash og Kibana?

Sådan konfigureres ELK-stakken:

Sådan konfigureres elastiksøgning?

I Elasticsearch bliver data ordnet i indekser. Hvert af disse indekser har en eller flere skår. En skår er en selvstændig søgemaskine, der bruges til at håndtere og administrere indekser og forespørgsler til et delsæt i en klynge inden for Elasticsearch. En skår fungerer som en forekomst af et Lucene-indeks.

Standard Elasticsearch-installation opretter fem skår og en replika for hvert indeks. Dette er en god mekanisme under produktion. I denne vejledning arbejder vi dog med en skår og ingen replikaer.

Start med at oprette en indeksskabelon i JSON-format. I filen indstiller vi antallet af skår til en og nul replikaer til matchende indeksnavne (udviklingsformål).

I Elasticsearch henviser en indeksskabelon til, hvordan du instruerer Elasticsearch i at opsætte indekset under oprettelsesprocessen.

Inde i json-skabelonfilen (index_template.json), indtast følgende instruktioner:


"skabelon": "*",
"indstillinger":
"indeks":
"number_of_shards": 1,
"number_of_replicas": 0


Brug cURL til at anvende json-konfigurationen i skabelonen, som vil blive anvendt på alle oprettede indekser.

krølle -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.json
"anerkendt": sandt

Når den er anvendt, svarer Elasticsearch med en anerkendt: sand erklæring.

Sådan konfigureres Logstash?

For at Logstash kan samle logfiler fra Apache, skal vi konfigurere den til at se eventuelle ændringer i logfiler ved at indsamle, behandle og derefter gemme logfiler i Elasticsearch. For at dette skal ske, skal du konfigurere stien til indsamlingslogfilen i Logstash.

Start med at oprette Logstash-konfiguration i filen / etc / logstash / conf.d / apache.konf

input
fil
sti => '/ var / www / * / logs / adgang.log '
type => "apache"


filter
grok
match => "message" => "% COMBINEDAPACHELOG"


output
elastiksøgning

Sørg nu for at aktivere og starte logstash-tjenesten.

sudo systemctl aktiver logstash.service
sudo systemctl start logstash.service

Sådan aktiveres og konfigureres Kibana?

For at aktivere Kibana skal du redigere main .yml-konfigurationsfil placeret i / etc / kibana / kibana.yml. Find følgende poster og fjern kommentar til dem. Når du er færdig, skal du bruge systemctl til at starte Kibana-tjenesten.

server.havn: 5601
server.vært: "localhost"
sudo systemctl aktiver kibana.service && sudo systemctl start kibana.service

Kibana opretter indeksmønstre baseret på de behandlede data. Derfor skal du indsamle logfiler ved hjælp af Logstash og gemme dem i Elasticsearch, som Kibana kan bruge. Brug krølle til at generere logfiler fra Apache.

Når du har logfiler fra Apache, skal du starte Kibana i din browser ved hjælp af adressen http: // localhost: 5601, som starter Kibana-indekssiden.

I det væsentlige skal du konfigurere det indeksmønster, der bruges af Kibana til at søge efter logfiler og generere rapporter. Som standard bruger Kibana logstash * -indeksmønsteret, der matcher alle standardindeks genereret af Logstash.

Hvis du ikke har nogen konfiguration, skal du klikke på Opret for at begynde at se logfilerne.

Sådan får du vist Kibana-logfiler?

Når du fortsætter med at udføre Apache-anmodninger, samler Logstash logfilerne og føjer dem til Elasticsearch. Du kan se disse logfiler i Kibana ved at klikke på indstillingen Opdag i menuen til venstre.

Fanen Discover giver dig mulighed for at se logfilerne, når serveren genererer dem. For at se detaljerne i en log skal du blot klikke på rullemenuen.

Læs og forstå dataene fra Apache-logfilerne.

Sådan søges efter logfiler?

I Kibana-grænsefladen finder du en søgefelt, der giver dig mulighed for at søge efter data ved hjælp af forespørgselsstrenge.

Eksempel: status: aktiv

Lær mere om ELK-forespørgselsstrenge her:

https: // www.elastisk.co / guide / da / elasticsearch / reference / 5.5 / forespørgsel-dsl-forespørgsel-streng-forespørgsel.html # forespørgsel-streng-syntaks

Da vi har at gøre med Apache-logfiler, er et muligt match en statuskode. Søg derfor:

svar: 200

Denne kode søger efter logfiler med statuskoden 200 (OK) og viser den til Kibana.

Sådan visualiseres logfiler?

Du kan oprette visuelle dashboards i Kibana ved at vælge fanen Visualiser. Vælg den type dashboard, du vil oprette, og vælg dit søgeindeks. Du kan bruge standard til testformål.

Konklusion

I denne vejledning diskuterede vi en oversigt over, hvordan man bruger ELK-stakken til at styre logfiler. Der er dog mere ved disse teknologier, som denne artikel kan dække. Vi anbefaler at udforske på egen hånd.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...