系統記錄通訊協定 (System Logging Protocol, Syslog) 是讓網路裝置能夠運用標準訊息格式與記錄伺服器通訊的方法。這是為了簡化網路裝置監控作業而設計的協定。在各種具體情況下,裝置都能使用 Syslog 代理程式發出通知訊息。
這些記錄訊息包括時間戳記、嚴重程度分級、裝置 ID(包括 IP 位址),以及事件的具體資訊。Syslog 通訊協定有其缺點,但普及程度仍然相當高,因為這種通訊協定實作起來相當容易,也十分開放,能進行許多不同的專用實作,自然也能監控絕大多數的連線裝置。
Syslog 適用於 Unix、Linux 以及其他 *nix,當然也適用於 MacOS。Windows 伺服器不提供 Syslog 原生支援功能,但有許多第三方工具可以讓 Windows 裝置與 Syslog 伺服器通訊。
註:「Syslog」一詞在不同方面可能指實際的伺服器處理序或「精靈」(確切地說,Syslog 精靈稱為 syslogd)、訊息格式,抑或是通訊協定。許多問世已久且用途廣泛多樣的系統有可能會出現這種情形。
下載「雲端監控採購指南」
記錄的必要性
Syslog 的一大優點就是記錄伺服器可以透過記錄檔監控大量的 syslog 事件。路由器、交換器、防火牆以及伺服器都會產生記錄訊息,許多印表機和其他裝置也一樣。
Syslog 伺服器會接收、分類及儲存記錄訊息,再將其用於分析,從而綜觀網路的一舉一動。若無法全面綜觀網路活動,很有可能會出現裝置突然發生故障的情況,一旦發生大規模故障,就很難找出蛛絲馬跡。
Syslog 訊息
Syslog 訊息會經由使用者資料包通訊協定 (User Datagram Protocol, UDP) 傳送,也就是連接埠 514。UDP 俗稱免連線通訊協定,因此不確定或不保證能送達訊息。這雖然是缺陷,但也因為如此,系統管理作業才能如此輕鬆簡便。
Syslog 訊息通常採用易讀格式,但這並非必要條件。每則訊息的標頭各有一個優先級,這是一個代碼組合,代表裝置建立訊息的處理序加上嚴重性等級。處理序代碼稱為「設施」,衍生自 UNIX。嚴重性等級範圍分別是代表緊急的 0 和代表必須立即注意的 1,一直到代表資訊參考的 6 以及代表除錯訊息的 7。
處理序代碼和嚴重性等級代碼合併起來,即可對 Syslog 訊息進行快速分類。
收集與管理資料
保留所有訊息會製造出龐大的 Syslog 資料量,因此,Syslog 伺服器需要大型資料庫。
這類伺服器也需要管理及篩選軟體,以利自動產生警示、警報和通知。篩選功能可以讓系統管理員輕鬆地叫出特定時段內來自特定來源的檔案,例如防火牆。
螢幕快顯或遠端文字訊息能讓系統管理員隨時注意任何功能異常現象。倘若擔心特定裝置出問題,可以設定較低的閾值,以利密切監控嚴重程度較低的訊息。
Syslog 資料運用方式非常廣,例如可用於詳細報告,也可用於產生方便釐清網路結構的圖表。
要追蹤、整合及分析 Syslog 收集到的大量記錄資料,只要使用安全資訊與事件管理 (Security Information and Event Management, SIEM) 軟體就行了。SIEM 原本主要用於法遵申報方面的用途,現在應用更廣,能與 Syslog 相輔相成。
Syslog 與 SNMP 的不同之處
簡易網路管理通訊協定 (Simple Network Management Protocol, SNMP) 是另一項網路裝置監控通訊協定。SNMP 的運作模式不同,是靠輪詢裝置的方式取得大多數的資料。Syslog 伺服器通常可以接受 SNMP 資料,尤其是 SNMP 設陷,也就是採用 SNMP 技術的裝置在未經輪詢的前提下傳送資料。
SNMP 最適合條件可預測的受限情況,而 Syslog 的規模較廣、格式限制較少,能因應許多不同類型的事件。
Syslog 的變化類型
除了 Syslog 之外,還有 rsyslog 和 syslog-ng。Syslog 是早在 1980 年代初期就存在的原始通訊協定,另外兩種則是後來才出現的變化類型,彼此稍有不同。
Syslog-ng 始於 1988 年,增加了一些新的篩選功能與加密功能。其語法並非直接衍生自 syslog,因此,syslog-ng 伺服器和 syslog-ng 設定稍有不同。如欲深入瞭解 syslog-ng 安裝方式,請參閱這裡。
Rsyslog 是在 2004 年直接從 Syslog 衍生而來,因此很容易就成為 Syslog 的替代品,因為 syslog.conf 檔可以取代 rsyslog.conf。Rsyslog 和 syslog-ng 非常相似,剖析非結構化資料並將資料傳送至不同目的地的能力也比較完善。
除了 UDP 以外,syslog-ng 和 rsyslog 也都能使用 TCP、TLS 以及 RELP。