Elastisk sökning

Visualisera Apache-loggar med ELK Stack

Visualisera Apache-loggar med ELK Stack

Att övervaka och analysera loggar för olika infrastrukturer i realtid kan vara ett mycket tråkigt jobb. När vi hanterar tjänster som webbservrar som ständigt loggar data kan processen vara mycket komplicerad och nästan omöjlig.

Att veta hur man använder verktyg för att övervaka, visualisera och analysera loggar i realtid kan hjälpa dig att spåra och felsöka problem och övervaka misstänkta systemaktiviteter.

Denna handledning diskuterar hur du kan använda en av de bästa realtidsloggsamlingarna och analysverktygen - ELK. Med ELK, allmänt känt som Elasticsearch, Logstash och Kibana, kan du samla in, logga och analysera data från en apache-webbserver i realtid.

Vad är ELK Stack?

ELK är en akronym som används för att hänvisa till tre huvudverktyg med öppen källkod: Elasticsearch, Logstash och Kibana.

Elasticsearch är ett verktyg för öppen källkod som är utvecklat för att hitta matchningar i en stor samling datauppsättningar med ett urval av frågespråk och -typer. Det är ett lätt och snabbt verktyg som kan hantera terabyte data enkelt.

Logstash motorn är en länk mellan serversidan och Elasticsearch, så att du kan samla in data från ett urval av källor till Elasticsearch. Det erbjuder kraftfulla API: er som är integrerade med applikationer som utvecklats på olika programmeringsspråk med lätthet.

Kibana är den sista delen av ELK-stacken. Det är ett datavisualiseringsverktyg som låter dig analysera data visuellt och generera insiktsfulla rapporter. Det erbjuder också grafer och animationer som kan hjälpa dig att interagera med dina data.

ELK stack är mycket kraftfull och kan göra otroliga dataanalys saker.

Även om de olika begreppen som vi kommer att diskutera i den här handledningen kommer du att få en bra förståelse för ELK-stacken, överväg dokumentationen för mer information.

Elasticsearch: https: // linkfy.till / Elasticsearch-Reference

Logstash: https: // linkfy.till / LogstashReference

Kibana: https: // linkfy.till / KibanaGuide

Hur man installerar Apache?

Innan vi börjar installera Apache och alla beroenden är det bra att notera några saker.

Vi testade den här guiden på Debian 10.6, men det fungerar också med andra Linux-distributioner.

Beroende på din systemkonfiguration behöver du sudo- eller root-behörigheter.

ELK-stackkompatibilitet och användbarhet kan variera beroende på versioner.

Det första steget är att säkerställa att ditt system är fullständigt uppdaterad:

sudo apt-get-uppdatering
sudo apt-get uppgradering

Nästa kommando är att installera apache2-webbservern. Om du vill ha en minimal apache installerad tar du bort dokumentationen och verktygen från kommandot nedan.

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

Nu bör du ha en Apache-server som körs på ditt system.

Hur man installerar Elasticsearch, Logstash och Kibana?

Vi måste nu installera ELK-stacken. Vi installerar varje verktyg separat.

Elasticsearch

Låt oss börja med att installera Elasticsearch. Vi kommer att använda apt för att installera det, men du kan få en stabil release från den officiella nedladdningssidan här:

https: // www.elastisk.co / nedladdningar / elasticsearch

Elasticsearch kräver att Java körs. Lyckligtvis levereras den senaste versionen med ett OpenJDK-paket, vilket tar bort besväret med att installera det manuellt. Om du behöver göra en manuell installation, se följande resurs:

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

I nästa steg måste vi ladda ner och installera den officiella elastiska APT-signeringsnyckeln med kommandot:

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

Innan du fortsätter kan du behöva ett apt-transport-https-paket (krävs för paket som serveras via https) innan du fortsätter med installationen.

sudo apt-get install apt-transport-https

Lägg nu till apt repo-informationen till källorna.lista.d-fil.

echo “deb https: // artefakter.elastisk.co / paket / 7.x / apt stabil huvud ”| sudo tee / etc / apt / sources.lista.d / elastisk-7.x.lista

Uppdatera sedan paketlistan på ditt system.

sudo apt-get-uppdatering

Installera Elasticsearch med kommandot nedan:

sudo apt-get install elasticsearch

Efter att ha installerat Elasticsearch, starta och aktivera en start vid start med systemctl-kommandona:

sudo systemctl daemon-reload
sudo systemctl aktivera elasticsearch.service
sudo systemctl start elasticsearch

Tjänsten kan ta ett tag att starta. Vänta några minuter och bekräfta att tjänsten är igång med kommandot:

sudo systemctl status elasticsearch.service

Använd cURL och testa om Elasticsearch API är tillgängligt, som visas i JSON-utdata nedan:

curl -X GET "localhost: 9200 /?Söt"

"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": falskt,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
“Tagline”: “Du vet, för sökning”

Hur man installerar Logstash?

Installera logstash-paketet med kommandot:

sudo apt-get install logstash

Hur man installerar Kibana?

Ange kommandot nedan för att installera kibana:

sudo apt-get install kibana

Så här konfigurerar du Elasticsearch, Logstash och Kibana?

Så här konfigurerar du ELK-stacken:

Hur man konfigurerar Elasticsearch?

I Elasticsearch beställs data i index. Var och en av dessa index har en eller flera skärvor. A shard är en fristående sökmotor som används för att hantera och hantera index och frågor för en delmängd i ett kluster inom Elasticsearch. En skärva fungerar som en förekomst av ett Lucene-index.

Standard Elasticsearch-installation skapar fem skärvor och en replik för varje index. Detta är en bra mekanism när du är i produktion. I denna handledning kommer vi dock att arbeta med en skärva och inga repliker.

Börja med att skapa en indexmall i JSON-format. I filen kommer vi att ställa in antalet skärvor till en och noll repliker för matchande indexnamn (utvecklingsändamål).

I Elasticsearch hänvisar en indexmall till hur du instruerar Elasticsearch att ställa in indexet under skapandet.

Inuti json-mallfilen (index_template.json), ange följande instruktioner:


"mall":"*",
"inställningar":
"index":
"number_of_shards": 1,
"number_of_replicas": 0


Använd cURL och applicera json-konfigurationen på mallen som kommer att tillämpas på alla skapade index.

curl -X PUT http: // localhost: 9200 / _template / default -H 'Content-Type: application / json' -d @index_template.json
"erkänt": sant

En gång tillämpad kommer Elasticsearch att svara med ett erkänt: sant uttalande.

Hur man konfigurerar Logstash?

För att Logstash ska samla in loggar från Apache, måste vi konfigurera den för att titta på eventuella ändringar i loggarna genom att samla in, bearbeta och sedan spara loggarna i Elasticsearch. För att det ska hända måste du ställa in samlingsloggvägen i Logstash.

Börja med att skapa Logstash-konfiguration i filen / etc / logstash / conf.d / apache.konf

inmatning
fil
sökväg => '/ var / www / * / logs / access.logga'
typ => "apache"


filtrera
grok
match => "meddelande" => "% COMBINEDAPACHELOG"


utdata
elasticsearch

Se nu till att aktivera och starta logstash-tjänsten.

sudo systemctl aktivera logstash.service
sudo systemctl starta logstash.service

Hur man aktiverar och konfigurerar Kibana?

För att aktivera Kibana, redigera huvudet .yml-konfigurationsfil i / etc / kibana / kibana.yml. Leta reda på följande poster och avmarkera dem. När du är klar använder du systemctl för att starta Kibana-tjänsten.

server.port: 5601
server.värd: "localhost"
sudo systemctl aktiverar kibana.service && sudo systemctl start kibana.service

Kibana skapar indexmönster baserat på den bearbetade data. Därför måste du samla in loggar med Logstash och lagra dem i Elasticsearch, som Kibana kan använda. Använd curl för att generera loggar från Apache.

När du har loggar från Apache, starta Kibana i din webbläsare med adressen http: // localhost: 5601, som startar Kibana indexsida.

I huvudsak måste du konfigurera det indexmönster som används av Kibana för att söka efter loggar och generera rapporter. Som standard använder Kibana logstash * -indexmönstret, som matchar alla standardindex som genereras av Logstash.

Om du inte har någon konfiguration klickar du på skapa för att börja visa loggarna.

Hur man visar Kibana-loggar?

När du fortsätter att utföra Apache-förfrågningar samlar Logstash loggarna och lägger till dem i Elasticsearch. Du kan visa dessa loggar i Kibana genom att klicka på alternativet Upptäck i den vänstra menyn.

På fliken Discover kan du visa loggarna när servern genererar dem. Klicka på rullgardinsmenyn för att visa detaljerna i en logg.

Läs och förstå data från Apache-loggarna.

Hur man söker efter loggar?

I Kibana-gränssnittet hittar du ett sökfält som låter dig söka efter data med hjälp av frågesträngar.

Exempel: status: aktiv

Läs mer om ELK-frågesträngar här:

https: // www.elastisk.co / guide / sv / elasticsearch / reference / 5.5 / fråga-dsl-fråga-sträng-fråga.html # query-string-syntax

Eftersom vi har att göra med Apache-loggar är en möjlig matchning en statuskod. Sök därför:

svar: 200

Den här koden söker efter loggar med statuskoden 200 (OK) och visar den för Kibana.

Hur man visualiserar loggar?

Du kan skapa visuella instrumentpaneler i Kibana genom att välja fliken Visualisera. Välj vilken typ av instrumentpanel som ska skapas och välj ditt sökindex. Du kan använda standard för teständamål.

Slutsats

I den här guiden diskuterade vi en översikt över hur man använder ELK-stacken för att hantera loggar. Det finns dock mer i dessa tekniker som den här artikeln kan täcka. Vi rekommenderar att du utforskar på egen hand.

Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...