Rsyslog es una mejora de syslog que es el que se encarga de almacenar todos los logs del sistema y junto con loganalyzer es capaz de mostrarlos todos centralizados. Es decir, teniendo un servidor con rsyslog mas loganalzyer e instalando en los clientes un rsyslog se pueden monitorizar todos los logs de los equipos. Con esta opción los logs se guardan en una base de datos por lo tanto no es del todo recomendable yo usaría Graylog2
# aptitude update
# aptitude install php5 php5-mysql percona-server-server-5.6 apache2-mpm-prefork chkconfig linux-kernel-headers php5-gd
Iniciar el servicio y comprobar la configuración
# service apache2 start
# service mysql start
# chkconfig apache2 on
# chkconfig mysql on
Conectarse a la base de datos para comprobar que funciona
# mysql -u root -p
Enter password:
# mysql> exit
Instalar rsyslog
# aptitude install rsyslog rsyslog-mysql
Parar syslog si estuviera instalado
# service syslog stop
# chkconfig syslog off
Inciar rsyslog
# service rsyslog start
# chkconfig rsyslog on
Editar el archivo que creará la base de datos
# vim /usr/share/doc/rsyslog-mysql/CreateDB.sql
CREATE DATABASE rsyslogdb;
USE rsyslogdb;
CREATE TABLE SystemEvents
(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
ReceivedAt datetime NULL,
DeviceReportedTime datetime NULL,
Facility smallint NULL,
Priority smallint NULL,
FromHost varchar(60) NULL,
Message text,
NTSeverity int NULL,
Importance int NULL,
EventSource varchar(60),
EventUser varchar(60) NULL,
EventCategory int NULL,
EventID int NULL,
EventBinaryData text NULL,
MaxAvailable int NULL,
CurrUsage int NULL,
MinUsage int NULL,
MaxUsage int NULL,
InfoUnitID int NULL ,
SysLogTag varchar(60),
EventLogType varchar(60),
GenericFileName VarChar(60),
SystemID int NULL
);
mysql> GRANT ALL ON rsyslogdb.* TO rsysloguser@localhost IDENTIFIED BY ‘farsa’;
mysql> grant all privileges on rsyslogdb.* to rsysloguser@localhost identified by ‘farsa’ with grant option;
mysql> FLUSH PRIVILEGES;
mysql> exit
# vim /etc/rsyslog.conf
################# #### MODULES #### #################
$AllowedSender UDP, 127.0.0.1, 10.10.0.0/24
$AllowedSender TCP, 127.0.0.1, 10.10.0.0/24
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support
#$ModLoad immark # provides –MARK– message capability
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
$ModLoad ommysql
*.* :ommysql:127.0.0.1,rsyslogdb,rsysloguser,contraseña_db
LogAnalyzer
http://10.10.0.150/loganalyzer/install.php
Cliente
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # default location for work (spool) files
$ActionQueueType LinkedList # use asynchronous processing
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
*.* @@IP_del_servidor
Reblogueó esto en BLOG DEL PROYECTO TIC – TACy comentado:
Otra muy practica y sencilla herramienta para los Sysadmin de Linux.