日志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
下一篇 2018-03-26

相关推荐

  • 搭建简单的svn服务器

        svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然sv…

    Linux干货 2015-11-18
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至…

    系统运维 2016-07-12
  • Linux文本处理三剑客之grep

    一、grep命令 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件 二、grep命令格式 grep [OPT…

    Linux干货 2016-08-15
  • NoSQL理论基础及安装、基本操作

    30分钟开始 分布式系统理论: CAP: 一致性 可用性 分区容错性     MongoDB: 安装 crud 索引 副本集 分片   NoSQL:非关系型、分布式、不提供ACID功能 技术特点: 1、简单数据模型 2、元数据和应用数据分离(分不同服务器存储) 3、弱一致性   优势: 1、避免不必要的复杂性 2、高吞…

    2016-11-27
  • python 多版本管理(pyenv)

    01 – Python 简介和安装 01 – Python 简介和安装 1. Python 简介 2. 安装 pyenv 3. pyenv 使用 4. pyenv-virtualenv 5. 安装 IPython 和 Jupyter 01 – Python 简介和安装 1. Python 简介 编程风格 面向过程:以指令为…

    Linux干货 2016-07-10
  • N25_第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@aio ~]# who|cut -d" " -f1|uniq root 2、取出最后登录到当前系统的用户的相关信息。 [root@aio ~]# who| …

    Linux干货 2016-12-19