chinadm 2014-06-18
rsyslog服务端配置 CentOS6.4 x64系统 系统自带rsyslog 5.8版本
rsyslog 是一个 syslogd 的多线程增强版。
现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了
rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件
###################################
#首先部署好lamp环境,详情见lamp安装文档
#更新系统时间 rsyslog-mysql是rsyslog把日志传送到mysql的一个模块
yum install ntp rsyslog-mysql -y
ntpdate cn.pool.ntp.org
#编辑配置文件
vim /etc/rsyslog.conf 取消下列三行的注释,并添加加载mysql模块信息。
$ModLoad immark # provides --MARK-- message capability
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # kernel logging (formerly provided by rklogd)
#####下面这2行是要添加的内容##### 123456是root用户登录mysql的密码
#加载mysql模块
$ModLoad ommysql
#定义插入的数据内容_(insertpl) 模板名称
$template insertpl,"insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslog
facility%, '%HOSTNAME%', '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL
#如果日志内容包含下列括号中的内容, 则将日志写入到 /var/log/11.log 并退出,不继续后续操作
if $msg contains '(root) CMD (/usr/lib64/sa/sa1 1 1)' then /var/log/11.log
&~
#将所有日志写入到数据库_以下*.*表示所有类型的日志,mysql模块-数据库服务器-数据库-数据库用户名-密码-模板
*.* :ommysql:localhost,Syslog,root,123456;insertpl
#去掉下面两行的注释,接受客户端的日志, 开启514端口
$ModLoad imudp.so # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514
#添加mysql root密码
mysqladmin -u root password 123456
#导入数据库
cd /usr/share/doc/rsyslog-mysql-5.8.10/
mysql -uroot -p <createDB.sql
#检查数据库是否有相应数据
mysql -uroot -p
USE Syslog;
select * from SystemEvents;
#如果有数据,则表示成功
#创建rsyslog用户访问Syslog
grant all privileges on Syslog.* to rsyslog@localhost identified by "123456";
flush privileges;
exit
#重启rsyslog服务
service rsyslog restart
安装loganalyzer
##LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示。
下载源码包:
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
tar zxvf loganalyzer-3.6.5.tar.gz
mkdir /var/www/html/syslog
cd /tmp/loganalyzer-3.6.5/src
cp -r * /var/www/html/syslog
cd /tmp/loganalyzer-3.6.5/contrib
cp * /var/www/html/syslog
cd /var/www/html/syslog
chmod +x *.sh
sh configure.sh && sh secure.sh
chmod 666 config.php
chown -R daemon.daemon *
登录web安装,http://ip地址/syslog 或者 http://ip地址/syslog/src
1:选择Click here
2:Enable User Database选择Yes,如果选择no将没有管理页面
点击NEXT时若报错,后台执行如下命令后继续
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
3:填写如下信息:Database Host:localhost
Database Port:3306
Database Name:Syslog
prefix:logcon_
Database User:root
Database Password:123456
Require user to be logged in 选择yes
4:选择next 设置登录用户名和密码
root 123456
5:next Source type: MYSQL Native
Select View: Syslog Fields
Database Name: Syslog
Database Tablename:SystemEvents
Database User: root
Database Password: 123456
next
finish ############完成安装配置
################ Linux客户端部署
1. vi /etc/rsyslog.conf
2. 在最后面添加:*.* @192.168.10.250
3. 保存退出,重启syslog服务
4. service syslog restart
5. 此时在服务器上就可以看到相关服务器的日志信息了
#修改LogAnalyzer 设定
###删除LogAnalyzer 初始化安装文件
###删除安装档install.php,或者设置该文件权限为只读
rm -rf install.php
###关闭分析页面中赞助信息
vi /var/www/html/syslog/include/functions_common.php
###将下行改为false
$content['SHOW_DONATEBUTTON'] = false; // Default = true!
###更换分析页面首页图标Logo
1. 首先将准备好的logo 放至images/main目录下。
2. 编辑include/functions_common.php
3. 修改如下路径:
$content['EXTRA_PHPLOGCON_LOGO'] = $content['BASEPATH'] .
"images/main/Header-Logo.png";
使用Log4j的SystemLogAppender可以实现远程的日志输出,为集中式的日志管理提供便利。/etc/init.d/syslog start3. 在写日志的客户机上,修改log4j配置文件: