首頁  >  文章  >  運維  >  linux中怎麼配置syslog實作日誌轉發

linux中怎麼配置syslog實作日誌轉發

WBOY
WBOY轉載
2023-05-26 11:16:115410瀏覽

一、syslog協定

      linux系統中大部分的日誌是透過一種syslog機制產生和維護。 syslog是一種協議,分為客戶端和伺服器端。客戶端產生日誌,伺服器端接收日誌。並對接收的日誌做出儲存到檔案或其他方式的處理。

       在linux中,常見syslog伺服器端程式是syslogd守護程式。這個程式從三個地方接收日誌

        【1】: unix域套接字/dev/log

        【2】:udp連接埠514

##  #     【2】:udp埠514

##  】特殊的裝置/dev/klog

         對應的,產生日誌的訊息的程式需要透過上述三種方式寫入訊息。對於大多數程式而言就是向/dev/log這個套接字發送日誌訊息。

         在unix作業系統上,syslog廣泛用於系統日誌。 syslog日誌訊息既可以記錄在本機檔案中,也可以透過網路傳送到syslog的伺服器。接收syslog的伺服器可以對多個裝置的syslog訊息進行統一儲存。或解析其中的內容做對應的處理。常見的應用場景是網路管理工具,安全管理系統,日誌管理系統。完整的syslog日誌包含

           【1】:產生日誌的程式模組

           【2】:嚴重性

# 4】:主機名稱或IP

           【5】:進程名稱

            6】:進程ID

##   # 年定義的RFC3164中,描述了BSD syslog協議:http://www.ietf.org/rfc/rfc3164.txt,不過這個規範的很多內容都不是強制性的,常常是“建議”或者“約定”,也由於這個規範出的比較晚,很多設備並不遵守或不完全遵守這個規範。接下來就介紹一 下這個規範。

       約定發送syslog的裝置為Device,轉送syslog的裝置為Relay,接收syslog的裝置為Collector。 Relay本身也可以發送自身的syslog給Collector,這時候它表現為一個Device。 Relay也可以只轉發部分接收到的syslog訊息,這時候它同時表現為Relay和Collector。

       syslog訊息發送到Collector的UDP 514端口,不需要接收方應答,RFC3164建議 Device 也使用514作為來源端口。規定syslog訊息的UDP封包不能超過1024字節,並且全部由可列印的字元組成。完整的syslog訊息由3部分組成,分別是PRI、HEADER和MSG。大部分syslog都包含PRI和MSG部分,而HEADER可能沒有。

二、設定syslog服務端與用戶端,實作日誌轉送

      環境:ubantu16.04

     1、服務端

          <1> 修改/etc/default/rsyslog

   

         #             

> SYSLOGD_OPTIONS為"-r -x -m 0" 

                        -r表示下的訊息##                        -m 0表示時間戳標記間隔,

                        

若指定只接受某或多個ip過來的日誌,例"-s 168.1.1.1:168"##1.2168"

            > 修改/etc/rsyslog.conf

                 取消註解:#

$ModLoad imudp.so
                          $UDPServerRun 514

                 在檔案末端新增這兩個句子

syslog.info;syslog.!err;syslog.!crit;syslog.!alert       /var/log/mylog      #info信息记录到日志服务器的/var/log/mylog中
                         syslog.err                                           /var/log/testerror    #error信息记录到日志服务器的/var/log/testerror中  2 、客户端

          修改/etc/syslog.  新增註解## #       在結尾增加這兩句

                         syslog.info   @IP(IP為服務端IP地址)

3、服務重啟

4、測試

  在用戶端執行下方程式碼,可在服務端/var/log/mylog中看到日誌已存入服務端

$ModLoad imudp.so
                          $UDPServerRun 514

以上是linux中怎麼配置syslog實作日誌轉發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除