![Beste Kodi-tillegg til å se filmer, TV-serier og mer 2021](/f/067294d9c19487c8e9821969daf830f0.jpg?width=100&height=100)
Loggbehandling er en av de mest kritiske komponentene i en nettverksinfrastruktur. Loggmeldinger genereres stadig av en rekke systemprogramvare, for eksempel verktøy, applikasjoner, demoner, tjenester knyttet til nettverk, kjerne, fysiske enheter og så videre.
Loggfiler viser seg å være nyttige i tilfelle feilsøking av Linux -systemproblemer, overvåke systemet og gjennomgå en systemsikkerhetsstyrke og problemer.
Rsyslog er et Open Source -loggeprogram, som er den mest populære loggingsmekanismen i et stort antall Linux -distribusjoner. Det er også standard påloggingstjeneste CentOS 7 eller RHEL 7.
Rsyslog daemon i CentOS kan konfigureres til å kjøre som en server for å samle loggmeldinger fra flere nettverksenheter. Disse enhetene fungerer som klienter og er konfigurert til å overføre loggene sine til en rsyslog -server.
Imidlertid er Rsyslog tjenesten kan også konfigureres og startes i klientmodus. Dette oppsettet instruerer rsyslog -demonen om å videresende loggmeldinger til en ekstern Rsyslog -server ved hjelp av TCP- eller UDP -transportprotokollene. Rsyslog -tjenesten kan også konfigureres til å kjøre som en klient og som en server samtidig.
I denne opplæringen beskriver vi hvordan du konfigurerer a CentOS/RHEL 7 Rsyslog -demon for å sende loggmeldinger til en ekstern Rsyslog -server. Dette oppsettet sikrer at maskinens diskplass kan bevares for lagring av andre data.
Stedet der nesten alle loggfiler er skrevet som standard på CentOS er den /var
systembane. Det er også lurt å alltid opprette en egen partisjon for /var
katalog, som kan dyrkes dynamisk, for ikke å tømme /(root)
skillevegg.
An Rsyslog klienten sender alltid loggmeldingene i ren tekst, hvis ikke annet er spesifisert. Du bør ikke sette opp en Rsyslog -klient for å overføre loggmeldinger over Internett eller nettverk som ikke er under full kontroll.
1. Som standard er Rsyslog -demonen allerede installert og kjører i et CentOS 7 -system. For å bekrefte om rsyslog -tjenesten er tilstede i systemet, må du utstede følgende kommandoer.
# rpm -q | grep rsyslog. # rsyslogd -v.
2. Hvis Rsyslog -pakken ikke er installert i CentOS, utfør kommandoen nedenfor for å installere tjenesten.
# yum installer rsyslog.
3. For å håndheve Rsyslog -demonen installert på en CentOS 7 system for å fungere som en loggklient og rute alle lokalt genererte loggmeldinger til en ekstern Rsyslog -server, må du endre rsyslog -konfigurasjonsfilen som følger:
Åpne først hovedkonfigurasjonsfilen for redigering.
# vi /etc/rsyslog.conf.
Deretter legger du til linjen nedenfor på slutten av filen som vist i utdraget nedenfor.
*. * @192.168.10.254:514.
Sørg for at du erstatter IP -adressen til FQDN på den eksterne rsyslog -serveren på linjen ovenfor. Linjen ovenfor instruerer Rsyslog -demonen om å sende alle loggmeldinger, uavhengig av anlegg eller alvorlighetsgrad, til verten med IP 192.168.10.254 via 514/UDP havn.
4. Hvis den eksterne loggserveren er konfigurert til å lytte bare på TCP -tilkoblinger, eller du vil bruke en pålitelig transportnettverksprotokoll, for eksempel TCP, kan du legge til en annen @
tegn foran den eksterne verten som vist i eksempelet nedenfor:
*. * @@ logs.domain.lan: 514.
Linux rsyslog tillater også har noen spesialtegn, for eksempel =
eller !
, som kan settes foran prioritetsnivåer for å indikere "bare denne prioriteten"For likhetstegn og"ikke denne prioriteten eller høyere enn dette”.
Noen eksempler på Rsyslog -prioritetskvalifikatorer i CentOS 7:
For eksempel, forutsatt at du bare vil sende en bestemt fasilitetsmelding til en ekstern loggeserver, for eksempel alle relaterte e -postmeldinger uavhengig av prioritetsnivå, legg til linjen under i rsyslog -konfigurasjonen fil:
e -post.* @192.168.10.254: 514
5. Til slutt, for å bruke den nye konfigurasjonen, må Rsyslog-tjenesten startes på nytt for at demonen skal hente endringene ved å kjøre kommandoen nedenfor:
# systemctl start rsyslog.service på nytt.
6. Hvis Rsyslog-demonen av en eller annen grunn ikke er aktivert under oppstartstiden, må du utstede kommandoen nedenfor for å aktivere tjenesten hele systemet:
# systemctl aktiver rsyslog.service.
7. Apache HTTP -server kan konfigureres til å sende loggmeldinger til en ekstern syslog -server ved å legge til følgende linje i hovedkonfigurasjonsfilen som illustrert i eksemplet nedenfor.
# vi /etc/httpd/conf/httpd.conf.
Legg til linjen nedenfor i hovedkonfilen til Apache.
CustomLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log |/usr/bin/logger -thttpd -plocal1.notice'" kombinert.
Linjen vil håndheve HTTP -demonen for å skrive loggmeldingene internt til filsystemets loggfil, men også behandle meldingene videre gjennom et rør til logger -verktøy, som sender dem til en fjern syslog -server, ved å markere at de kommer fra den lokale1 anlegget.
8. Hvis du også vil regissere Apache feilloggmeldinger til en ekstern syslog -server, legg til en ny regel som den som presenteres i eksemplet ovenfor, men sørg for å erstatte navnet på httpd -loggfilen og alvorlighetsgraden for loggfilen for å matche feilprioritet, som vist i det følgende prøve:
ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log |/usr/bin/logger -thttpd -plocal1.err'"
9. Når du har lagt til linjene ovenfor, må du starte Apache -demonen på nytt for å bruke endringer ved å utstede følgende kommando:
# systemctl start httpd.service på nytt
10. Fra versjon 1.7.1, Nginx webserver har innebygde muligheter for å logge meldingene direkte til en ekstern syslog-server ved å legge til følgende kodelinjer i en nginx-konfigurasjonsfil.
error_log syslog: server = 192.168.1.10: 514, facility = local7, tag = nginx, alvorlighetsgrad = feil; access_log syslog: server = 192.168.10.254: 514, facility = local7, tag = nginx, alvorlighetsgrad = info main;
For en IPv6 server, bruk følgende syntaksformat for å legge ved IPv6 -adressen.
access_log syslog: server = [7101: dc7:: 9]: 514, facility = local7, tag = nginx, severity = info;
11. På den eksterne Rsyslog -serveren må du gjøre følgende endring i rsyslog -konfigurasjonsfilen for å motta loggene som sendes av Apache -webserveren.
lokal1.* @Apache_IP_adresse: 514.
Det er alt! Du har konfigurert Rsyslog demon for å kjøre i klientmodus, og du har også instruert Apache HTTP server eller Nginx for å videresende loggmeldingene til en ekstern syslog -server.
Hvis systemet krasjer, bør du kunne undersøke problemet ved å inspisere loggfilinnholdet som er lagret på den eksterne syslog -serveren.