Skip to content

www.LinVirt.nl

LogAnalyzer

auteur: Frederik Vos

Inleiding

Bij veel distributies wordt als syslog service rsyslog meegeleverd, in plaats van de oude syslogd die onderdeel uitmaakt van de inet utils.

Adiscon, die voor het grootste deel rsyslog ontwikkelen en ook commerciele support en oplossingen aanbieden hebben echter ook een grafische interface gebouwd: LogAnalyzer die veel minder bekend is.

Ik ga in dit document uit van een minimale installatie van RedHat 6.1. Heb de setup zelf gebouwd op basis van Scientific Linux 6.1, minimale installatie, uiteraard voorzien van de laatste updates.

Configuratie MySQL

Je kunt rsyslog naar bestanden weglaten schrijven, maar ook naar een MySQL server wat de performance in combinatie met de LogAnalyzer zeker ten goede komt.

Voor de installatie van MySQL verwijs ik naar het document MySQL installatie - Redhat 6 elders op deze website, eventueel kan daarbij de installatie van phpMyAdmin weg gelaten worden.

In de MySQL server moet een gebruiker worden aangemaakt met voldoende rechten. Ik kies voor de gebruikersnaam rsyslog.

mysql -p

Voer de volgende query in:

GRANT SELECT, UPDATE, INSERT, ALTER ON Syslog.* 
TO rsyslog@localhost IDENTIFIED BY 'wachtwoord';
FLUSH PRIVILEGES;
\q	

(vergeet niet het wachtwoord te vervangen door een eigen te verzinnen wachtwoord)

Nu de database Syslog aanmaken:

mysql -p < /usr/share/doc/rsyslog-mysql-4.6.2/createDB.sql

Vervolgens moet de MySQL support voor rsyslog worden geinstalleerd:

yum install rsyslog-mysql

Configuratie rsyslog

De configuratie van rsyslog moet worden aangepast, door het bestand /etc/rsyslog.conf te bewerken in je favoriete editor. Plaats onder MODULES de volgende regel:

$ModLoad ommysql.so

En onder RULES:

*.*  :ommysql:localhost,Syslog,rsyslog,wachtwoord

De rsyslog server moet de logging van andere (r)syslog servers kunnen ontvangen. Haal hiervoor het #-teken voor de regels:

$ModLoad imudp.so
$UDPServerRun 514

Ook de firewall moet worden aangepast:

iptables --insert INPUT --proto udp --match state --state NEW \
--dport 514

service iptables save

Als laatste stap moet de rsyslog service worden geherstart:

service rsyslog restart

LogAnalyzer

Download (bijvoorbeeld met elinks) de laatste versie van LogAnalyzer vanaf http://loganalyzer.adiscon.com. Op moment van schrijven is dit versie 3.2.1.

Pak het archief nu uit, maak voor het gemak een symbolic link en geef de webserver rechten om op de bestanden te kunnen lezen en schrijven:

tar xzvf loganalyzer-3.2.1 -C /var/www/html

ln -s /var/www/html/loganalyzer-3.2.1/src \
 /var/www/html/loganalyzer

cd /var/www/html/loganalyzer
touch config.php
chmod 666 config.php
chown -R apache /var/www/html/loganalyzer-3.2.1

Note: het is een goed idee na de configuratie de rechten op config.php terug te brengen naar 600.

Open nu je browser: http://server/loganalyzer en start de wizard. Dit zijn de instellingen die je moet aanpassen:

  • number of characters per message, moet op 0 staan
  • Database Name: Syslog
  • Database User: rsyslog (met bijbehorend wachtwoord)
  • Database Table Name: SystemEvents
  • Enable Row Counting: bij grote omgevingen uit laten, anders is het wel praktisch dat het bij een zoekresultaat opgeeft hoeveel hits er zijn.
  • User database:: no

LogAnalyzer is nu klaar voor gebruik.