rsyslogd系統日志服務總結


簡單介紹

  • syslog系統日志服務協議,標准出來的比較晚
  • 用於記錄系統日志或者用戶程序產生的日志
  • 采用C/S架構,本地可以通過socket和syslogd守護進程通訊,遠程通過TCP/UDP協議通信,支持加密,默認端口是514
  • 除了可以記錄本地日志之外,還可以作為中繼器(relay轉發)或者接收器(collector)接收來自支持syslog協議客戶端的日志
  • CentOS6.0后,使用rsyslogd代替syslogd,rsyslogd是對syslogd的增強和擴展
  • rsyslogd支持文件寫入本地文件,也支持寫入關系型數據庫,或者寫入Kafka以及hdfs
  • 注意
    • 如果日志信息包含多行,每一行是syslog的一個msg,對於整體分析會有問題
  • syslog整體架構

  • rsyslogd內部實現


(圖片來源rsyslog官方文檔)

syslog格式

  • HEADER MSG
  • <>包含的是Facility+Severity
  • HEADER部分包含 時間 + host/ip
  • MSG是具體的消息內容

syslog配置文件

  • 每一行表示一個項目,格式為:facility.level action
  • 常見的facility有:
    • kern: 內核信息
    • user: 用戶進程相關信息
    • mail: 電子郵件相關信息
    • daemon: 后台進程相關信息
    • authpriv: 包括特權信息如用戶名在內的認證活動等
    • cron: 計划任務信息
    • syslog: 系統日志信息
  • 重要級(按嚴重程度由低到高排序):
    • debug: 調試信息
    • info: 打印的信息
    • none: 沒有重要級,通常用於排錯
    • notice: 具有重要信息的普通條件
    • warning: 警告信息
    • err: 錯誤信息
    • crit: 阻止某些工具或子系統功能實現的錯誤條件
    • alert: 需要立即被修改的條件
    • emerg: 該系統不可用
  • 操作動作
    • 文件
    • 遠程日志服務
    • 其他存儲
# /etc/rsyslog.conf

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# php-fpm daemon messages
if $syslogfacility-text == "daemon" and $programname == "php-fpm"  then /var/log/php-fpm-error.log

# php error messages
if $syslogfacility-text == "user" and $programname == "php" then /var/log/php-error.log

  • 重啟rsyslogd服務(CentOS7)
[root@wadeyu ~]# systemctl restart rsyslog

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM