溫馨提示×

Linux syslog如何設置過濾規則

小樊
51
2025-07-15 22:44:50
欄目: 智能運維

在Linux系統中,syslog是一個用于記錄系統消息的守護進程。要設置過濾規則,您可以使用rsyslog(一個增強版的syslog)或者syslog-ng(另一個流行的syslog實現)。這里以rsyslog為例,介紹如何設置過濾規則:

  1. 打開rsyslog配置文件。通常位于/etc/rsyslog.conf/etc/rsyslog.d/目錄下。例如,使用文本編輯器打開/etc/rsyslog.conf
sudo nano /etc/rsyslog.conf
  1. 在配置文件中,您可以添加過濾規則。rsyslog使用選擇器(selector)和動作(action)來定義規則。選擇器用于匹配消息,動作定義了匹配消息的處理方式。

例如,如果您只想記錄來自本地系統的cron消息,可以添加以下規則:

if $programname == 'cron' then /var/log/cron.log
& stop

這里,$programname是一個內置變量,表示消息的程序名。==用于比較字符串。then表示滿足條件時執行動作。/var/log/cron.log是日志文件的路徑。& stop表示在處理完這條規則后停止進一步處理。

  1. 如果您想使用更復雜的過濾條件,可以使用rsyslog的屬性(attribute)和條件表達式。例如,如果您只想記錄來自特定IP地址的SSH登錄失敗消息,可以添加以下規則:
if $fromhost-ip == '192.168.1.100' and $syslogseverity-text == 'Failed password' then /var/log/failed_ssh_attempts.log
& stop

這里,$fromhost-ip表示消息發送者的IP地址,$syslogseverity-text表示消息的嚴重性文本。and用于連接多個條件。

  1. 保存配置文件并退出編輯器。

  2. 重啟rsyslog服務以應用更改:

sudo systemctl restart rsyslog

現在,rsyslog將根據您設置的過濾規則記錄日志。請注意,這些規則僅適用于rsyslog。如果您使用的是syslog-ng或其他syslog實現,語法可能略有不同。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女