日志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文件管理命令

    Linux系统上文件管理命令 一、文件查看类命令      1、cat 由第一行开始显示文件内容 语法格式: cat [选项列表] [文件列表]… 参数说明: -A, –show-all 等价于 -vET 。 -b, –number-nonblank 给非空输出行编号。 -e 等价于 -vE 。 -E…

    Linux干货 2017-07-24
  • grep的用法(CentOS7)及有关正则表达式的使用

    http://www.cnblogs.com/wzhuo/p/6659352.html

    Linux干货 2017-04-08
  • bash的基础特性

    1、Bash的命令补全      使用tab键可以实现命令补全或者路径补全 2、Bash的命令行展开      使用~,可以展开为用户的家目录;             例如#cd ~ 表示切换目录到当前用户家目录中   &nbs…

    Linux干货 2016-11-02
  • Linux进程篇16.0

    Linux进程介绍

    Linux干货 2017-12-18
  • 用户及权限管理

     今天是学习马哥教育第四天,也是第一个博客作业,写一篇关于用户及权限管理的简介型的博客文章,作文水品有限,所以写出来有可能有病句或者意境有问题,请大家多多包涵。  首先,用户及权限管理,需要从2方面入手来说,首先来说用户管理。  何谓用户,这是马哥一上来就提到的问题,我简单的理解,用户其实就是一个人机交互的接口,人机交互的接口是…

    Linux干货 2016-09-15
  • vim编辑器

      在linux系统中使用文本编辑器来编辑你的配置文件是一件很重要的事。vim是linux最常用的文本编辑器,具有以下优势:所有的linux都内置vi文本编辑器。很多软件都会主动调用vi,如crontab、visudo等. 所以我们必须学好vi,vim分为以下3种模式:   一般模式: 用 vi打开一个文件时,一进入该文件就是一般模式了。…

    Linux干货 2016-06-09