Vad är ett logghanteringsverktyg och bör du använda ett?

0
208
Kibana

Loggfiler innehåller mycket viktig information om hur din infrastruktur presterar, men när de är tusentals rader långa kan det vara svårt att få bra insikter från dem. Logghanteringsverktyg hjälper till att lösa detta problem.

Varför ska jag bry mig om loggfiler?

Varje anslutning till din webbserver loggas; när en användare begär en resurs, skrivs en rad i loggfilen. Du kan använda den här typen av loggar för att få en mycket exakt bild av trafiken som kommer in till din webbplats. De erbjuder ingen information om hur användaren interagerar med webbplatsen, som lämnas åt analysverktyg, men de berättar hur din webbserver hanterar varje begäran.

HTTP -statuskoden begäran loggas ofta, så dessa loggar kan vara användbara för att spåra trasiga länkar och fel som returnerar 404 (vilket kan påverka din webbplats rankning när sökmotorer som Google genomsöker webbplatsen), något som inte är ’ t returnerade med de flesta analysverktyg (eftersom din sida inte ens är laddad).

Program skapar loggar över fel, vilket är användbart för att spåra problem i backend. Om ett visst API orsakar fel kommer det att dyka upp i loggfilerna mycket snabbt. Dina egna program kräver att du implementerar dina egna loggar, men det finns gott om loggbibliotek som gör processen enklare.

Unix för loggar över allt som händer med systemet. Varje kommando du anger loggas till ~/.bash_history, varje inloggningsförsök (inklusive misslyckade, eventuellt skadliga) loggas till /var/log/auth.log, och de flesta andra systemhändelser genererar egna loggfiler, vanligtvis lagrade i /var/log/.

Problemet: För många servrar, för många loggar

De flesta applikationer lämnar efter sig stockar, ett spår av vad den applikationen har gjort. Vissa applikationer, som webbservrar, kan lämna efter sig många loggar, som kan bli tillräckligt stora för att fylla din servers hårddisk och behöver regelbundet rotera.

Annonsering

En server är tillräckligt svårt att hantera, men hantering av loggar som sprids över flera servrar kan bli en omöjlig uppgift, vilket kräver att du autentiserar på varje server och manuellt visar loggfilerna för just den maskinen.

Logghanteringsverktyg är lösningen på detta problem, så att du kan koncentrera dina loggar på ett ställe och se dem mycket lättare. Många tjänster erbjuder också visualiseringsverktyg, så du behöver inte gräva igenom tiotusen rader text för att hitta användbar data.

Hur gör du Logghanteringsverktyg Fungerar?

Ett logghanteringsverktyg som Fluentd kommer att köras på en server någonstans, oavsett om det ligger i molnet bakom ett hanterat webbgränssnitt eller själv värd på dina egna system. Servern som den körs på kallas en aggregatorserver och samlar in loggar från flera externa källor.

Processen börjar med att mata in — loggfiler från klientsystemet matas in i aggregatorn med hjälp av ett program som kallas en log shipper. Loggavsändare som rsyslog -biblioteket är lätta bibliotek som sitter på klientsystem och pekar mot den sammanlagda servern.

När loggfilerna är intagna är det upp till logghanteringsverktyget vad som händer med dem. För vissa verktyg räcker den enkla samlingen av dem, och de kan sorteras och matas in i en tidsseriedatabas som InfluxDB för vidare analys. För andra, som Graylog, är tjänsten byggd kring kvaliteten på deras visualiserings- och analysverktyg.

Vilket verktyg ska jag använda?

< p>

Elastic Stack (även kallad ELK -stacken) är en mycket populär loggplattform. Den består av fyra olika applikationer, alla öppen källkod med samma utvecklare. Det är helt gratis, men du måste vara värd för det själv.

  • Beats är lätta loggtransporter som är utformade för att installeras på klientmaskiner och skicka data till andra applikationer i stapeln.
  • Logstash är intagningsmotorn som kan ta data från Beats eller andra program som rsyslog och förbereda den för att skickas till Elasticsearch (eller en annan analysmotor).
  • < li>Elasticsearch är motorn i mitten av den elastiska stacken (efter vilken stacken heter). Den fungerar som en databas för lagring av dina loggar (och andra objekt) och exponerar ett RESTful API för användning i andra applikationer.

  • Kibana är frontend för Elastic Stack och tillhandahåller all visualisering, diagram, diagram och sökalternativ för slutanvändaren.

Annonsering

Många av verktygen i Elastic Stack är ganska plug and play med andra logghanteringsverktyg, så om du föredrar något annat kan du troligen byta ut det i stacken. Sammantaget kommer dock de flesta verktyg och ramar att följa samma allmänna struktur som Elastic Stack — log shipper & gt; intagningsmotor & gt; databas & gt; visualiseringsverktyg.

Fluentd och Filebeat är alternativa intagningsmotorer och skulle ersätta Logstash i stapeln. Dessa kan mata in data i en tidsseriedatabas som InfluxDB, som har ett inbyggt plugin för Grafana, en analys- och visualiseringsplattform.

Logwatch är ett mycket grundläggande kommandoradsverktyg som övervakar dina loggfiler och skickar en daglig rapport till dig. Det gör inte någon form av samling, så det är idealiskt för enstaka serveruppsättningar som vill ha lite mer inblick i sina servernes loggar.

Graylog ersätter Elastic Stack helt , och kräver bara externa loggtransporter för att få i sig data. Deras webbgränssnitt stöder att skapa anpassade diagram och instrumentpaneler för övervakning av dina loggar, men kan saknas jämfört med en installation med en korrekt databas och Grafana.

SolarWinds Papertrail är en fullständigt hanterad tjänst som visar loggar i realtid, vilket kan vara mycket användbart vid felsökning av problem med dina servrar. Deras planer är ganska billiga, segmenteras per GB och börjar på bara $ 7.

Annonsering

Splunk övervakar nästan allt som rör dina applikationer, inklusive loggar. Om du vill ha en omfattande analyspaket kan Splunk vara något för dig.

LogDNA är ett enkelt verktyg för analys av loggar med mycket billiga planer. Om du letar efter ett enkelt alternativ till att konfigurera en ELK -stack kan LogDNA installeras snabbt.