利用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
LAMP环境设置完毕。
四、检查并安装服务器端软件
4.1 检查rsyslog
rpm -qa|grep rsyslog //默认系统都安装了该软件 |
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; |
show tables; |
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 |
*.info;mail.none;authpriv.none;cron.none;local5.none;local6.none /var/log/messages egrep -v '^#|^$' /etc/rsyslog.conf |
【说明】:localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,wanbin为该用户密码。
5.4 开启相关日志模块
vi /etc/rsyslog.conf
|
把以下内容前面'#'去掉: $ModLoad immark #immark是模块名,支持日志标记 $ModLoad imudp #imupd是模块名,支持udp协议 $UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志
|
重启 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 端测试: |
Server端查看: tail -f /var/log/messages |
八、安装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/ |
九、在浏览器安装向导中安装LogAnalyzer
9.1打开浏览器访问:http://192.168.56.60/loganalyzer/
提示没有配置文件,点击here利用向导生成。
9.2 配置LogAnalyzer
点击next进行测试 |
提示:缺少config.php文件,且权限设置为666
您可以使用contrib文件夹中的configure.sh脚本为您设置权限。 cd /opt/loganalyzer-3.6.5/contrib cat configure.sh cd /var/www/html/loganalyzer touch config.php chmod 666 config.php
然后点击ReCheck,通过之后点击Next
|
网页崩溃,查看PHP错误日志: tail -f /var/log/httpd/error_log Call to undefined function mysql_connect() in /var/www/html/loganalyzer/install.php on line 374 此函数mysql_connect()未能识别
解决方法: yum install php-mysql
但又出现新错:
解决方法: ln -s /tmp/mysql3306.sock /var/lib/mysql/mysql.sock
|
点击Next
|
|
|
|
|
十、功能测试
首页
|
Search |
Show Events |
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部署日志服务器