共计 2989 个字符,预计需要花费 8 分钟才能阅读完成。
准备工作 ( 三台 CentOS 服务器 Centos7):
MySQL 服务器(192.168.1.70):收集储存管理日志
web/Rsyslog 服务器(192.168.1.52):搭建 httpd 服务,提供在 web 端查看日志信息
测试服务器(192.168.1.71):生成日志,并将日志信息发送给 Rsyslog 服务器
关闭防火墙和 selinux
配置 MySQL 服务器
安装 MySQL 服务,创建用户,授权对 Syslog 数据库的访问。
yum -y install mariadb-server | |
systemctl start mariadb | |
mysql | |
GRANT ALL ON Syslog.* TO 'syslog'@'192.168.1.%' IDENTIFIED BY 'syslogpass'; | |
FLUSH PRIVILEGES; | |
exit; |
在 mariadb 服务器的配置文件中添加下面三个选项:
# vim /etc/my.cnf | |
skip_name_resolve=on | |
innodb_file_per_table=on |
配置测试服务器(可以省略)
将该服务器的所有 facility 产生的日志级别(priority)为 info 下信息都输出到 Rsyslog 服务器中。
该服务器可用来进行安装和卸载相关的软件,以此来测试是否 web 服务器和数据库服务器能否正常通信。
当然也可用来测试 Rsyslog 服务器。
# vim /etc/rsyslog.conf | |
# Log anything (except mail) of level info or higher. | |
# Don't log private authentication messages! | |
#*.info;mail.none;authpriv.none;cron.none /var/log/messages | |
*.info;mail.none;authpriv.none;cron.none @192.168.1.52 |
部署 Rsyslog 服务器
#yum -y install httpd php php-mysql php-gd | |
#system start httpd |
新建下面一个文件,测试 PHP 能否和 MySQL 进行通信(在浏览器中输入 192.168.1.52,看见 OK,则成功。)
# vim /var/www/html/index.php | |
$comn=mysql_connect('192.168.1.70','syslog','syslogpass'); | |
if ($comn) | |
echo "OK"; | |
else | |
echo "failure"; | |
安装 rsyslog-mysql 程序包并创建数据库:
#yum -y install rsyslog-mysql | |
# rpm -ql rsyslog-mysql | |
/usr/lib64/rsyslog/ommysql.so | |
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql | |
#mysql -usyslog -psyslogpass -h192.168.1.70 < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql |
这个时候你登陆数据库会看见数据库中多了 Syslog 库,
> SHOW DATABASES; | |
+--------------------+ | |
| Database | | |
+--------------------+ | |
| information_schema | | |
| Syslog | | |
+--------------------+ | |
2 rows in set (0.00 sec) | |
MariaDB [Syslog]> USE Syslog; | |
Database changed | |
MariaDB [Syslog]> SHOW DATABASES; | |
+--------------------+ | |
| Database | | |
+--------------------+ | |
| information_schema | | |
| Syslog | | |
+--------------------+ |
启用 rsyslog 服务器功能,并配置使用 ommysql 模块
启用 tcp(推荐)或者 udp 端口 | |
vim /etc/rsyslog.conf | |
Provides UDP syslog reception | |
$ModLoad imudp | |
$UDPServerRun 514 | |
# Provides TCP syslog reception | |
ModLoad imtcp | |
InputTCPServerRun 514 | |
#在 MODULES 模块下添加 ommysql 模块 | |
### MODULES #### | |
$ModLoad ommysql | |
#在 RULES 下修改目标地址(格式:“ommysql: 数据库服务器 HOST, 数据库名, 授权用户,密码”)#### RULES #### | |
*.info;mail.none;authpriv.none;cron.none /var/log/messages | |
*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.1.70,Syslog,syslog,syslogpass | |
#systemctl restart rsyslog |
安装 loganalyer 并配置:
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.2.tar.gz | |
tar - xf loganalyzer-4.1.2.tar.gz | |
cp -r loganalyzer-4.1.2/src/ /var/www/html/loganalyzer | |
cp loganalyzer-4.1.2/contrib/* /var/www/html/loganalyzer/ | |
# cd /var/www/html/loganalyzer/ | |
chmod +x *.sh | |
chmod +x *.sh | |
ll *.sh | |
-rwxr-xr-x 1 root root 49 5 月 26 18:37 configure.sh | |
-rwxr-xr-x 1 root root 31 5 月 26 18:37 secure.sh | |
./configure.sh | |
./secure.sh | |
chmod 666 config.php |
在浏览器中安装 loganalyer
注意 loganalyer 的版本问题,如果使用的是 Centos7 以上版本的最好使用 loganalyer4.0 以上的版本,否则不兼容。安装失败。 在浏览器中输入 192.168.1.52/loganalyzer/install.php 进行安装,配置好相关参数即可。
图片:
1. 默认点 NEXT 即可
填入数据库 HOST, 库名,表名,用户名和密码,然后 NEXT, 之后 FINISH
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-08/146468.htm
