实验目的: 利用rsyslog日志服务,将收集的日志记录于MySQL中 再通过loganalyzer展示
简单的说。就是不同网络的主机日志传送给Rsyslog 然后存储在mysql里,在通过网页展示出来
== 而将不同网络的主机日志传送给Rsyslog的实验
在https://blog.csdn.net/Lcongming/article/details/117428584 已经完成,有时间可以参阅!
利用mysql存储日志
如图所示
10.0.0.18是 rsyslog
10.0.0.28是 mysql 数据库
10.0.0.38是LAP安装httpd和php
**第一步:设置
在28 上安装数据库并且执行启动
yum -install mysql-server
systemctl enable --now mysqld
在18上查看rpm -ql rsyslog-mysql
将sql脚本复制到数据库服库上 (ommysql.so功能是为了存数据库)
scp /usr/share/doc/rsyslog/mysql-createDB.sql 10.0.0.28:/data
在28上 要运行数据库 将数据导入 mysql < mysql-createDB.sql
执行mysql进入数据库
创建一个数据库账号和密码并且授权:
create user rsyslog@'10.0.0.%' identified by '123456';
grant all on Syslog.* to rsyslog@'10.0.0.%';
接着 打开 vim /etc/rsyslog.conf 增加新模块ommysql
module(load="ommysql")
*.info;mail.none;authpriv.none;cron.none :ommysql:10.0.0.28,Syslog,rsyslog,123456
重启服务 systemctl restart rsyslog
第二步:验证
在7和8上发送日志,都会在18Rsyslog的主机上提醒:
[root@centos7 ~]#logger "This is a tcp log on from ip 7"
[root@Centos8 ~]#logger "This is a tcp log on from ip 8"
而这个时候在28 这台数据库主机上查看
mysql> select * from SystemEvents\G
可以看到数据已经存储在mysql里了
至此 利用mysql存储日志信息设置完成了
为什么要通过loganalyzer展示数据库中的日志呢,根据老王的说法,如果让老板每次输入select * from SystemEvents\G查看,而且这里SystemEvents里还要注意大小写,很容易让老板情绪不稳定,也会让老板觉得你很废物,随时有被炒的风险,如果想避免这种情况发生,第一个方法就是收购公司,自己当老板、第二个方法就是用网页来展示日志信息,老板欢喜,大家才欢喜~
第一步:安装
在38主机 安装httpd和php的包 并启动
yum -y install httpd php-fpm php-mysqlnd #(7上不带nd)
systemctl enable --now httpd php-fpm
执行ss -ntul 查看不到9000的端口是因为:apach和mysql在同一台主机18上。所以使用的是套接字监听端口,也是可以的
vim /etc/php-fpm.d/www.conf
在这里,测试php是否正常
root@Centos38 ~]#cd /var/www/html
[root@Centos38 html]#vim info.php
<?php phpinfo() ?>
在网页测试 10.0.0.38/info.php
接着安装loganalyzer4.1.12的软件
下载链接在:http://loganalyzer.adiscon.com/downloads/
下载后上传到LAP:38主机进行安装,并且设置config.php和666权限
[root@Centos38 ~]#tar -xvf loganalyzer-4.1.12.tar.gz
[root@Centos38 ~]#mv loganalyzer-4.1.12/src/ /var/www/html/log
[root@Centos38 ~]#touch /var/www/html/log/config.php
[root@Centos38 ~]#chmod 666 /var/www/html/log/config.php
访问http://10.0.0.38/log 实现初始化 并开始测试;
点击here后 再下一步
图是显示web显示多少条记录等信息
再下一步;要指定源等选项,如下图所示
下一步
点击完成后显示视图如下:
验证,在7和8主机上输入后 在web页面可以查看到了:
[root@centos7 ~]#logger "This is a tcp log on from ip 0007"
[root@Centos8 ~]#logger "This is a tcp log on from ip 0008"
如果想显示图形,需要安装gd包,安装后重启服务;
[root@Centos38 ~]#yum -y install httpd php-fpm php-mysqlnd php-gd
[root@Centos38 ~]#systemctl restart php-fpm
再刷新一下界面,图形显示成功;
至此,设置完成
最后为了避免config.php文件被覆盖或者修改
需要安全加固,执行:
chmod 644 /var/www/html/log/config.php
谢谢观赏