linux syslog 日志采集系统搭建

syslog已被许多日志函数采纳,它用在许多保护措施中,任何程序都可以通过syslog记录事件。syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络记录另一个主机上的事件。

syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放地点。


syslog已被许多日志函数采纳,它用在许多保护措施中,任何程序都可以通过syslog记录事件。syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络记录另一个主机上的事件。
syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放地点。


一:linux syslog 客户端配置

linux syslog客户端的主要任务是收集系统运行中产生的各种日志,并将日志发送到指定的服务器。只需修改/etc/syslog.conf即可。

1.配置文件语法

服务名称.等级    存放或显示地点

2.服务名称(facility)

facility定义日志消息的范围,其可使用的key有:
     引用auth -由 pam_pwdb 报告的认证活动。
     authpriv -包括特权信息如用户名在内的认证活动
     cron -与 cron 和 at 有关的计划任务信息。
     daemon -与 inetd 守护进程有关的后台进程信息。
     kern -内核信息,首先通过 klogd 传递。
     lpr -与打印服务有关的信息。
     mail -与电子邮件有关的信息
     mark - syslog内部功能用于生成时间戳
     news -来自新闻服务器的信息
     syslog -由 syslog 生成的信息
     user -由用户程序生成的信息
     uucp -由 uucp 生成的信息
     local0-local7 -与自定义程序使用
     * 通配符代表除了 mark 以外的所有功能
     除mark为内部使用外,还有security为一个旧的key定义,等同于auth,已经不再建议使用。

3.日志等级(level)

level定义消息的紧急程度。按严重程度由高到低顺序排列为:
     emerg或panic -该系统不可用,等同panic
     alert -需要立即被修改的条件
     crit -阻止某些工具或子系统功能实现的错误条件
     err或error -阻止工具或某些子系统部分功能实现的错误条件,等同error
     warning或warn -预警信息,等同warn
     notice -具有重要性的普通条件
     info -提供信息的消息
     debug -不包含函数条件或问题的其他信息
     none -没有重要级,通常用于排错
     * 所有级别,除了none
     其中,panic、error、warn均为旧的标识符,不再建议使用

特殊等级:例如 debug (显示较多的信息!)及 none (不要记录该服务的内容!)等!

4.selector选择条件
      通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。
      可以使用分号“;”同时定义多个选择条件。也支持三个修饰符:
      引用* - 所有日志信息
      = - 等于,即仅包含本优先级的日志信息
      ! - 不等于,本优先级日志信息除外


   5.存放或显示地点

档案的绝对路径:通常就是放在 /var/log 里头的档案
      打印机或其它:例如 /dev/lp0 这个打印机装置
      使用者名称:发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中     

远程主机:例如 @test.adsldns.org
        说明:    使用tcp协议:@@192.168.1.180:514
                使用udp协议:@192.168.1.180:514

6、举例
    例如:
    引用*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages
    #把除邮件、新闻组、授权信息、计划任务等外的所有通知性消息都写入messages文件中。
    mail,news.=info /var/adm/info
    #把邮件、新闻组中仅通知性消息写入info文件,其他信息不写入。
    mail.*;mail.!=info /var/adm/mail
    #把邮件的除通知性消息外都写入mail文件中。
    mail.=info /dev/tty12
    #仅把邮件的通知性消息发送到tty12终端设备
    *.alert root,joey
    #如果root和joey用户已经登陆到系统,则把所有紧急信息通知他们
    *.* @finlandia
    #把所有信息都导向到finlandia主机(通过/etc/hosts或dns解析其IP地址)
    ※注意:每条消息均会经过所有规则的,并不是唯一匹配的。
    也 就是说,假设mail.=info信息通过上面范例中定义的规则时,/var/adm/info、/var/adm/mail、/dev/tty12,甚 至finalandia主机都会收到相同的信息。这样看上去比较烦琐,但可以带来的好处就是保证了信息的完整性,可供不同地方进行分析。

二、linux syslog 服务器配置:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdgjj.html