专注于快乐的事情

rsyslog学习

rsyslog学习

简介

最新的操作系统大都已经采用了rsyslog取代syslog,作为新的系统日志程序,rsyslog支持将日志存储到远端的日志服务器。

1.支持多线程
2.支持TCP,SSL,TLS,RELP等协议
3.支持将日志写入MySQL, PGSQL, Oracle等多种关系型数据中
4.拥有强大的过滤器,可实现过滤系统信息中的任意部分
5.可以自定义日志输出格式
6.适用于企业级的日志记录需求

rsyslog日志服务的配置文件

Rsyslog的配置文件为/etc/rsyslog.conf,其中共分为三块内容:

定义模块相关信息

$MmodLoad imuxsock #用于加载模块

$ModLoad imuxsock 加载socket的日志
$ModLoad imklog 加载log的日志
$ModLoad imudp 加载远程日志服务器的UDP协议
…..

定义全局的配置信息

$IncludeConfig /etc/rsyslog.d/*.conf#用于加载其他的配置文件,实现分段管理

定义日志记录规则

*.info;mail.none;authpriv.none;cron.none/var/log/messages #定义各类型日志存放位置

rsyslog规则定义格式

facility.priority Targetauth #pam产生的日志,认证日志

facility(设施)

auth –pam产生的日志
authpriv –ssh,ftp等登录信息的验证信息
cron –时间任务相关
kern –内核
lpr –打印
mail –邮件
mark(syslog)–rsyslog服务内部的信息,时间标识
news –新闻组
user –用户程序产生的相关信息
uucp –unix to unix copy, unix主机之间相关的通讯
local 1~7 –自定义的日志设备

可以使用以下通配符:
*:所有设施
f1,f2,f3…..:列表
!:取反

priority(级别)

debug –有调式信息的,日志信息最多
info –一般信息的日志,最常用
notice –最具有重要性的普通条件的信息
warning –警告级别
err –错误级别,阻止某个功能或者模块不能正常工作的信息
crit –严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert –需要立刻修改的信息
emerg –内核崩溃等严重信息
none –什么都不记录
从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册: man 3 syslog

Target(目标)

/path/to/file#路径
*#打印到已登录的用户界面
@ServerIP#发送到日志服务器
|COMMAND#发送到指定目录进行处理

##配置应用例子

::
*.info;mail.none;authpriv.none;cron.none      /var/log/messages
authpriv.*                                    /var/log/secure
mail.*                                        /var/log/maillog
cron.*                                        /var/log/cron
*.emerg                                       *
uucp,news.crit                                /var/log/spooler
local7.*                                      /var/log/boot.log

例子

记录到普通文件或设备文件::
. /var/log/file.log # 绝对路径
. /dev/pts/0
测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘ logger 命令用于产生日志

  1. 转发到远程::
    . @192.168.0.1 # 使用UDP协议转发到192.168.0.1的514(默认)端口
    . @@192.168.0.1:10514 # 使用TCP协议转发到192.168.0.1的10514(默认)端口
  2. 发送给用户(需要在线才能收到)::
    . root
    . root,kadefor,up01 # 使用,号分隔多个用户
    . # 号表示所有在线用户
  3. 忽略,丢弃::
    local3.* ~ # 忽略所有local3类型的所有级别的日志
  4. 执行脚本::
    local3.* ^/tmp/a.sh # ^号后跟可执行脚本或程序的绝对路径

安装

/etc/rsyslog.conf rsyslog日志的主配置文件
/etc/rsyslog.d/*.conf rsyslog日志的辅助配置文件
/var/log/ 日志文件的目录

参考

http://www.cnblogs.com/zengkefu/p/5606875.html
http://dddbk.blog.51cto.com/6837943/1542807

评论系统未开启,无法评论!