什么是日志文件系统?记录系统在什么时候由哪个进程做了什么行为时,发生了何种的事件等。centos提供rsyslogd这个服务来统一管理日志文件。
rsyslog的配置文件/etc/rsyslog.conf,此文件规定了什么服务的什么等级信息以及需要被记录在哪里。
1.服务名称
authpriv 与认证有关的机制
cron 列行性工作调度
daemon 与各个daemon有关
kern 与内核有关
lpr 打印机有关信息
mail 邮件有关
news 与新闻组服务器有关
security 与安全相关
syslog 就是syslogd这个程序自己的信息
user
uucp
local0 - local7
2.信息等级
debug
info
notice
warn, warning
err, error 一些重大错误信息
crit 比error严重
alert 很有问题的等级,比crit还严重
emerg, panic 系统已经到了死机的状态
指定级别的方式:
*: 所有级别
none: 没有级别
priority: 比此级别高的(包含)所有级别的日志信息都会记录
=priority: 仅记录指定级别
在/etc/rsyslog.conf中mail.* -/var/log/maillog 那个‘-’表示异步写入。
有些日志记录二进制格式,例如,两个日志文件:
成功登录系统的日志:/var/log/wtmp
查看命令:last
失败的登录的尝试:/var/log/btmp
查看命令:lastb
lastlog命令:显示当前系统每个用户各自最近一次的登录信息;
模块:rsyslog支持模块
用本机成为日志服务器:编辑配置文件/etc/rsyslog.conf一般我们启用udp即可。
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
可以看到rsyslog监听在514端口。
rsyslog支持把日志存储于mysql中:
(1) 有可用的MySQL服务器;
(2) 安装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 即在配置文件/etc/rsyslog.conf添加如下内容连接到数据库
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,rsyslog,rsyslog
(6) 可选:使用loganalyzer (WebGUI)来展示日志信息;
依赖:lamp组件;
# yum install httpd php php-mysql php-gd
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql这个文件是数据库代码,可以在数据库中执行。
[root@lys ~]# mysql < /usr/share/doc/rsyslog-5.8.10/creatDB.sql 重定向到数据库中
已经生成了Syslog数据库。
在数据库中新建用户及用户名,并授权。
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslog';
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@127.0.0.1 IDENTIFIED BY 'rsyslog';
检查是否授权成功,如下所示
下载loganalyzer,并展开;这里以loganalyzer-3.6.5为例
# cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer 复制安装文件到指定目录
# cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer 复制configure.sh和secure.sh脚本
# cd /var/www/html/loganalyzer
# chmod +x configure.sh secure.sh 给脚本执行权限
# ./configure.sh
# ./secure.sh
# chmod 666 config.php 给loganalyzer配置文件设置权限
访问:http://SERVER_IP/loganalyzer/install.php来进行loganalyzer的配置
以上步骤说明我们的loganalyzer配置完成。
1.看到本机的514端口已经打开,说明本机可以当做rsyslog服务器工作了。
2.只需在客户端编辑/etc/rsyslog.conf即可
*.info @192.168.0.108 指定rsyslog服务器ip即可。