Linux搭建Rsyslog日志服务器

  • A+
所属分类:服务搭建

分析系统日志有助于排查故障,管理几台服务器可以通过远程登录的方式,逐台搜集分析,随着服务器设备越来越多,集中分析管理各类日志信息也就显得越来越重要。搭建合适的日志管理平台有助于提高日志分析工作效率,对于服务器设备不多的机房而言,推荐使用Rsyslog+MySQL+Loganalyzer搭建日志管理服务器。

实验环境

实验平台:VMware虚拟机

操作系统:CentOS 6.5

服务端IP:192.168.168.200

服务端篇

第一步 安装LAMP、Rsyslog

  1. [root@Wanghualang-A ~]# yum -y install httpd mysql mysql-server php php-mysql rsyslog rsyslog-mysql  

第二步 下载Loganalyzer

  1. [root@Wanghualang-A ~]# cd /var/www/html/  
  2. [root@Wanghualang-A html]# wget --no-check-certificate http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz  
  3. [root@Wanghualang-A html]# tar xzf loganalyzer-4.1.6.tar.gz  
  4. [root@Wanghualang-A html]# mv loganalyzer-4.1.6/src/* ./  
  5. [root@Wanghualang-A html]# touch config.php  
  6. [root@Wanghualang-A html]# chmod 777 config.php  
  7. [root@Wanghualang-A html]# rm -rf loganalyzer-4.1.6.tar.gz loganalyzer-4.1.6  

第三步 启动Apache、MySQL

  1. [root@Wanghualang-A ~]# sed -i 's/#ServerName www.example.com:80/ServerName localhost.localdomain/' /etc/httpd/conf/httpd.conf  
  2. [root@Wanghualang-A ~]# service httpd start  
  3. [root@Wanghualang-A ~]# service mysqld start  
  4. [root@Wanghualang-A ~]# chkconfig httpd on  
  5. [root@Wanghualang-A ~]# chkconfig mysqld on  

第四步 创建Loganalyzer数据库

  1. [root@Wanghualang-A ~]# mysql  
  2. mysql> set password for 'root'@'localhost' = password('123456');  
  3. mysql> source /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql    
  4. mysql> flush privileges;  
  5. mysql> exit  

第五步 配置Rsyslog

  1. [root@Wanghualang-A ~]# sed -i 's/#$ModLoad imudp/$ModLoad imudp/' /etc/rsyslog.conf  
  2. [root@Wanghualang-A ~]# sed -i 's/#$UDPServerRun 514/$UDPServerRun 514/' /etc/rsyslog.conf  
  3. [root@Wanghualang-A ~]# sed -i 's/#$ModLoad imtcp/$ModLoad imtcp/' /etc/rsyslog.conf  
  4. [root@Wanghualang-A ~]# sed -i 's/#$InputTCPServerRun 514/$InputTCPServerRun 514/' /etc/rsyslog.conf  
  5. [root@Wanghualang-A ~]# sed -i '/$ModLoad imuxsock/i\*.* :ommysql:localhost,Syslog,root,123456' /etc/rsyslog.conf  
  6. [root@Wanghualang-A ~]# sed -i '/*.* :ommysql:localhost,Syslog,root,123456/i\$ModLoad ommysql' /etc/rsyslog.conf  
  7. [root@Wanghualang-A ~]# service rsyslog restart  
  8. [root@Wanghualang-A ~]# chkconfig rsyslog on  

第六步 安装Loganalyzer

安装过程非常简单,参考图片配置吧,注意一下数据库和表名称的大小写就可以了。

第七步 登陆Loganalyzer

打开浏览器访问:http://192.168.168.200,一切顺利的话便能看到本机的相关日志信息。如果出现中文乱码,请参考扩展阅读。

扩展阅读展开

  1. [root@Wanghualang-A ~]# vim /var/www/html/include/functions_common.php  

大约在第1214行,找到:

  1. return htmlentities($myStr, ENT_NOQUOTES, $content['HeaderDefaultEncoding']); //"UTF-8");  

修改为:

  1. return htmlentities($myStr, ENT_NOQUOTES, $content['HeaderDefaultEncoding'],"UTF-8");  

再访问Loganalyzer网站,进入Admin Center找到Default character encoding,选择UTF-8,点击Send Change保存退出。再次刷新网页时,就可以正常显示中文日志了。

Linux搭建Rsyslog日志服务器

客户端篇

需要监控更多服务器,可以在每台服务器中配置Rsyslog,把相关日志信息推动到Rsyslog服务端。

第一步 安装Rsyslog

  1. [root@Wanghualang-B ~]# yum -y install rsyslog  

第二步 配置Rsyslog

  1. [root@Wanghualang-B ~]# echo "*.notice @192.168.168.200" >> /etc/rsyslog.conf  
  2. [root@Wanghualang-B ~]# service rsyslog restart  
  3. [root@Wanghualang-B ~]# chkconfig rsyslog on  

第三步 配置自定义搜集日志

上一步中只是开启并使用Rsyslog的基础日志搜集,也就是搜集messages、secure、cron、boot日志推送到Rsyslog服务端,如果需要搜集更多应用日志,大家可以按需定义local0~7。教程中就不演示搜集应用日志了,就举例写一个监控所有用户命令的方法吧。

  1. [root@Wanghualang-B ~]# vim /etc/bashrc  

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

  1. [root@Wanghualang-B ~]# source /etc/bashrc  

客户端配置完毕后,再次打开Loganalyzer网站,就可以看到客户端相关日志了,如下图Wanghualang-B主机日志信息。

Linux搭建Rsyslog日志服务器

资源简介 文件名称:Loganalyzer 文件版本:4.1.6 运行平台:Linux
下载地址
  • 微信赞助网站
  • weinxin
  • 支付宝赞助网站
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: