日志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.www58058.com/92894

(1)
野人斯不拉古大師野人斯不拉古大師
上一篇 2018-03-26
下一篇 2018-03-26

相關推薦

  • CentOS軟RAID實現配置

     實現軟raid1、fdisk t fd //修改磁盤分區類型fd2、創建raid設備     創建一個RAID5,5塊兒硬盤4塊做RAID,1塊兒做空閑硬盤(頂替硬盤使用)    mdadm -C /dev/md0 -a yes -l 5  -n …

    Linux干貨 2016-08-30
  • bash腳本編程基礎知識

    shell腳本語言編程之bash shell簡介 什么是shell:     shell是Linux的用戶界面,提供了用戶與內核進行交互的接口,他接收了用戶的指令,并將指令送入內核去執行     shell即是一種高級程序語言,也是一種命令解析語言   &nb…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班22期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現;            [root@test ~]# vim&nbsp…

    Linux干貨 2016-10-24
  • Linux運維利器之ClusterShell

    Via:http://blogread.cn/it/article/4573?f=wb 如果你有若干臺數據庫服務器,突然你想知道它們當前的即時負載情況,你會怎么辦?挨個登錄上去uptime一下?感覺有點傻,寫個shell?浪費時間,直接用ClusterShell吧! ClusterShell的安裝與配置     Clu…

    Linux干貨 2015-05-12
  • 通過view實現智能DNS

    DNS策略解析最基本的功能是可以智能的判斷訪問您網站的用戶,然后根據不同的訪問者把您的域名分別解析成不同的IP地址,然后跟DNS服務器內部的IP表匹配一下,看看用戶的類型,然后給用戶返回對應的IP地址。

    Linux干貨 2017-10-03
  • 馬哥教育網絡班21第五周練習作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub2/grub.cfg   2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空…

    Linux干貨 2016-08-08
欧美性久久久久