【威雲電子報 Issue #117】將日誌訊息從 syslog-ng 轉發到 Splunk (上)

用於 Splunk 的 syslog-ng™ 使用場景 (上)

Splunk 是一款被廣泛使用的搜尋和分析平台工具,許多 Splunk 的使用者也同時在他們的環境部署 syslog-ng。這邊將會介紹 Splunk 使用者可以從 syslog-ng PE 獲得優勢的五種使用場景。
Use case 1:從網路設備收集日誌

從網路設備 (路由器等) 收集和彙整日誌訊息是 syslog-ng™ 與 Splunk 最常見的部署應用之一,Cisco、Juniper 等主要路由器製造商使用 syslog 協定去傳輸日誌訊息,syslog-ng™ 應用程式本身支援原始 syslog 協定 RFC3164 (也稱 為legacy-syslog 或 BSD-syslog) 和新的 syslog 協定 RFC5424 (也稱為 IETF-syslog)。此外,syslog-ng™ 還支援部分路由器製造商使用從這些協定所衍生的協定。
最常見的配置包括 syslog-ng™ 伺服器,並透過 UDP 或 TCP 接收日誌訊息。雖然 One Identity 強烈建議路由器以 TCP 協定發送日誌,因為其具有更高的可靠性,但許多路由器僅藉由本質上不可靠的 UDP 傳輸日誌,或者由於其較低的資源需求而預設使用 UDP。syslog-ng™ 伺服器上的日誌訊息可以透過更可靠的 TCP syslog 協定轉發到 Splunk,並儲存到平面檔案 (flat files) 中供 Splunk 轉發器讀取或發送到 Splunk 的 HTTP 事件收集器 (HEC)。這種配置的好處如下:

l  可靠性:使用 syslog-ng™ 從透過 UDP 發送消息的路由器收集和聚集日誌訊息,然後以 TCP 傳輸訊息可以減少訊息遺失。它還為網路或伺服器中斷時的資料,或 Splunk 進行維護而暫停使用的資料提供緩衝。
l  效能:網路設備每秒事件的生成率極高。根據其確切配置,syslog-ng™ 每秒可從單一來源收集超過 100,000 筆日誌訊息。
l  靈活性:syslog-ng™ 可以過濾、解析和重寫來自網路設備的日誌訊息,並將它們正規化為標準的 syslog 訊息。

為了減少訊息遺失,特別是在 UDP 傳輸的情況下,如果可行,建議將 syslog-ng™ 伺服器直接連接到網路設備。
 
範例:使用 relay 從 UDP 接收日誌
此範例為大規模網路,syslog-ng PE 安裝在多個位置,從本地設備接收日誌並將它們轉發到中央位置。
圖 1:使用 relay 從 UDP 接收日誌
此處地端 syslog-ng PE 使用進階日誌傳輸協定 (ALTP 是 syslog-ng PE 具有附加可靠性功能的專有日誌傳輸協定) 將日誌發送到中央 syslog-ng PE 伺服器,然後將日誌轉發到 Splunk。此配置使用基於主機名和檔案名以及當前月份和日期的目錄中的平面檔案。目錄是自動建立的。
relay 上的配置如下 (您可以加入加密和磁碟緩衝區以增加安全性和可靠性)。請注意範例末尾將來源連接到目標的日誌語法。
中央伺服器配置的相關部分是:
長期以來,Splunk 都建議將網路輸入 (例如 syslog 日誌訊息) 永久保存到磁碟上的檔案中。Splunk 的檔案輸入技術支援可靠且有彈性的資料收集,以處理 Splunk 可能無法使用的情況。資料來源的主機名是重要的元資料, Splunk 可以透過多種方式提取。一種方法是從目錄或檔案名中提取它,如上所示 (目錄名中的$HOST)。如果您使用此方法,在 Splunk 中用於設置此方法的參數位於 input.conf 文件中(更具體地說,它們是 host_regex 和 host_segment 參數)。
另一種方法是讓 Splunk 直接從日誌訊息中自動提取主機名。在這種情況下,訊息需要以 syslog 来源型式分類,或者必須應用自定義 Splunk 配置。

範例:從 UDP 接收日誌
此範例為小規模網路環境且不使用 relay
圖 2:從 UDP 接收日誌
下面的配置範例先增加一個 UDP 網路來源 s_net。接下來,增加一個命名為d_splunk_hec 的 HTTP 目標,它將日誌訊息發送到 Splunk 的 HTTP 事件收集器 (HEC)。HEC 已逐漸成為 Splunk 收集日誌訊息的首選方式。
to be continued…》
台北市內湖區瑞光路335號5樓
Tel. 02-7721-8168 
<
返回上一頁