日志SYSLOGD_OPTIONS 参数

SYSLOGD_OPTIONS 参数

l  在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。

l  -s ip 表示只允许接收来自指定ip的日志消息,提高安全性。多个ip之间使用冒号分隔,例如:SYSLOGD_OPTIONS=’-r -s 192.168.0.2:192.168.0.3′ 

l  -x 表示禁止中央日志服务器解析远程主机的FQDN(fully qualified domain name,完整域名)。默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN。如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率,应该禁止。

l  -m 0表示给日志添加– MARK –标记,0表示关闭标记。举例,-m 240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“–MARK–”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。

=========================================================================

rsyslog可以理解为增强版的syslog,在syslog的基础上扩展了很多其他功能,如数据库支持(Mysql, PostgreSQL、Oracle等)、日志内容筛选、定义日志格式模板等。除了默认的udp协议外,rsyslog还支持tcp协议来接收日志。
安装过程比较简单,需要注意的是Version 6以上需要libestr>=0.1.2和libee-0.1.2支持。装完这两个库之后,在编译rsyslog可能来还会报错找不到libestr或libee。这里我们需要手工来指定PKG_CONFIG_PATH, 如果你安装libestr和libee没有特别指定过路径,默认如下

1

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ ./configure
--prefix=/usr/local/rsyslog --enable-mysql

安装好了之后,我们可以用它来替代系统自带的syslog。步骤也很简单:
1. 将安装包下的rsyslog.conf拷贝到/etc下面
2. 修改syslog的启动脚本/etc/init.d/syslog,把其中的sbin修改为rsyslog的路径,conf路径修改为rsyslog.conf的路径。当然如果你对自己的操作没把握的话,也可以拷贝/etc/init.d/syslog到/etc/init.d/rsyslog,单独建个启动脚本,这样即使rsyslog没装好,也不会影响原先的syslog。

rsyslog功能很丰富,我只测了一部分,但这已经能够满足我的需求

a. mysql支持
rsyslog很多功能都是以模块的形式实现的,比如这个mysql支持,首先在编译的时候我们必须将这个模块编译进去,然后在/etc/rsyslog.conf加载”$ModLoad ommysql“,然后在指定哪些日志需要存放在数据里。在使用mysql模块前,我们需要手工建库、定义表,这些步骤手册里都有详细说明,操作起来也不难。

b. filter(日志筛选)
filter是rsyslog的一大亮点,通常情况下,我们并不是所有的日志都要收集,比如我们只需要error以下级别的日志、或者我们再要包含特定内容的日志。灵活运用filter我们可以很轻易地实现这些需求。下面举几个例子,使用方法手册里有详细介绍:

1
2

:msg, contains,

"test_message"
 
/
var/log/test.log

&~

如果日志内容包含”test_message”就存放在/var/log/test.log中,”&~”的意思是丢弃,不做后续处理。即使后面还有”:msg, contains, “test_message” /var/log/test2.log”,这条日志也不会再存在test2.log中。

1
2

if

$msg

contains

'test_message'

then /
var/log/test.log

&~

上面的例子的另一种写法,用if的好处是可以定义一些复杂的条件匹配
filter非常的实用,syslog中仅仅定义的local0~local7几个用户自定义的facility。使用filter我们轻松解决自定义facility不够用的问题

c. template
使用template定义日志格式模板,可以规范不通的类型的日志,很方便我们查看,使用起来也很简单,但是template的定义必须放在rsyslog.conf的顶端。

1
2

$template

myFormat,
"%timestamp% 
%hostname%  %pri-text% 
%msg%\n"

$ActionFileDefaultTemplate

myFormat

第一行我们定义了一个名为myFormat的模板,第二行的意思是把我们定义的myFormat作为rsyslog的默认模板。如果只是需要在特定日志上套用这个模板可以这样写

1


$template

myFormat,
"%timestamp% 
%hostname%  %pri-text% 
%msg%\n"
;Format

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92894

(1)
野人斯不拉古大师野人斯不拉古大师
上一篇 2018-03-26 17:31
下一篇 2018-03-26 17:47

相关推荐

  • Linux发展史

    一、简单的说: 一个名叫Linus Torvalds的芬兰大学生想要了解Intel的新CPU386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目的,加上他对当时Unix 变种版本(即Minix)对于80386类机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和S…

    Linux干货 2016-10-20
  • 一、循环语句:for, while, until 循环执行:将某代码段重复运行多次重复运行多少次:循环次数事先已知循环次数事先未知有进入条件和退出条件 1.for……do……done for 变量 in 列表 ; do    循环体done 执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中…

    Linux干货 2016-08-19
  • mysql进阶至mysql备份基础及备份工具

    一、mysql备份、恢复基础 备份:存储的数据副本 还原:把副本应用到线上系统,仅能恢复至备份操作时刻的数据状态。 硬件上的冗余并不能有效恢复逻辑操作上的错误。 备份:数据备份、服务配置文件备份、系统环境备份。程序的运行依赖于一定的系统环境,仅提供数据本身并不能确保恢复数据之后系统可用,数据备份的目的在于确保系统出现不可预料的灾难事故之后能够快速恢复运行,降…

    2016-11-18
  • 多任务脚本发布

    1、此脚本用于将80和443用iptables mark标记后 添加到 ipcsadm 中,让80端口和443端口当成一类 服务进行调度 —————————————————————————————————————————————— #!/bin/bash 多端口绑定,这里是80和443被iptables绑定为一个标记分发后端 vip=172.16.0.99M…

    Linux干货 2017-06-25
  • cobbler实现centos7和centos6的无人值守安装

    环境:系统: CentOS 7.2  ip: 172.16.0.11 一. Cobbler安装准备 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),…

    Linux干货 2017-06-04
  • N25第八周博客作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;     在线的主机使用绿色显示;     不在线的主使用红色显示; #!/bin/bash trap ‘mytrap’ INT mytra…

    Linux干货 2017-02-26