记录应用程序和内核的日志系统
概念: facility:设施,从功能或程序上对日志进行分类,并由专门的工具负责记录相应的日志信息; auth authpriv cron daemon kern lpr mail 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数据库模块: $ModLoadommysql
将日志存储于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 #### $ModLoadommysql (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
上图是配置数据库名,和自己创建的并且给予操作Syslog数据库权限的用户名,密码
好了,到了这个页面,说明已经成功。
|