簡單介紹
- syslog系統日誌服務協議,標準出來的比較晚
- 用於記錄系統日誌或者用戶程序產生的日誌
- 採用C/S架構,本地能夠經過socket和syslogd守護進程通信,遠程經過TCP/UDP協議通訊,支持加密,默認端口是514
- 除了能夠記錄本地日誌以外,還能夠做爲中繼器(relay轉發)或者接收器(collector)接收來自支持syslog協議客戶端的日誌
- CentOS6.0後,使用rsyslogd代替syslogd,rsyslogd是對syslogd的加強和擴展
- rsyslogd支持文件寫入本地文件,也支持寫入關係型數據庫,或者寫入Kafka以及hdfs
- 注意
- 若是日誌信息包含多行,每一行是syslog的一個msg,對於總體分析會有問題
- syslog總體架構
(圖片來源rsyslog官方文檔)php
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
[root@wadeyu ~]# systemctl restart rsyslog
參考資料