Linux 之 rsyslog+mysql+LogAnalyzer 日志收集系统

时间:2023-03-09 05:25:31
Linux 之 rsyslog+mysql+LogAnalyzer 日志收集系统

   作者:邓聪聪

  LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示

  由于公司部分项目需求使用日志记录系统,随笔记录

1:在rsyslog服务器上部署 LAMP环境。

[root@Log_server ~]# yum -y install wget httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel gd gd-devel php-gd
[root@Log_server ~]# /etc/init.d/mysqld start
[root@Log_server ~]# /etc/init.d/httpd start

2:安装rsyslog 连接MySQL数据库的模块

[root@Log_server ~]# yum install rsyslog-mysql –y

  导入rsyslog-mysql 数据库文件

[root@Log_server ~]# cd /usr/share/doc/rsyslog-mysql-5.8./
[root@Log_server rsyslog-mysql-5.8.10]# mysql -uroot < createDB.sql
[root@Log_server rsyslog-mysql-5.8.10]# mysql
mysql>show databases;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| test |
+--------------------+
rows in set (0.00 sec) mysql> mysql> show tables;
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
rows in set (0.00 sec) mysql> grant all on Syslog.* to rsyslog@localhost identified by 'yourpwd';
mysql> flush privileges;
mysql> exit

3:配置服务端支持rsyslog-mysql 模块,并开启UDP服务端口获取网内其他设备日志或LINUX系统日志

  

Bye
[root@Log_server ~]# grep -v '^#' /etc/rsyslog.conf |grep -v '^$'
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
$ModLoad immark # provides --MARK-- message capability
$ModLoad imudp
$UDPServerRun
$ModLoad ommysql #启动rsyslog的数据库模块
*.* :ommysql:localhost,Syslog,rsyslog,heju@.com #连接数据库的信息
========以上两行是需要插入的内容
$ModLoad imtcp
$InputTCPServerRun
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log

4:配置http下的配置文件,编辑/etc/httpd/conf/httpd.conf,在</IfModule>行增加index.php

  

DirectoryIndex index.html index.php
</IfModule>

5:安装LogAnalyzer

  

[root@Log_server ~]# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
[root@Log_server ~]# ll
total
-rw-------. root root Jan : anaconda-ks.cfg
-rw-r--r--. root root Jan : install.log
-rw-r--r--. root root Jan : install.log.syslog
-rw-r--r-- root root Oct loganalyzer-3.6..tar.gz
[root@Log_server ~]# tar -xf loganalyzer-3.6..tar.gz
[root@Log_server ~]# cd loganalyzer-3.6.
[root@Log_server loganalyzer-3.6.]# ll
total
-rw-rw-r-- root root Oct ChangeLog
drwxrwxr-x root root Oct contrib
-rw-rw-r-- root root Oct COPYING
drwxrwxr-x root root Oct doc
-rw-rw-r-- root root Oct INSTALL
drwxrwxr-x root root Oct src
[root@Log_server loganalyzer-3.6.]# cp src/* /var/www/html/
[root@Log_server loganalyzer-3.6.5]# touch config.php
[root@Log_server loganalyzer-3.6.5]# chmod 666 config.php

6:后端的操作大功告成,接下来就是前端web的配置了

  浏览器输入日志服务器IP:IP/install.php,完成安装,填写对应的参数IP

  这里就不一一贴图了,主要注意填数据库的几个参数

  source type 需要修改成mysql native 源,随后填写mysql相关信息,注意(Database Tablename 处默认是首字母小写的,正确应该是SystemEvents  !!!)

7:客户端的配置模式

liunx系统设备:

1 检查rsyslog 是否安装

rpm -qa|grep rsyslog #默认都是安装的

2 配置rsyslog 客户端发送本地日志到服务端

vi /etc/rsyslog.conf

*.* @服务器IP

华为交换机客户端配置:

[Sysname] info-center enable     #开启信息中心
[Sysname] info-center loghost 192.168.100.100 channel loghost     #指定向日志主机输出日志信息的通道为 loghost 通道
[Sysname] info-center source default channel loghost debug state off log state off trap state off     #关闭所有模块日志主机的 log、trap、debug 的状态(注意:由于系统对各通道允许输出的系统信息的缺省情况不一样,所以配置前必须将所有模块的需求通道(本例为loghost )上log、trap、debug 状态设为关闭,再根据当前的需求配置输出相应的系统信息。可以用display channel 命令查看通道的状态)。
[Sysname] info-center source default channel loghost log level informational     #允许输出信息的模块为所有模块 source:default
display channel loghost     #查看通道状态