CentOS 7 的 rsyslog 應用

心得:

很簡單有用的 log 收集工具,幾乎可用於所有環境下

還能夠搭配其他工具做 log 分析的相關工作

設定 (Server):

# vim /etc/rsyslog.conf

以下註解拿掉,如下:

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

新增以下:

#### RULES ####
# 設定範本格式
$template Remote,"/var/log/remote/%HOSTNAME%/%HOSTNAME%.log"
# 將非本機的 log 收集起來
:fromhost-ip, !isequal, "127.0.0.1" ?Remote
& ~

收集的部份至此已經設定完成,接下來設定 logrotate

# vim /etc/logrotate.d/RemoteLog
/var/log/remote/*/*.log
{
    daily
    rotate 30
    create
    dateext
    dateformat _%Y-%m%d
    compress
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

設定 (Client):

蠻多設備都能夠支援丟 Log

XenServer、Esxi、各式各樣的網路設備都可以

通常 UI 設定一下之後,都能順利的完成,有問題的話

可以檢查一下 514/tcp 或 514/udp

至於 tcp 跟 udp 的差異,可以想像成 tcp 有做一個確認的動作

如果真的不清楚還是建議把這部份弄懂,基本功還是非常重要的

這邊就以 CentOS 7 做丟 log 的說明

# vim /etc/rsyslog.conf

紅字請依照實際環境設定IP

*.* @@logserver

參考資料:

關於 udp 與 tcp 相關資料可以參考:

http://www.pcnet.idv.tw/pcnet/network/network_ip_tcp.htm

關於 Logrotate 的詳細說明可以參考:

CentOS 7 – Logwatch 功能簡介

CentOS 7 – Logrotate 設定 – 管理 Log 的工具

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s