一、安装LAMP环境
略
二、安装rsyslog
查看是否已安装rsyslog
rpm -qa | grep rsyslog
导入数据库
cd /usr/share/doc/rsyslog-8.24.0/
mysql -uroot -p<mysql-createDB.sql
创建用户
mysql -uroot -p
grant all privileges on Syslog.* to rsyslog@localhost identified by '<数据库密码>';
flush privileges;
备份rsyslog配置文件
cp /etc/rsyslog.conf /home/cgyxt/syslog/
修改rsyslog配置文件
vim /etc/rsyslog.conf
在#### MODULES ####下:
取消以下两行注释(使用UDP端口514接收日志。UDP面向无连接,适用于获取内网中的设备日志)
$ModLoad imudp
$UDPServerRun 514
增加以下内容(加载mysql连接模块,设置数据库参数)
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,<数据库密码>
rsyslog默认将日志都写入本地文件/var/log/messages,查看验证:
tail -f /var/log/messages
(显示/var/log/messages文件后10行,文件有变化就显示出来)
也可以将本地日志文件按日期-IP地址归档存放:
在/etc/rsyslog.conf文件中#### GLOBAL DIRECTIVES ####下加入以下内容:
$template Remote,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log"
# 设置远程日志存放路径和文件格式
:fromhost-ip, !isequal, "127.0.0.1" ?Remote # 如果是本机日志则不记录
修改完/etc/rsyslog.conf后需要重启rsyslog服务
systemctl restart rsyslog.service
防火墙永久开放UDP 514端口
firewall-cmd --add-port=514/udp --permanent
firewall-cmd --reload
检查数据库中是否已经出现本机日志,有则连接成功
USE Syslog;
select * from SystemEvents;
三、安装loganalyzer
loganalyzer官方网站下载: Download Archives - Adiscon LogAnalyzer
解压
tar -zxvf loganalyzer-4.1.13.tar.gz
将安装包中的src文件夹拷贝至apache服务目录,并重命名为syslog
cp -r loganalyzer-4.1.13/src/ /var/www/html/syslog
将安装包contrib文件夹中的两个文件拷贝至syslog网站根目录中
cp -r loganalyzer-4.1.13/contrib/* /var/www/html/syslog/
将两个可执行文件增加a+x权限
cd /var/www/html/syslog/
chmod +x configure.sh secure.sh
运行configure.sh,会生成一个空白的config.php文件
./configure.sh
访问IP:端口/syslog,报错点击"here",使用向导进行安装
点击Next,在Step 3 中:
(可选)开启用户数据库选项,填写数据库信息:
Enable User Database: Yes
Database Name: Syslog
Database User: rsyslog
Database Password:
Require User to be logged in :Yes
在Step7中配置日志源:
Source type: MYSQL Native
Select View: Eventlog Fields
Database Name: Syslog
Database Tablename: 按需配置存放日志的数据库表,这里配置为默认的SystemEvents
Database User: rsyslog
Database Password:
Enable Row Counting: Yes
注:loganalyzer中文乱码解决方法:
备份配置文件
cp /var/www/html/syslog/include/functions_common.php /home/cgyxt/syslog/
修改配置文件
vim /var/www/html/syslog/include/functions_common.php
找到含有return htmlentities字段的行;
return htmlentities($myStr, ENT_NOQUOTES, $content['HeaderDefaultEncoding']);// "UTF-8");
修改为:
return htmlentities($myStr, ENT_NOQUOTES, $content['HeaderDefaultEncoding']), "UTF-8");
保存
重启apache
systemctl restart httpd
进入loganalyzer,将Admin Center>Global Options Only>Default character encoding改为"utf-8",完成后点击send changes。
四、配置客户端上送日志
华为交换机S5700:
info-center loghost 日志服务器IP