一:何为日志文件?
从字面意思直接就可以理解为记录服务器运行状态的日志文件,那么日志文件里记录了系统运行中的哪些日志信息?是怎样记录的?能否搭建一台日志服务器专一用来记录日志呢?
按时间序列将发生的事件予以记录。日志记录内容包含有事件发生的时间,事件内容。日志文件的主配置文件为/etc/rsyslog.conf 。
其定义格式:facility.priority target
facility: 设施,从功能或程序上对日志进行分类,并由专门的工具负责记录其日志.
auth #认证相关 authpriv #认证授权相关 cron #周期性任务记录 daemon # 守护进程相关 kern #内核进程相关 lpr #打印相关 mail #邮件相关 mark #防火墙相关 news #新闻相关 security #安全相关 syslog #自己记录日志相关 user #用户相关 uucp 指定设施时可以使用通配符: *: 所有 f1,f2,f3,...: 列表 !: 取反
priority: 级别
debug #调试 info #信息 notice #注意 warn, warning #警告 err, error #错误 crit #蓝色警告 alert #***警告 emerg, panic #红色警告 通配符: *: 所有级别 none: 没有任何级别
target:路径
文件路径:例如/var/log/messages 用户: * 日志服务器:@SERVER_IP 管道:|COMMAND
日志信息格式
二:日志服务器文件搭建
1)打开主配置文件 /etc/rsyslog.conf
启用日志服务器的功能: # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 修改日志记录服务器规则配置 *.info;mail.none;authpriv.none;cron.none /var/log/messages 其他主机修改规则配置服务 *.info;mail.none;authpriv.none;cron.none @172.16.16.5 #指向log服务器地址
2)把日志文件记录存储到MySql服务器中。
1)安装配置好mysql数据库服务; 2)安装rsyslog-mysql包; 3)创建rsyslog依赖的数据库: # mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 4)配置rsyslog启用模块 在#### Modules #####启用模块并添加: $ModLoad ommysql 在####rules####段中定义记录日志信息于数据库中 facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD *.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,sysloguser,syslogpass 5)给数据库授权
6)查看数据库中是否有记录信息
三:通过webGUI展示日志信息
1)安装 yum -y install httpd php php-mysql php-gd
安装完成后编辑vim /var/www/html/index.php 测试PHP能否工作
<?php phpinfo(); ?>
测试通过 可以删除index.php 了。
2)解压loganalyzer-3.6.5.tar.gz 文件
tar xf loganalyzer-3.6.5.tar.gz mkdir /var/www/html/loganalyzer cp loganalyzer-3.6.5/src/* /var/www/html/loganalyzer/ cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/ cd /var/www/html/loganalyzer/ chmod +x configure.sh secure.sh ./configure.sh ./secure.sh chmod 666 config.php chown -R apache.apache ./*
3)打开网页172.16.16.5/log 进行配置 按照提示输入数据库名称数据库表名 授权用户和密码。