4 Dobra odprtokodna orodja za nadzor in upravljanje dnevnikov za Linux


Ko se izvaja operacijski sistem, kot je Linux, se v ozadju dogajajo številni dogodki in procesi, ki omogočajo učinkovito in zanesljivo uporabo sistemskih virov. Ti dogodki se lahko zgodijo v sistemski programski opremi, na primer v postopku init ali systemd ali v uporabniških aplikacijah, kot so Apache, MySQL, FTP in mnogih drugih.

Da bi razumeli stanje sistema in različnih aplikacij ter kako delujejo, morajo sistemski skrbniki vsakodnevno pregledovati dnevniške datoteke v proizvodnih okoljih.

Lahko si predstavljate, da bi morali pregledati dnevniške datoteke z več sistemskih področij in aplikacij, kjer so dnevniški sistemi prav prišli. Pomagajo pri spremljanju, pregledu, analizi in celo ustvarjanju poročil iz različnih dnevniških datotek, kot jih je konfiguriral sistemski skrbnik.

  • Kako spremljati uporabo sistema, izpadov in odpravljanje težav s sistemi Linux
  • Kako upravljati dnevnike strežnika (konfigurirati in sukati) v Linuxu
  • Kako spremljati dnevnike strežnika Linux v realnem času z orodjem Log.io

V tem članku si bomo ogledali štiri najpogosteje uporabljene odprtokodne sisteme za upravljanje beleženja v Linuxu danes, standardni protokol beleženja v večini, če ne v vseh distribucijah danes, pa je Syslog.

1. Graylog 2

centralizirano orodje za upravljanje beleženja, ki se pogosto uporablja za zbiranje in pregledovanje dnevnikov v različnih okoljih, vključno s preskusnimi in proizvodnimi okolji. Enostaven za namestitev in zelo priporočljiv za mala podjetja.

Graylog vam pomaga enostavno zbrati podatke iz več naprav, vključno z omrežnimi stikali, usmerjevalniki in brezžičnimi dostopnimi točkami. Integrira se z analitičnim mehanizmom Elasticsearch in izkorišča MongoDB za shranjevanje podatkov, zbrani dnevniki pa ponujajo globoke vpoglede in so v pomoč pri odpravljanju napak in napak sistema.

Z Graylogom dobite urejen in miren spletni uporabniški vmesnik s kul nadzornimi ploščami, ki vam pomagajo brez težav slediti podatkom. Prav tako dobite nabor čudovitih orodij in funkcij, ki pomagajo pri reviziji skladnosti, iskanju groženj in še veliko več. Obvestila lahko omogočite tako, da se opozorilo sproži, ko je izpolnjen določen pogoj ali pride do težave.

Na splošno Graylog precej dobro opravi zbiranje velikih količin podatkov in poenostavi iskanje in analizo podatkov. Najnovejša različica je Graylog 4.0 in ponuja nove funkcije, kot so temni način, integracija s slack in ElasticSearch 7 ter še veliko več.

2. Preverjanje dnevnika

Logcheck je še eno odprtokodno orodje za nadzor dnevnikov, ki se izvaja kot cron opravilo. Prebere tisoče dnevniških datotek, da zazna kršitve ali sistemske dogodke, ki se sprožijo. Nato Logcheck pošlje podroben povzetek opozoril na konfiguriran e-poštni naslov, da opozori operativne ekipe na težavo, kot je nepooblaščena kršitev ali sistemska napaka.

V tem sistemu beleženja so razvite tri različne stopnje filtriranja dnevniških datotek, ki vključuje:

  • Paranoid: namenjen je visoko varnim sistemom, ki izvajajo zelo malo storitev.
  • Strežnik: to je privzeta raven filtriranja za preverjanje dnevnika in njegova pravila so določena za številne različne sistemske demone. V to raven so vključena tudi pravila, opredeljena na paranoični ravni.
  • Delovna postaja: je za zaščitene sisteme in pomaga filtrirati večino sporočil. Vključuje tudi pravila, opredeljena v paranoični in strežniški ravni.

Logcheck lahko tudi razvrsti sporočila, ki jih je treba sporočiti, v tri možne plasti, ki vključujejo varnostne dogodke, sistemske dogodke in opozorila o sistemskih napadih. Sistemski skrbnik lahko izbere raven podrobnosti, na katero se poročajo sistemski dogodki, odvisno od stopnje filtriranja, čeprav to ne vpliva na varnostne dogodke in opozorila o sistemskih napadih.

Logcheck ponuja naslednje funkcije:

  • Vnaprej določene predloge poročil.
  • Mehanizem za filtriranje dnevnikov z uporabo regularnih izrazov.
  • Takojšnja e-poštna obvestila.
  • Takojšnja varnostna opozorila.

3. Logwatch

Logwatch je odprtokodna in zelo prilagodljiva aplikacija za zbiranje in analizo dnevnikov. Razčleni sistemske dnevnike in dnevnike aplikacij ter ustvari poročilo o delovanju aplikacij. Poročilo je dostavljeno v ukazni vrstici ali prek namenskega e-poštnega naslova.

Logwatch lahko enostavno prilagodite svojim željam tako, da spremenite parametre v poti/etc/logwatch/conf. Zagotavlja tudi nekaj dodatnega na način vnaprej napisanih skriptov PERL za lažje razčlenjevanje dnevnikov.

Logwatch ima stopenjski pristop in na treh glavnih lokacijah so določene podrobnosti o konfiguraciji:

  • /usr/share/logwatch/default.conf/*
  • /etc/logwatch/conf/dist.conf/*
  • /etc/logwatch/conf/*

Vse privzete nastavitve so določene v datoteki /usr/share/logwatch/default.conf/logwatch.conf. Priporočena praksa je, da pustite to datoteko nedotaknjeno in namesto tega ustvarite svojo konfiguracijsko datoteko na poti/etc/logwatch/conf/s kopiranjem prvotne konfiguracijske datoteke in nato določite nastavitve po meri.

Najnovejša različica Logwatch je različica 7.5.5 in nudi podporo za poizvedovanje po sistemskem dnevniku neposredno z uporabo journalctl. Če si lastnega orodja za upravljanje dnevnikov ne morete privoščiti, vam bo Logwatch dal mir, saj veste, da bodo zabeleženi vsi dogodki in poslana obvestila, če se kaj zalomi.

4. Logstash

Logstash je odprtokodni cevovod za obdelavo podatkov na strežniški strani, ki sprejema podatke iz številnih virov, vključno z lokalnimi datotekami ali porazdeljenimi sistemi, kot je S3. Nato dnevnike obdela in preusmeri na platforme, kot je Elasticsearch, kjer se kasneje analizirajo in arhivirajo. Je precej zmogljivo orodje, saj lahko zaužije količine dnevnikov iz več aplikacij in jih pozneje istočasno pošlje v različne zbirke podatkov ali motorje.

Logstash strukturira nestrukturirane podatke in izvaja geolokacijske poizvedbe, anonimizira osebne podatke in meri tudi na več vozliščih. Obstaja obsežen seznam virov podatkov, s katerimi lahko poslušate Logstash, vključno s SNMP, utripi, Syslog, Kafka, lutka, dnevnik dogodkov v sistemu Windows itd

Logstash se zanaša na "beats", ki so lahki pošiljatelji podatkov, ki podatke podajajo Logstash-u za razčlenjevanje in strukturiranje itd. Podatki se nato pošljejo na druge cilje, kot so Google Cloud, MongoDB in Elasticsearch za indeksiranje. Logstash je ključna komponenta Elastic Stacka, ki uporabnikom omogoča, da podatke sestavijo v kakršni koli obliki, jih razčlenijo in vizualizirajo na interaktivnih nadzornih ploščah.

Še več, Logstash uživa široko podporo skupnosti in redne posodobitve.

Povzetek

Za zdaj je to in ne pozabite, da to niso vsi razpoložljivi sistemi za upravljanje dnevnikov, ki jih lahko uporabljate v Linuxu. V prihodnjih člankih bomo še naprej pregledovali in posodabljali seznam. Upam, da vam je ta članek koristen in nam lahko sporočite druga pomembna orodja ali sisteme za beleženje, tako da pustite komentar.