Loganalyzer简介:
LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
LogAnalyzer 采用php开发,依赖LAMP安装环境。
安装环境:
系统: centos 7.0 最小化安装
软件:rsyslog 、loganalyzer 、 LAMP环境
依赖包:rsyslog-mysql 、
配置rsyslog 日志服务器端
- 安装、调配LAMP环境
- 配置日志服务器端
a.检查并安装服务器端软件
[roo[email protected] ~]# rpm -qa |grep rsyslog #检查服务器端是否有安装rsyslog 服务 ,默认centos 7.0 均已安装
rsyslog-7.4.7-16.el7.x86_64
[[email protected] ~]# yum install -y rsyslog rsyslog-mysql #更新rsyslog 、安装rsyslog-msyql 模块,rsyslog-mysql 为rsyslog 将日志传送到MySQL 数据库的一个模块,必须安装。
b.导入rsyslog-mysql 文件到mysql数据库
[[email protected] src]# cd /usr/share/doc/rsyslog-7.4.7/ #进入rsyslog安装目录
[[email protected] rsyslog-7.4.7]# mysql -u root -p < mysql-createDB.sql #导入mysql-createDB.sql 文件
Enter password:
[[email protected] libmcrypt-2.5.8]mysql -u root -p #登录mysql 数据库
Enter password:
mysql> use Syslog; #切换到Syslog数据库
mysql> show tables; #显示Syslog 数据库列表 ,例:下图证明mysql-createDB.sql 文件导入成功 ,显示2张空表
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.01 sec)
mysql> grant all on Syslong.* to [email protected]‘localhost‘ identified by ‘123abc.com‘; #创建Syslog数据库rsyslog用户并授于管理权限
mysql> flush privileges;
c. 配置服务端支持rsyslog-mysql 模块,并开启tcp、udp服务端口获取网内其他LINUX系统日志
[[email protected] src]# vi /etc/rsyslog.conf
在 #### MODULES #### 下添加下面两行。
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,*****
#说明:localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,*****为该用户密码。
$ModLoad immark # provides --MARK-- message capability #开启支持日志标记,删除改行首字符#
# Provides UDP syslog reception
$ModLoad imudp #开启支持UDP协议
$UDPServerRun 514 #允许514端口接受udp协议转发日志
# Provides TCP syslog reception
$ModLoad imtcp #开启支持TCP协议
$InputTCPServerRun 514 #允许514端口接受tcp协议转发日志
d. 重启rsyslog 服务
[[email protected] ~]# systemctl restart rsyslog.service
linux服务器客户端、华为交换机日志配置
- 检查linux客户端是否安装rsyslog 组件
[[email protected] ~]# rpm -qa |grep rsyslog #检查客户端是否有安装rsyslog 服务 ,默认centos 7.0 均已安装
rsyslog-7.4.7-16.el7.x86_64
- 配置rsyslog客户端发送本地日志到服务端
[[email protected] ~]# Vi /etc/rsyslog.conf
*.* @172.16.10.10:514 #添加改行内容,其中 @代表了udp 协议,@@ 代表了tcp协议 ,ip地址为日志服务器ip ,514 为接收日志端口号
c. 重启rsyslog 服务
[[email protected] ~]# systemctl restart rsyslog.service
d. 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中
[[email protected] ~]#vi /etc/bashrc
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }‘ #在结尾处加上此内容,输出日志格式
[[email protected] ~]source /etc/bashrc #使配置生效
- 华为系列交换机、防火墙客户端日志配置
[1-HX]info-center channel 2 name loghost1 #定义channel信道 2级别
[1-HX]info-center loghost source Vlanif1 #定义转发日志出口为vlanif1
[1-HX]info-center loghost 172.16.10.10 channel 2 #定义日志服务器ip地址
- 开启防火墙514端口,测试rsyslog_server可否正常接收rsyslog_client的日志
[[email protected] ~]#vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 514 -j ACCEPT #接收tcp协议 日志
-A INPUT -p udp -m state --state NEW -m udp --dport 514 -j ACCEPT #开通514端口,接收udp协议 日志
[[email protected] ~]systemctl restart iptables.service #重启防火墙服务
[[email protected] ~]tailf /var/log/messages #查看日志,证明日志服务器可正常接收客户端发来的日志信息
Jul 12 12:47:41 zabbix root: [euid=root]:root pts/0 2017-07-12 12:21 (172.16.10.1):[/root]ls
Jul 12 12:47:42 zabbix root: [euid=root]:root pts/0 2017-07-12 12:21 (172.16.10.1):[/root]ls
安装LogAnalyzer
- 上传loganalyzer-4.1.3.tar 到目录 /usr/local/src ,解压 。复制
[[email protected] src]# tar -zxf loganalyzer-4.1.3.tar.gz
[[email protected] src]# mkdir /usr/local/apache/htdocs/loganalyzer #创建loganalyzer 目录
[[email protected] src]# cd loganalyzer-4.1.3
[[email protected] loganalyzer-4.1.3]# cp -a ./src/* /usr/local/apache/htdocs/loganalyzer/ #复制src文件夹到loganalyzer 目录
- 在浏览器 登录http://localhost/loganalyzer 进行安装配置
具体配置请参考官方文档:https://tecadmin.net/setup-loganalyzer-with-rsyslog-and-mysql/
在step 2安装过程中 ,提示file‘./config.php‘ File does NOT exist! 解决方法:创建./config.php文件并调配权限
[[email protected] loganalyzer-4.1.3]# cd /usr/local/apache/htdocs/loganalyzer/
[[email protected] loganalyzer]# touch config.php
[[email protected] loganalyzer]# chown root:root config.php
[[email protected] loganalyzer]# chmod 777 config.php
在step 3、step 7步骤需注意各name 名称 ,注意字母大小写:
Database name : Syslog
Database user : rsyslog
Database password: 123abc.com
Database tablename :SystemEvents
- 点击finish 完成配置 ,输入配置的管理员账户和密码 ,进入web 查看页面 。
至此 ,Rsyslog+LogAnalyzer日志服务器部署并安装完成 ,可进一步根据需要进行loganalyzer 的配置。