记录应用程序和内核的日志系统
概念:
facility:设施,从功能或程序上对日志进行分类,并由专门的工具负责记录相应的日志信息;
auth
authpriv
cron
daemon
kern
lpr
mark
news
security
syslog
user
uucp
local0 - local7
priority:级别
debug
info
notice
warn, warning
err, error
crit
alert
emerg, panic
指定级别的方法:
*:所有级别均记录
none:没有级别,任何级别均不记录
priority:比此级别高的(包含此级别)所有级别的日志信息都记录
=priority:只记录此级别的日志信息
例如:
warning:记录warning及其以上级别的日志信息
=warning:只记录warning级别的日志信息
配置文件:/etc/rsyslog.conf
配置规则RULLS:
facility.priority target
设施.级别 存放何处
target可为:
文件路径:将日志记录于指定的文件中;在文件路径之前使用"-",表示异步写入;
用户:将日志信息通知给文件
*:代表所有用户
日志服务器:@SERVER
管道:| COMMAND
例如(截取的配置文件中一段):
表明mail的所有级别的日志都记录在/var/log/maillog中,且“-”号代表异步写入
表明cron的所有级别的日志都记录在/var/log/cron中,且同步写入(立即写入到磁盘)
有些日志记录为二进制格式,例如,两个日志文件:
成功登录操作系统的日志:/var/log/wtmp
查看命令:last
失败的登录的尝试:/var/log/btmp
查看命令:lastb
lastlog命令:显示当前系统每个用户各自最近一次的登录信息;
模块:
启动本机为日志服务器:
将日志存储于mysql数据库模块:
$ModLoad ommysql
将日志存储于mysql数据库实验:
(1) 有可用的MySQL服务器;
# yuminstall -y mysql-server
(2) 安装rsyslog-mysql程序包;
# yum install -y rsyslog-mysql
(3) 创建rsyslog依赖的数据库;
# mysql < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
(4) 配置rsyslog启用ommysql模块(需要手动添加);
#### MODULES ####
$ModLoad ommysql
(5) 定义某facility把日志记录至指定的数据库的指定表中;
#### RULES ####
facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD
将保存在/var/log/messages这条配置注释掉,重新写入一条配置,通过ommysql模块保存到mysql数据库中;
(6) 在mysql中创建用户及授权;
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'Syslog'@'127.0.0.1' IDENTIFIED BY 'liaobin' ;
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'Syslog'@'localhost' IDENTIFIED BY 'liaobin' ;
(7)重启服务即可生效;
servicersyslog restart; service mysqld restart
(8)查看日志;
loganalyzer(web图形化显示日志信息):
既然可以存储在mysql中,那么只要有程序员开发个网页图形化界面就可以在网页上显示了;
现在就说说使用loganalyzer;loganalyzer是一个通过WebGUI来展示日志信息的php程序;
安装loganalyzer步骤:
依赖:lamp组件;
# yum install httpd php php-mysql php-gd
php-gd是php图形支持扩展包
# cp -r loganalyzer-3.6.5/src /var/www/html/log
下载loganalyzer,并展开;这里以loganalyzer-3.6.5为例
# cp loganalyzer-3.6.5/contrib/* /var/www/html/log
# cd /var/www/html/log
# chown apache.apache ./*
修改属主属组为apache
# chmod +x configure.sh secure.sh
# ./configure.sh
# ./secure.sh
# chmod 666 config.php
访问:http://192.168.191.111/log/install.php执行安装过程;
上图是配置数据库名,和自己创建的并且给予操作Syslog数据库权限的用户名,密码
好了,到了这个页面,说明已经成功。