一、syslog系统 1.syslog:系统日志服务,统一日志管理 支持C/S架构:可通过UDP或TCP协议提供日志记录服务;实现集中收集日志功能 (1)日志、事件 历史事件日志,保存系统上过去一段时间的发生的事件 事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件; (2)syslog种类 syslogd:system系统日志 klogd:kernel内核日志 2.syslog格式 事件产生的日期时间 主机 进程[pid] :事件内容 syslog系统仅能记录较为简单的事件格式,并非所有应用程序都会使用syslog记录,如httd
二、rsyslog日志系统 1.rsyslog特性 CentOS 6开始使用,默认安装,新一代架构的syslog,基本兼容syslog格式 1)支持多线程; 2)支持UDP,TCP,SSL,TLS,RELP协议完成日志收集; 3)支持将日志信息存储于MySQL、PGSQL、Oracle等数据管理系统; 4)支持强大的过滤器,实现过滤日志信息中任何部分的内容; 5)可自定义输出格式; 2.rsyslog日志收集器概念 (1)facility:设施,从功能或程序上对日志收集进行分类; auth,authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp,local0-local7, syslog auth | 各应用程序认证功能相关 | authpriv | 各应用与授权相关 | cron | 与crontable相关 | daemon | 和守护进程相关 | kern | 和内核相关 | lpr | 和打印系统相关 | mail | 和邮件系统相关 | mark | 和防火墙标记相关 | news | 和新闻组相关 | security, | 和安全相关 | user | 和用户相关 | uucp | unix to unix copy,unix系统间复制协议相关 | local0-local7 | 8个可自定义使用分类模式 | syslog | 其他,不便于归类的全都记录在此处 |
(2)priority:优先级,日志级别 从低到高:debug, info, notice, warn(warning), err(error), crit(critical),alert, emerg(panic) 指定级别格式: *:所有级别; none:没有级别; priority:此级别,以高于此级别的所有级别; =priorty:仅此级别; ……
三、rsyslogd日志系统服务器 1.rsyslogd程序环境: (1)主程序:rsyslogd (2)主配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf (3)服务脚本:/etc/rc.d/init.d/rsyslog(centos6);/usr/lib/systemd/system/rsyslog.service(Unit FileCentOS 7) 2.配置文件格式rsyslog.conf 主要由三部分组成:MODULES、GLOBAL DRICTIVES、RULES MODULES | 指明加载模块,$ModLoad指令进行模块装载 | GLOBAL DRICTIVES | 全局配置指令 | RULES | 日志记录规则;格式:facilty.priority target |
target ( 指明记录的位置 ) 1)文件:记录日志事件于指定的文件中;通常应该位于/var/log目录下;文件路径之前的"-"表示异步写入; 2)用户:将日志事件通知给指定的用户;是通过将信息发送给登录到系统上的用户的终端进行的; 3)日志服务器:@host,把日志送往指定的服务器主机; host:即日志服务器地址,监听在tcp或udp协议的514端口以提供服务; 4)管道: | COMMAND
3.其它日志文件 /var/log/wtmp:当前系统成功登录系统的日志;需要使用last命令查看 /var/log/btmp:当前系统尝试登录系统失败相关的日志;需要使用lastb命令查看 lastlog:显示当前系统上的所有用户最近一次登录系统的时间; /var/log/dmesg:系统引导过程中的日志信息;也可以使用dmesg命令进行查看;
4.rsyslog作远程服务器配置: (1)客户端:配置文件@HOST指明,输出到的服务器端,重启服务 (2)在/etc/rsyslog.conf文件MODULES段开启模块服务,使其监听在默认端口514,并重启服务器即可 #Provides UDP syslog reception $ModLoadimudp $UDPServerRun514 #Provides TCP syslog reception $ModLoadimtcp $InputTCPServerRun514
四、配置基于Mysql存储日志信息 1.MySQL服务器 准备好MySQL服务器,创建用户,授权对Syslog数据库拥有全部访问权限; 2.rsyslog主机: (1)安装rsyslog-mysql程序包; # yum install -y rsyslog-mysql (2)通过导入createDB.sql脚本创建依赖到的数据库及表; # mysql -uUSER -hHOST -pPASSWORD </usr/share/doc/rsyslog-mysql-VERSION/createDB.sql (3)配置rsyslog使用ommysql模块 ###MODULES #### $ModLoad ommysql ####RULES #### facility.priority :ommysql:DBHOST,DB,DBUSERNAME,DBUSERPASS (4)重启rsyslog服务; 3.web展示接口:loganalyzer[MySQL服务器] (1) 配置lamp组合:httpd, php, php-mysql, php-gd (2) 安装loganalyzer #tar xf loganalyzer-3.6.5.tar.gz #cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer #cp -rloganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer/ #cd /var/www/html/loganalyzer/ #chmod +x *.sh #./configure.sh #./secure.sh #chmod 666 config.php 通过URL访问http://HOST/loganalyzer
|