参考来自:
the_script :https://yq.aliyun.com/articles/675198
名山、深处:https://www.cnblogs.com/skychenjiajun/p/8244099.html
cmzsteven:https://blog.csdn.net/cmzsteven/article/details/50413837
Linux公社:https://www.linuxidc.com/Linux/2017-10/147693.htm
qq_33157780: https://blog.csdn.net/qq_33157780/article/details/50672915
日志管理服务器可以解决以下问题:
1、不再需要逐台服务器去查询系统日志文件
2、将日常的系统信息存储在mysql数据中,方便进行查询、统计、审计过滤等操作
3、通过其他软件可以实现扩平台日志收集,如使用evtsys采集window日志发送到linux日志服务器上
4、在linux下rsyslog配置比较简单,维护较为容易。
5、rsyslog+loganalyzer可以实现前端图形化查询等操作.
所搭建的服务器所用到的镜像文件及软件:
CentOS镜像文件下载地址:http://mirror.nsc.liu.se/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
一、准备工作:
1.配置IP,涉及到两个配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33和/etc/resolv.conf),使主机可以上网;
2.安装必要工具(使用vim、net-tools、wget等工具)
3.关闭selinux
setenforce 0
vim /etc/selinux/config
将配置文件中的SELINUX=enforcing 修改为 SELINUX=disabled
二、rsyslog的安装与配置
使用yum安装相关程序包:
1、安装LAMP:
yum install mysql-server mysql-devel httpd php-mysql php php-gd php-xml -y
2、安装rsyslog及驱动
yum install libcurl-devel net-snmp-devel rsyslog rsyslog-mysql -y
3、mysql-server
(1)网上下载mysql57-community-release-el7-11.noarch.rpm
并使用rpm安装:rpm -ivh mysql57-community-release-el7-11.noarch.rpm
(2)使用wget和yum进行下载和安装;
①使用wget下载
[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm --2018-01-08 16:57:46-- https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 正在解析主机 dev.mysql.com (dev.mysql.com)... 137.254.60.11 正在连接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 302 Found 位置:https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [跟随至新的 URL] --2018-01-08 16:57:48-- https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm 正在解析主机 repo.mysql.com (repo.mysql.com)... 23.1.165.122 正在连接 repo.mysql.com (repo.mysql.com)|23.1.165.122|:443... 已连接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:25680 (25K) [application/x-redhat-package-manager] 正在保存至: “mysql57-community-release-el7-11.noarch.rpm” 100%[=============================================================================================
=================================================================================================
====>] 25,680 --.-K/s 用时 0.1s 2018-01-08 16:57:48 (232 KB/s) - 已保存 “mysql57-community-release-el7-11.noarch.rpm” [25680/25680]) [root@localhost ~]#
②使用yum安装;
yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
③查看Mysql源是否安装成功
[root@localhost ~]# yum repolist enabled | grep "mysql.*-community.*" mysql-connectors-community/x86_64 MySQL Connectors Community 42 mysql-tools-community/x86_64 MySQL Tools Community 55 mysql57-community/x86_64 MySQL 5.7 Community Server 227 [root@localhost ~]#
④安装Mysql服务
yum install -y mysql-community-server
⑤查看Mysql服务是否安装成功
[root@localhost ~]# systemctl status mysqld mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: inactive (dead) Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html [root@localhost ~]#systemctl start mysqld //启动mysql
三、启动mysql服务:
1、初次启动时,会在/var/log/mysqld.log随机生成root密码,使用grep 'temporary password' '/var/log/mysqld.log'查看:
2、使用刚才找到的密码登录并修改root密码:
使用rpm -ql rsyslog-mysql 查询并找到该sql文件
[root@tiaobanji ~]# rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
使用该文件(mysql-createDB.sql)创建数据库,创建的数据库名为:Syslog
mysql -usyslog -p </usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
假设将root密码设为Ww,12345678:
set password for root@'localhost'=password('Ww,12345678');
若密码复杂度较低,会提示错误信息:
有的帖子说是原因为mysql默认参数validate_password_policy=medium,将这个值设为0;修改就能使用较为简单的密码。
set global validate_password_policy=0(我在centos 7.6测试并不好用)
3、mysql中创建数据库Syslog的使用用户syslog并授权:
grant all on Syslog.* to 'syslog'@'127.0.0.1(本机IP)' identified by '111111(密码)';
flush privileges;
4、修改rsyslog配置文件:
vim /etc/sysconfig/rsyslog
添加两行:
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"
5、编辑rsyslog主配置文件/etc/rsyslog.conf:
在#### MODULES ####下进行以下操作:
取消ModLoadimudp、UDPServerRun 514 这2行的注释表示通过UPD协议的514端口接收日志文件。
添加$ModLoad ommysql 一行 #######配置服务端支持rsyslog-mysql模块
添加. :ommysql:192.168.4.200,Syslog,rsyslog,123456789 ####192.168.4.200表示本地主机,Syslog是数据库名,syslog是数据库用户,
重启rsyslog:
systemctl restart rsyslog
四、loganalyzer的配置
1、在apache的默认documentRoot目录下(/var/www/html/)创建loganalyzer目录:
mkdir -p /var/www/html/loganalyzer
创建loganalyzer日志目录:
mkdir -p /var/log/httpd/loganalyzer
2、官网上下载Loganalyzer解压到/usr/loca/src下:
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
cd /usr/local/src
tar -zxvf loganalyzer-4.1.6.tar.gz
在解压后的loganalyzer-4.1.6目录内复制src/与contrib/下的所有文件到/var/www/html/loganalyzer目录下:
cd loganalyzer-4.1.6
cp -r src/* /var/www/html/loganalyzer
cp -r contrib/* /var/www/html/loganalyzer
3、在/var/www/html/loganalyzer下创建config.php并设置权限:
touch config.php
chmod 666 config.php
4.在/etc/httpd/conf/httpd.conf文件为找到并修改配置为:
Listen 8080
DocumentRoot "/var/www/html/loganalyzer"
ErrorLog /var/log/httpd/loganalyzer/error.log
CustomLog /var/log/httpd/loganalyzer/access_log combined
重启httpd: systemctl restart httpd
5、浏览器上输入日志服务器ip+端口号:
点击next 到step3:(若在step2显示./config.php文件不存在或是不可写,可以使用contrib目录下的configure.sh 脚本生成,或新建config.php文件并给予写权限。)
配置后数据库用户及密码,点击next。
step6:创建loganalyzer登录用户:
step7:
点击next并登录即可完成初始化配置:
6、可以在网上搜索下载loganalyzer3.6.5 中文语言包并将解压后的3个文件放在/var/www/html/loganalyzer/lang下并重启rsyslog即可使用loganalyzer中文界面:
若出现如下界面:Could not find the configured table, maybe misspelled or the tablenames are case sensitive
需要修改config.php中的$CFG['Sources']['Source1']['DBTableName'] = 'SystemEvents'; 大小写不一致
7.修改客户端服务器/etc/rsyslog.conf文件实现将日志传输至构建好的日志服务器:
在#### RULES ####中添加配置:
@表示使用upd协议传输文件,划线部分为搭建的集中日志服务器ip.
也可以使用. @ip 表示所有日志文件都传输至日志服务器
刷新loganalyzer页面就可看到客户端服务器的日志信息也被记录到数据库中,构建完成.
五、安装中文语音包
LogAnalyzer默认为英文,个人也是推荐使用英文。这里也提供中文语言包。
完整PDF文档可以到Linux公社资源站下载:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2017年资料/10月/16日/CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器/
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
解压后将整个目录方至/var/www/html/loganalyzer/lang目录下。然后再次访问页面在右上角选择中文即可。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147693.htm
六、若需要重新安装(拷贝虚拟机文件移植到其他地方使用)
解决办法:1)可直接清空config.php文件
[root@rsyslog loganalyzer]# > config.php
2)清空数据中导入的logcon_*表
如果删表不方便的话,可以删掉之前导入的Syslog数据库,然后重新导入Syslog数据库,重新授权;
3)更改/etc/httpd/conf/httpd.conf配置文件
更改Listen IP地址:监听端口
4)更改/etc/rsyslog.conf配置文件
更改. :ommysql:192.168.4.200,Syslog,rsyslog,123456789中的IP地址为已移植到的主机地址;
5)更改IP配置文件/etc/sysconfig/network-scripts/ifcfg-ens33网段需要与物理网卡网段一致;