Konfigurere rsyslog på Centos 6

I forbindelse med oppsett, konfigurasjon og testing av logstash trenger vi en måte å få shippet loggene våre rundt på en måte.

0: Alternativer
Det er mange måter å skyffle logger rundt på. Man kan bruke logstash agent med forskjellige varianter av “shipper.conf”. Som tar inn rsyslog lokalt, og dytter det ut på en redis kø, eller at man bruker filinput lokalt for så å dytte det ut på køen.

Jeg har nå testet begge disse variantene men det virket som det var veldig ressurskrevende og hele logstash agenten min kræsjet ettet x-antall timer.

1: RSyslog generelt
RSyslog finner du på de fleste linux distribusjoner. Om den ikke er installert kan du installere den via pakkesystemet ditt.

Vi installerer rsyslog på begge maskinene våre, host1 og host2. Målet vårt er å shippe logger fra host1 til host2. På host2 skal vi kjøre logstash, elasticsearch og e.v.t kibana. Oppsettet av alle disse komponentene har jeg allerede dokumentert i andre artikler.

Rsyslog konfigurasjonen finner du i “/etc/rsyslog.conf” eller “/etc/rsyslog.d/*.conf”

2: RSyslog konfigurasjon

Host1 – Rsyslog konfigurasjon som avvikker fra defaultsettings:

{code}

# Forward to logserver via UDP, for TCP use @@
*.* @xx.xx.xxx.xx:514

{/code}

Host2 – Rsyslog konfigurasjon som avvikker fra defaultsettings:

{code}
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

{/code}

alternativt over TCP

{code}
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

{/code}

Husk som alltid å åpne port i brannmuren, i dette tilfellet port 514.

3: Verifiser at ting fungerer
Vi må ta omstart av Rsyslog på begge hostene. Vi tar host2 først, deretter host1.

På host 2:

{code}

# service rsyslog restart

# tail -f /var/log/messages

{/code}

På host 1:

{code}

# service rsyslog restart

{/code}

Du skal nå se at tail på host 2 skriver ut en linje om at du har restartet rsyslog på host1.

Hurra! Det virker…

4: Veien videre
Vi har nå fått verifisert at loggene våre flyter fra host1 til host2 via rsyslog. Vi må nå sørge for at de applikasjonene vi ønsker å ha monitorere faktisk logger til rsyslog.

Aktuelle applikasjoner kan være

  • apache
  • ssh
  • flexlm
  • mail
  • cron
  • egenutviklet programvare

Hvordan man skal konfigurere de forskjellige applikasjonene vil variere, men jeg satser på å komme med et eksempel på apache ganske så snart.

Når vi vet at alle logger vi ønsker å ha kontroll på flyter fra host1 til host2 kan vi konfigurere logstash til å bruke syslog som input, og vi skal være i mål.

Leave a Reply

Your email address will not be published. Required fields are marked *