利用Rslog + LogAnalyzer + MySQL部署日志服务器

Posted DBEngineer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Rslog + LogAnalyzer + MySQL部署日志服务器相关的知识,希望对你有一定的参考价值。

听同事说,需要部署日志服务器,来收集一些日志,以便日后发现问题,可以追溯。



一、简介


rsyslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。

 

LogAnalyzer是分析系统日志,并用web界面展示的的工具




二、系统环境



Linux

CentOS 6.9

Apache

httpd-2.2.15-59.el6.centos.x86_64  

MySQL

5.7.18-log mysql Community Server (GPL)

PHP

php-5.3.3-49.el6.x86_64

Rsyslog

rsyslog-5.8.10-10.el6_6.x86_64

LogAnalyzer

loganalyzer-3.6.5


三、安装并设置LAMP环境


3.1 安装LAMP环境


yum -y install httpd mysql-server php*


3.2 启动服务并设置开机启动


  • 启动Apache设置开机启动


/etc/init.d/httpd start

chkconfig httpd on

报以下错误:


Starting httpd: httpd: Could not reliablydetermine the server's fully qualified domain name, using 192.168.56.60 forServerName


错误解决:

 

1)利用find命令找到httpd.conf文件


find / -name httpd.conf


2)修改httpd.conf文件


vi /etc/httpd/conf/httpd.conf


添加 ServerNamelocalhost:80


 

  • 启动数据库

mysqld –defaults-file=/etc/my3306.cnf  &

或者

/etc/init.d/mysqld start

chkconfig mysqld on


3.3 测试php运行环境


cat > index.php <<EOF

<?php

phpinfo();

?>

EOF


然后在浏览器中输入http://192.168.56.60/index.php


利用Rslog + LogAnalyzer + MySQL部署日志服务器


LAMP环境设置完毕。


四、检查并安装服务器端软件


4.1 检查rsyslog


rpm -qa|grep rsyslog    //默认系统都安装了该软件


利用Rslog + LogAnalyzer + MySQL部署日志服务器


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


rsyslog-mysql rsyslog 将日志传送到MySQL 数据库的一个模块


yum install rsyslog-mysql –y


五、配置服务器端


5.1 导入rsyslog-mysql数据库文件


cd /usr/share/doc/rsyslog-mysql-5.8.10/

 

mysql -S /tmp/mysql3306.sock -uroot  -pwanbin < createDB.sql

 

mysql -S /tmp/mysql3306.sock -uroot –pwanbin

 

show databases;


利用Rslog + LogAnalyzer + MySQL部署日志服务器


show tables;


利用Rslog + LogAnalyzer + MySQL部署日志服务器


5.2 mysql数据库中创建rsyslog用户及赋予相关权限


mysql -S /tmp/mysql3306.sock -uroot –pwanbin

 

CREATE USER 'rsyslog'@'localhost'  IDENTIFIED BY 'wanbin';

GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost';

 

flush privileges;              //是将磁盘上的权限表刷写到内存,用于替换内存中原有的权限表

 

5.3 配置服务端支持rsyslog-mysql 模块


编辑/etc/rsyslog.conf文件,修改前先备份

 

cp /etc/rsyslog.conf /etc/rsyslog.conf.bak

 

vi /etc/rsyslog.conf

 

添加以下内容:

$ModLoad ommysql

$template MySQLInsert,"insert into SystemEvents (Message,  Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID,  SysLogTag) values('%msg%', %syslogfacility%, '%HOSTNAME%',  %syslogpriority%,'%timereported:::date-mysql%', '%timegenerated:::date-mysql%',  %iut%,'%syslogtag%')",SQL

*.* :ommysql:localhost,Syslog,rsyslog,wanbin;MySQLInsert

利用Rslog + LogAnalyzer + MySQL部署日志服务器


*.info;mail.none;authpriv.none;cron.none;local5.none;local6.none  /var/log/messages

egrep -v '^#|^$' /etc/rsyslog.conf

利用Rslog + LogAnalyzer + MySQL部署日志服务器


【说明】:localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,wanbin为该用户密码。


5.4 开启相关日志模块


vi /etc/rsyslog.conf

 

把以下内容前面'#'去掉:

$ModLoad immark    #immark是模块名,支持日志标记

$ModLoad imudp    #imupd是模块名,支持udp协议

$UDPServerRun 514    #允许514端口接收使用UDPTCP协议转发过来的日志

利用Rslog + LogAnalyzer + MySQL部署日志服务器

 

重启 rsyslog服务

/etc/init.d/rsyslog restart

 

【注意】:配置完成后,在mysql数据库中查看SystemEvents表,如果没有数据,可以在配置文件中加入$DebugLevel 2参数进行调式。


六、配置客户端


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


vi /etc/rsyslog.conf

 

在末尾增加以下内容,客户端将本地日志发送到服务器

*.* @192.168.56.60

 

重启rsyslog服务

/etc/init.d/rsyslog restart

 

 

 

6.2 编辑/etc/bashrc

将客户端执行的所有命令写入系统日志/var/log/messages

vi /etc/bashrc

 

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y;  });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg";  }'

 

使其生效:

source /etc/bashrc

 

 客户端配置完毕


七、测试Ryslog Server



Client 端测试:

利用Rslog + LogAnalyzer + MySQL部署日志服务器



Server端查看:

tail -f /var/log/messages

利用Rslog + LogAnalyzer + MySQL部署日志服务器





八、安装LogAnalyzer



下载LogAnalyzer

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

 

tar zxf loganalyzer-3.6.5.tar.gz

cd loganalyzer-3.6.5

mkdir -p /var/www/html/loganalyzer

rsync -a src/* /var/www/html/loganalyzer/

利用Rslog + LogAnalyzer + MySQL部署日志服务器




九、在浏览器安装向导中安装LogAnalyzer


9.1打开浏览器访问:http://192.168.56.60/loganalyzer/

利用Rslog + LogAnalyzer + MySQL部署日志服务器

提示没有配置文件,点击here利用向导生成。



9.2 配置LogAnalyzer


  • Step 1 – Prerequisites

利用Rslog + LogAnalyzer + MySQL部署日志服务器

点击next进行测试

  • Step 2 - Verify File Permissions

利用Rslog + LogAnalyzer + MySQL部署日志服务器


提示:缺少config.php文件,且权限设置为666

 

您可以使用contrib文件夹中的configure.sh脚本为您设置权限。

cd /opt/loganalyzer-3.6.5/contrib

cat configure.sh

利用Rslog + LogAnalyzer + MySQL部署日志服务器

cd /var/www/html/loganalyzer

touch config.php

chmod 666 config.php

 

然后点击ReCheck,通过之后点击Next

 

  • Step 3 - Basic Configuration

 

利用Rslog + LogAnalyzer + MySQL部署日志服务器



网页崩溃,查看PHP错误日志:

tail -f /var/log/httpd/error_log

利用Rslog + LogAnalyzer + MySQL部署日志服务器

Call to undefined function mysql_connect() in  /var/www/html/loganalyzer/install.php on line 374

此函数mysql_connect()未能识别

 

解决方法:

yum install php-mysql

 

但又出现新错:

利用Rslog + LogAnalyzer + MySQL部署日志服务器

 

解决方法:

ln -s /tmp/mysql3306.sock /var/lib/mysql/mysql.sock

 

 

  • Step 4 - Create Tables

利用Rslog + LogAnalyzer + MySQL部署日志服务器

点击Next

 

  • Step 5 - Check SQL Results

利用Rslog + LogAnalyzer + MySQL部署日志服务器


  • Step 6 - Creating the Main Useraccount

利用Rslog + LogAnalyzer + MySQL部署日志服务器

 

  • Step 7 - Create the first  source for syslog messages

 

利用Rslog + LogAnalyzer + MySQL部署日志服务器

 

  • Step 8 - Done

利用Rslog + LogAnalyzer + MySQL部署日志服务器

 


十、功能测试


首页

 

利用Rslog + LogAnalyzer + MySQL部署日志服务器



 

Search

利用Rslog + LogAnalyzer + MySQL部署日志服务器


Show Events

利用Rslog + LogAnalyzer + MySQL部署日志服务器


Statistics


Reports



 



参考文档:

http://www.rsyslog.com/doc/v8-stable/troubleshooting/debug.html#enabling-debug-via-rsyslog-conf

 


以上是关于利用Rslog + LogAnalyzer + MySQL部署日志服务器的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

利用rsyslog+mysql+loganalyzer部署日志服务器

通过loganalyzer展示数据库中的SYSLOG日志

Loganalyzer去掉Satisfied with Adiscon LogAnalyzer?

Loganalyzer分析syslog日志

loganalyzer部署文档-(第一部分)