利用loganalyzer 展示数据库中的日志,并使用logrotate做日志转储

目标: 利用loganalyzer 展示数据库中的日志,并使用logrotate做日志转储    

环境准备:三台主机

一台日志服务器:10.0.0.113

一台数据库服务器:10.0.0.115

一台当httpd+php服务器 ,并安装loganalyzer展示web图形,IP:  10.0.0.110                                       

实验步骤:

1.在rsyslog服务器(10.0.0.113)上安装连接mysql模块相关的程序包。 

yum -y install rsyslog-mysql

rpm -ql rsyslog-mysql 

scp /usr/share/doc/rsyslog/mysql-createDB.sql 10.0.0.115:/data

2.准备安装MySQL Server(10.0.0.115)

yum -y install mariadb-server         

systemctl enable --now mariadb

systemctl start mariadb   

 #在mariadb数据库服务器上创建相关数据库和表,并授权rsyslog能连接至当前服务器

mysql

source /data/mysql-createDB.sql

GRANT ALL ON Syslog.* TO 'rsyslog'@'10.0.0.%' IDENTIFIED
BY '123456';
配置日志服务器将日志发送至指定数据库(10.0.0.113)
#配置rsyslog将日志保存到mysql中
[root@centos8 ~]#vim /etc/rsyslog.conf
#
####MODULES####
#在 MODULES 语言下面,如果是 CentOS 8 加下面行
module(load="ommysql")
#在 MODULES 语言下面,如果是 CentOS 7,6 加下面行
$ModLoad ommysql
#在RULES语句块加下面行的格式
#facility.priority   :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD
*.info :ommysql:10.0.0.115,Syslog,rsyslog,123456
[root@centos8 ~]#systemctl restart rsyslog.service
测试:
#在日志服务器上生成日志
[root@centos8 ~]#logger "this is a aaaaaaasssssssss"
 
3.在10.0.0.110主机上安装httpd, php和相关软件包
[root@centos8 ~]#yum -y install httpd php-fpm php-mysqlnd php-gd
[root@centos8 ~]#systemctl enable --now httpd php-fpm
#从http://loganalyzer.adiscon.com/downloads/ 下载loganalyzer-4.1.10.tar.gz
[root@centos8 ~]#tar xvf loganalyzer-4.1.10.tar.gz
[root@centos8 ~]#mv loganalyzer-4.1.10/src/ /var/www/html/log
#创建配置文件
[root@centos8 ~]#touch /var/www/html/log/config.php
[root@centos8 ~]#chmod 666 /var/www/html/log/config.php
 初始化loganalyzer 浏览器打开地址http://10.0.0.110/log
 #注意:别填写错了数据信息(把config.php信息清了再配置一次)
 #注意:配置完成后把config.php的权限修改为644.
 
 
 
 
 

Logrotate日志存储

软件包:logrotate

相关文件
计划任务:/etc/cron.daily/logrotate
程序文件:/usr/sbin/logrotate
配置文件: /etc/logrotate.conf
日志文件:/var/lib/logrotate/logrotate.status
主要参数
compress 通过gzip 压缩转储以后的日志
nocompress 不需要压缩时,用这个参数
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate 备份日志文件但是不截断
create mode owner group 转储文件,使用指定的文件模式创建新的日志文件
nocreate 不建立新的日志文件
delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress 覆盖 delaycompress 选项,转储并压缩
errors address 转储时的错误信息发送到指定的Email 地址
ifempty 即使是空文件也转储,是缺省选项。
notifempty 如果是空文件的话,不转储
mail address 把转储的日志文件发送到指定的E-mail 地址
nomail 转储时不发送日志文件
olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir 转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
size 大小 指定日志超过多大时,就执行日志转储
rotate count 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
Missingok 如果日志不存在,提示错误
Nomissingok如果日志不存在,继续下一次日志,不提示错误

 

[root@centos8 ~]#cat /etc/logrotate.d/mysql

 /var/lib/mysql {

 daily

 rotate 5

  compress

 delaycompress

 missingok

 size 1k

 notifempty

 create 640 bin nobody

 postrotate

 echo `date +%F_%T` >> /data/mysql.log

 endscript

 } 

 [root@centos8 ~]# logrotate /etc/logrotate.conf 

补充:常用日志文件

/var/log/secure:系统安全日志,文本格式,应周期性分析
/var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行
查看
/var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查
/var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
/var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录,专用命令dmesg查看,可持续记录硬件变化的情况。
/var/log/boot.log 系统服务启动的相关信息,文本格式
/var/log/messages :系统中大部分的信息
/var/log/anaconda : anaconda的日志
posted @ 2021-03-13 22:11  一动不动的咸鱼  阅读(140)  评论(0编辑  收藏  举报