linux系統日誌概念及rsyslog服務配置

linux系統日誌概念及rsyslog服務配置

日誌是什麼

  • 日誌是系統用來記錄系統運行時候的一些相關信息的純文本文件
  • 日誌的目的是爲了保存相關程序的運行狀態,錯誤信息等,爲了對系統進行分析,保存歷史記錄以及在出現錯誤的時候發現分析錯誤使用
  1. linux系統一般會保存一下類型日誌
    • 內核信息
    • 服務信息
    • 應用程序信息

Rsyslog

  1. linux系統中用來實現日誌功能的服務稱之爲rsyslog,早期版本中稱之爲syslog,Rsyslog是syslog的增強版本

  2. Rsyslog一般默認都會安裝,並設置自啓動,可以通過以下命令控制rsyslog服務

在centos6中可以直接啓動

service rsyslog start | stop | restart

在centos7中需要先進行下載


# 安裝
yum install -y rsyslog

# 啓動
systemctl start rsyslog.service

rsyslog配置文件位置

/etc/rsyslog.conf

日誌消息一般保存在

/var/log

通常使用tail -f logfile 的方式來試試監控日誌文件


  1. 相關文件
  • rsyslog相關文件
rpm -qc rsyslog  #查找相關文件

/etc/rsyslog.conf     #rsyslogd的主配置文件
/etc/sysconfig/rsyslog      #rsyslogd相關文件,定義級別
/etc/logrotate.d/syslog   #和日誌辦輪轉(切割)相關
  • 日誌記載相關文件
secure             # 安全相關,主要是用戶認證,如登錄 、創建和刪除賬號 、sudo等
audit/audit.log  # 審計日誌。跟用戶賬號相關
messages        #記錄系統和軟件的絕大多數消息。如服務啓動 、停止 、服務錯誤等。
boot.log         #系統啓動日誌。能看到啓動流程。
cron              #計劃任務日誌。會記錄crontab計劃任務的創建、執行信息。
dmesg           #硬件設備信息(device)。純文本,也可以用dmesg命令查看。
yum.log          #yum軟件的日誌。記錄yum安裝、卸載軟件的記錄。
lastlog           #最後登錄的日誌。用lastlog查看(二進制日誌文件)
btmp            #登錄失敗的信息(bad)。用lastb查(二進制日誌文件)
wtmp          #正確登錄的所有用戶命令(who、w),用last查(二進制日誌文件)

  • 日誌類別:(用man 3syslog來查看)

rsyslog通過facility概念來定義日誌消息的來源,以方便對日誌進行分類
注:日誌類別主要是用來區分軟件、服務.

LOG_AUTH #安全或授權信息
LOG_AUTHPRIV #安全或授權信息 (私有)
LOG_CRON #計劃任務
LOG_DAEMON #系統守護進程 without separate facility value
LOG_FTP #ftp守護進程相關
LOG_KERN #內核消息 (these can't be generated from user processes)
LOG_LOCAL0 through LOG_LOCAL #本地自定義
LOG_LPR #打印子系統
LOG_MAIL #郵件子系統
LOG_NEWS #新聞組子系統
LOG_SYSLOG #系統消息(8)
LOG_USER (default) #一般用戶的等級的消息
LOG_UUCP #UUCP subsystem unix like機器本身相關子系統

  • 日誌等級level:(用man 3 syslog來查看)
    注:等級主要用來區分某個軟件中日誌的分類。
    注:等級爲none表示不記錄任何信息。
LOG_EMERG #(emergency)疼痛級,嚴重錯誤,系統已經不可用
LOG_ALERT #(alert)報警.必須立即採取措施
LOG_CRIT #(critical)較嚴重錯誤
LOG_ERR #(error)錯誤
LOG_WARNING #(warning)警告
LOG_NOTICE #(notice)提示信息.normal, but significant, condition(較爲重要)
LOG_INFO #(informational)信息(正常信息)
LOG_DEBUG #(debug)調試級信息(無關緊要)

可以通過寫shell腳本來監控日誌裏面的報錯優先級,監控到想要的信息,可以發郵件或者發信息

rsyslog配置文件

  1. 配置文件中的日誌配置規則如下

facility.priority(安排優先級) log_location(存儲位置)

如:

mail.*                          -/var/log/maillog
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

-/var/log/mail 前面的-表示不等待硬盤同步,容易因爲斷電宕機丟失文件

  1. 如果需要將日誌發送到一個統一的日誌服務器,則可以按如下配置:
*.*       @192.168.1.1            (@表示使用UDP協議發送)

*.*       @@192.168.1.1         (@@表示使用TCP協議發送)

#  *.* 的規則是 facility.priority  
發佈了63 篇原創文章 · 獲贊 34 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章