日志记录了系统运行中的相关信息,分析日志对我们的系统排错、调优等至关重要,所以本文试浅析rsyslog server和loganalyzer的图形化展示日志。
rsyslog概述
对Linux而言,应用程序和内核都有可能需要记录日志
syslogd:为应用程序记录日志
klogd:为内核记录日志
上述两个守护进程由程序包提供
CentOS 5之前syslog -->CentOS 6之后 rsyslog
每个应用程序都可自行记录日志,内核也可记录日志
并非所有应用程序的日志都由rsyslog来记录,例如httpd等日志信息量非常大且十分重要,其日志就由应用程序自己记录
各自记录日志的格式、排序方法各不相同,所以很难进行分析,且对于日志信息量不大的程序来说,单独开发日志记录系统意义不大,此时即可把日志记录交由rsyslog完成
核心概念
facility:设施
即rsyslog内置的日志管理收集工具
rsyslog从功能或程序上对日志进行分类,并由专门的工具(即facility)负责记录相应的日志信息
auth(认证),authpriv(认证授权),cron(定期任务计划),daemon(守护进程),kern(内核),lpr(打印系统),mail(邮件系统),mark(防火墙),news(新闻系统),security(安全),syslog(),user(用户),uucp(),local0~local7(内置的,用户可直接使用的facility)
priority:级别
debug(调试信息),info(debug外的所有信息),notice(提示)warning、warn(警告),err、error(错误),crit(蓝色警报),alert(橙色警报)emerg、panic(红色警报)
指定级别的方式:
*:记录所有级别的日志
none:没有级别,即不记录日志
priority:记录高于此级别(包含)的所有级别的日志
=priority:仅记录指定级别的日志
rsyslog的配置文件
/etc/rsyslog.conf
RULES
facility.priority target
指定设施的指定级别所产生的日志记录于何处
示例说明
如上图第一个,即表示任何facility(除了mail.none,authpriv.none,cron.none以外)产生的info及以上级别的日志信息,都记录于/var/log/messages文件中;
如上图最后一个,即表示任何facility产生的emerg级别的日志信息,通知给所有用户;
target
文件路径:将日志信息记录于指定的文件中,在文件路径前使用“-”表示异步写入
用户名称:将日志信息通知给指定的用户
日志服务器:日志不记录在本地,用“@SERVER”指明记录日志的服务器
管道:将记录的日志通过管道“| COMMAND”交由指定命令来处理
原文地址:http://10066605.blog.51cto.com/10056605/1650736