Elastisch zoeken

Visualiseer Apache-logboeken met ELK Stack

Visualiseer Apache-logboeken met ELK Stack

Het in realtime monitoren en analyseren van logbestanden voor verschillende infrastructuren kan een zeer vervelende klus zijn. Als je te maken hebt met services zoals webservers die constant gegevens loggen, kan het proces erg complex en bijna onmogelijk zijn.

Als u weet hoe u tools moet gebruiken om logboeken in realtime te bewaken, visualiseren en analyseren, kunt u problemen opsporen en oplossen, en verdachte systeemactiviteiten bewaken.

In deze zelfstudie wordt besproken hoe u een van de beste realtime logboekverzamelingen en analysetools kunt gebruiken - ELK. Met ELK, algemeen bekend als Elasticsearch, Logstash en Kibana, kunt u in realtime gegevens van een apache-webserver verzamelen, loggen en analyseren.

Wat is ELK Stack??

ELK is een acroniem dat wordt gebruikt om te verwijzen naar drie belangrijke open-sourcetools: Elasticsearch, Logstash en Kibana.

Elastisch zoeken is een open-source tool die is ontwikkeld om overeenkomsten te vinden binnen een grote verzameling datasets met behulp van een selectie van querytalen en -typen. Het is een lichtgewicht en snel hulpmiddel dat gemakkelijk terabytes aan gegevens kan verwerken.

Logstash engine is een koppeling tussen de server-side en Elasticsearch, zodat u gegevens uit een selectie van bronnen kunt verzamelen voor Elasticsearch. Het biedt krachtige API's die gemakkelijk kunnen worden geïntegreerd met applicaties die in verschillende programmeertalen zijn ontwikkeld.

Kibana is het laatste stuk van de ELK-stapel. Het is een tool voor gegevensvisualisatie waarmee u de gegevens visueel kunt analyseren en inzichtelijke rapporten kunt genereren. Het biedt ook grafieken en animaties die u kunnen helpen om met uw gegevens om te gaan.

ELK-stack is zeer krachtig en kan ongelooflijke dingen op het gebied van gegevensanalyse doen.

Hoewel de verschillende concepten die we in deze tutorial zullen bespreken u een goed begrip van de ELK-stack zullen geven, kunt u de documentatie raadplegen voor meer informatie.

Elastisch zoeken: https://linkfy.naar/Elasticsearch-Referentie

Logstash: https://linkfy.naar/LogstashReferentie

Kibana: https://linkfy.naar/KibanaGuide

Apache installeren?

Voordat we Apache en alle afhankelijkheden gaan installeren, is het goed om een ​​paar dingen op te merken.

We hebben deze tutorial getest op Debian 10.6, maar het werkt ook met andere Linux-distributies.

Afhankelijk van je systeemconfiguratie heb je sudo- of root-rechten nodig.

ELK-stackcompatibiliteit en bruikbaarheid kunnen variëren, afhankelijk van de versies.

De eerste stap is ervoor te zorgen dat uw systeem volledig is bijgewerkt:

sudo apt-get update
sudo apt-get upgrade

De volgende opdracht is om de apache2-webserver te installeren. Als je een minimale apache wilt installeren, verwijder dan de documentatie en hulpprogramma's van de onderstaande opdracht:.

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

Inmiddels zou er een Apache-server op uw systeem moeten draaien.

Elasticsearch, Logstash en Kibana installeren?

We moeten nu de ELK-stack installeren. We zullen elke tool afzonderlijk installeren.

Elastisch zoeken

Laten we beginnen met het installeren van Elasticsearch. We gaan apt gebruiken om het te installeren, maar je kunt hier een stabiele release krijgen van de officiële downloadpagina:

https://www.elastisch.co/downloads/elastisch zoeken

Elasticsearch vereist dat Java wordt uitgevoerd. Gelukkig wordt de nieuwste versie geleverd met een OpenJDK-pakket, waardoor het gedoe van handmatig installeren wordt weggenomen. Raadpleeg de volgende bron als u een handmatige installatie moet uitvoeren:

https://www.elastisch.co/guide/nl/elastisch zoeken/referentie/huidig/setup.html#jvm-versie

In de volgende stap moeten we de officiële Elastic APT-ondertekeningssleutel downloaden en installeren met behulp van de opdracht:

wget -qO - https://artifacts.elastisch.co/GPG-KEY-elastisch zoeken | sudo apt-key add -

Voordat u doorgaat, heeft u mogelijk een apt-transport-https-pakket nodig (vereist voor pakketten die via https worden aangeboden) voordat u doorgaat met de installatie.

sudo apt-get install apt-transport-https

Voeg nu de apt repo-informatie toe aan de bronnen.lijst.d bestand.

echo “deb https://artifacts.elastisch.co/pakketten/7.x/apt stabiel hoofd” | sudo tee /etc/apt/sources.lijst.d/elastisch-7.X.lijst

Werk vervolgens de pakkettenlijst op uw systeem bij.

sudo apt-get update

Installeer Elasticsearch met behulp van de onderstaande opdracht:

sudo apt-get install elasticsearch

Nadat Elasticsearch is geïnstalleerd, start en activeer je een start bij het opstarten met de systemctl-opdrachten:

sudo systemctl daemon-reload
sudo systemctl activeer elasticsearch.onderhoud
sudo systemctl start elasticsearch

De service kan even duren om te starten. Wacht een paar minuten en bevestig dat de service actief is met de opdracht:

sudo systemctl status elasticsearch.onderhoud

Test met cURL of de Elasticsearch-API beschikbaar is, zoals weergegeven in de JSON-uitvoer hieronder:

curl -X GET "localhost:9200/?mooi"

"naam" : "debian",
"cluster_name" : "elastisch zoeken",
"cluster_uuid" : "VZHcuTUqSsKO1ryHqMDWsg",
"versie" :
"nummer" : "7.10.1",
"build_flavor" : "standaard",
"build_type" : "deb",
"build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date" : "2020-12-05T01:00:33.671820Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-bèta1"
,
"Tagline": "Je weet wel, voor zoeken"

Hoe Logstash te installeren?

Installeer het logstash-pakket met behulp van de opdracht:

sudo apt-get install logstash

Hoe Kibana te installeren?

Voer de onderstaande opdracht in om kibana te installeren:

sudo apt-get install kibana

Elasticsearch, Logstash en Kibana configureren?

Zo configureert u de ELK-stack:

Elasticsearch configureren?

In Elasticsearch worden gegevens geordend in indices. Elk van deze indexen heeft een of meer shard. Een shard is een op zichzelf staande zoekmachine die wordt gebruikt voor het afhandelen en beheren van indexen en zoekopdrachten voor een subset in een cluster binnen Elasticsearch. Een scherf werkt als een instantie van een Lucene-index.

Standaard Elasticsearch-installatie maakt vijf shards en één replica voor elke index. Dit is een goed mechanisme in productie. In deze zelfstudie werken we echter met één scherf en geen replica's.

Begin met het maken van een indexsjabloon in JSON-indeling. In het bestand stellen we het aantal shards in op één en nul replica's voor het matchen van indexnamen (ontwikkelingsdoeleinden).

In Elasticsearch verwijst een indexsjabloon naar hoe u Elasticsearch instrueert bij het instellen van de index tijdens het creatieproces.

In het json-sjabloonbestand (index_template.json), voer de volgende instructies in:


"sjabloon":"*",
"instellingen":
"inhoudsopgave":
"number_of_shards":1,
"aantal_replica's":0


Gebruik cURL om de json-configuratie toe te passen op de sjabloon, die wordt toegepast op alle gemaakte indices.

curl -X PUT http://localhost:9200/_template/defaults -H 'Content-Type:application/json' -d @index_template.json
"erkend":true

Eenmaal toegepast, zal Elasticsearch reageren met een bevestigde: ware verklaring.

Logstash configureren?

Om Logstash logboeken van Apache te laten verzamelen, moeten we het configureren om eventuele wijzigingen in de logboeken te bekijken door de logboeken te verzamelen, te verwerken en vervolgens op te slaan in Elasticsearch. Om dat te laten gebeuren, moet u het verzamellogpad instellen in Logstash.

Begin met het maken van een Logstash-configuratie in het bestand /etc/logstash/conf.d/apache.conf

invoer
het dossier
path => '/var/www/*/logs/access.log'
typ => "apache"


filteren
griek
match => "message" => "%COMBINEDAPACHELOG"


uitvoer
elastisch zoeken

Zorg er nu voor dat u de logstash-service inschakelt en start.

sudo systemctl logstash inschakelen.onderhoud
sudo systemctl start logstash.onderhoud

Kibana inschakelen en configureren?

Om Kibana in te schakelen, bewerkt u de main .yml-configuratiebestand in /etc/kibana/kibana.yml. Zoek de volgende vermeldingen en verwijder ze uit commentaar. Als u klaar bent, gebruikt u systemctl om de Kibana-service te starten.

server.poort: 5601
server.host: "localhost"
sudo systemctl enable kibana.service && sudo systemctl start kibana.onderhoud

Kibana maakt indexpatronen op basis van de verwerkte gegevens. Daarom moet u logboeken verzamelen met Logstash en deze opslaan in Elasticsearch, dat Kibana kan gebruiken. Gebruik curl om logboeken van Apache te genereren.

Zodra u logboeken van Apache hebt, start u Kibana in uw browser met het adres http://localhost:5601, waarmee de Kibana-indexpagina wordt gestart.

In het algemeen moet u het indexpatroon configureren dat door Kibana wordt gebruikt om naar logboeken te zoeken en rapporten te genereren. Kibana gebruikt standaard het logstash*-indexpatroon, dat overeenkomt met alle standaardindexen die door Logstash zijn gegenereerd.

Als u geen configuratie heeft, klikt u op maken om de logs te bekijken.

Kibana-logboeken bekijken?

Terwijl u doorgaat met het uitvoeren van Apache-verzoeken, verzamelt Logstash de logboeken en voegt deze toe aan Elasticsearch. U kunt deze logs in Kibana bekijken door op de optie Ontdekken in het linkermenu te klikken.

Op het tabblad Ontdekken kunt u de logboeken bekijken terwijl de server ze genereert. Om de details van een logboek te bekijken, klikt u op het vervolgkeuzemenu.

De gegevens uit de Apache-logboeken lezen en begrijpen.

Logboeken zoeken?

In de Kibana-interface vindt u een zoekbalk waarmee u naar gegevens kunt zoeken met behulp van queryreeksen.

Voorbeeld: status:actief

Lees hier meer over ELK-querystrings:

https://www.elastisch.co/guide/nl/elastisch zoeken/referentie/5.5/query-dsl-query-string-query.html#query-string-syntaxis

Aangezien we te maken hebben met Apache-logboeken, is een mogelijke overeenkomst een statuscode. Zoek daarom:

reactie: 200

Deze code zoekt naar logboeken met de statuscode 200 (OK) en geeft deze weer aan Kibana.

Logboeken visualiseren?

U kunt visuele dashboards maken in Kibana door het tabblad Visualiseren te selecteren. Selecteer het type dashboard dat u wilt maken en selecteer uw zoekindex. U kunt de standaard gebruiken voor testdoeleinden.

Conclusie

In deze handleiding hebben we een overzicht besproken van het gebruik van de ELK-stack om logboeken te beheren manage. Er is echter meer aan deze technologieën dat dit artikel kan behandelen. We raden aan om zelf te verkennen.

Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...
Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...
De scrollrichting van de muis en touchpads omkeren in Windows 10
Muis en Touchpads maken computergebruik niet alleen eenvoudig, maar ook efficiënter en minder tijdrovend. We kunnen ons een leven zonder deze apparate...