rsyslog 系統日誌管理
關心問題:哪類程式---》產生的什麼日誌----》放到什麼地方
第一類:
rsyslogd: 系統專職日誌程式。
處理絕大部分日誌記錄,
系統操作有關的資訊,如登入資訊,程式啟動關閉資訊,錯誤資訊
第二類:
httpd/nginx/mysql: 各類應用程式,可以以自己的方式記錄日誌.
講解對應程式時會逐步介紹
觀察 rsyslogd程式
[root@localhost ~]# ps aux |grep rsyslogd
root 717 0.0 0.0 219752 3880 ? ssl 09:05 0:00 /usr/sbin/rsyslogd -n
# tail -10 /var/log/messages
//系統主日誌檔案
# tail -f /var/log/messages
//動態檢視日誌檔案的尾部
# tailf /var/log/secure
//認證、安全
# tail /var/log/yum.log
//yum
# tail /var/log/maillog
//跟郵件postfix相關
# tail /var/log/cron
//crond、at程序產生的日誌
# tail /var/log/dmesg
//和系統啟動相關
# tail /var/log/audit/audit.log
//系統審計日誌
# tail /var/log/mysqld.log
//mysql
# tail /var/log/xferlog
//和訪問ftp伺服器相關
# tail /var/log/wtmp
//當前登入的使用者(命令:w)
# tail /var/log/btmp
//最近登入的使用者(命令last)
# tail /var/log/lastlog
//所有使用者的登入情況(命令lastlog )
1.相關程式
yum install rsyslog logrotate
預設已安裝
2.啟動程式
systemctl start rsyslog.service
3.相關檔案
rpm -qc rsyslog
/etc/rsyslog.conf
rsyslogd的主配置檔案(關鍵)
/etc/sysconfig/rsyslog
rsyslogd相關檔案,定義級別(了解一下)
/etc/logrotate.d/syslog
和日誌辦輪轉(切割)相關(任務二)
//觀察日誌程式的配置檔案
告訴rsyslogd程序什麼日誌,應該存到**。
# vim /etc/rsyslog.conf
rules
rules:即規則,是一套生成日誌,以及儲存日誌的策略。
規則由裝置+級別+存放位置組成。
rules由facility+level+file組成。
authpriv.* /var/log/secure(ssh資訊)
mail.* -/var/log/maillog(發郵件)
cron.* /var/log/cron(建立任務)
這裡有乙個-符號, 表示是使用非同步的方式記錄, 因為日誌一般會比較大
*.info;mail.none;authpriv.none;cron.none /var/log/messages
系統日誌排除了郵件,認證,計畫日誌。
facility&level
facility裝置
facility
是系統對某種型別事件的定義。如authpriv是安全事件,cron是計畫任務事件。
# man 3 syslog
裝置型別
log_syslog
syslogd自身產生的日誌
log_authpriv
安全認證
log_cron
(cron and at)
log_mail
郵件系統mail subsystem
log_user (default)
使用者相關
log_daemon
後台程序
log_ftp
ftp daemon
log_kern
kernel messages
log_lpr
印表機printer subsystem
log_local0 through log_local7
使用者自定義裝置
程式型別示例
關於程式和裝置的聯絡問題,程式自身會決定將日誌交給哪類裝置。如ssh程式會選擇安全類裝置。這一點由開發者定義。
#grep facility /etc/ssh/sshd_config
syslogfacility authpriv
請問這個程式是屬於哪個裝置呢?
認證裝置
level級別
log_emerg 緊急,致命,服務無法繼續執行,如配置檔案丟失
log_alert 報警,需要立即處理,如磁碟空使用95%
log_crit 致命行為
log_err 錯誤行為
log_warning 警告資訊
log_notice 普通,重要的標準資訊
log_info 標準資訊
log_debug 除錯資訊,排錯所需,一般不建議使用
從下到上,級別從低到高,記錄的資訊越來越少
規則示意圖
目的:通過繪圖形式來理解日誌工作機制。
圖示
logrotate日誌輪轉
將大量的日誌,分割管理,刪除舊日誌。
logrotate日誌輪轉
簡介
日誌 記錄了程式執行時各種資訊。
通過日誌可以分析使用者行為,記錄執行軌跡,查詢程式問題。
可惜磁碟的空間是有限的
日誌輪轉就像飛機裡的黑匣子,記錄的資訊再重要也只能記錄最後一段時間發生的事。
為了節省空間和整理方便,日誌檔案經常需要按!時間或!大小等維度分成多份,刪除時間久遠的日誌檔案。
工作原理
按照配置進行輪轉
配置檔案種類
主檔案:/etc/logrotate.conf (決定每個日誌檔案如何輪轉)
子資料夾:/etc/logrotate.d/*
觀察主檔案和子檔案
主配置檔案介紹
[root@localhost ~]# vim /etc/logrotate.conf
weekly //輪轉的週期,一周輪轉
rotate 4 //保留4份
create //輪轉後建立新檔案
dateext //使用日期作為字尾
#compress //是否壓縮
include /etc/logrotate.d //包含該目錄下的子配置檔案
/var/log/wtmp
/var/log/btmp
yum日誌輪轉例項
輪轉的目標檔案/var/log/yum.log
配置輪轉規則
# vim /etc/logrotate.d/yum
/var/log/yum.log
測試
錯誤示範
# /usr/sbin/logrotate /etc/logrotate.conf //手動輪轉
# ls /var/log/yum*
/var/log/yum.log
檔案只有乙個。因為日期沒變
正確示範
修改時間,手動觸**轉
# date 04011000
把時間向未來推移
# /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
那行命令式讓他立刻輪轉的,然後,這都是由系統自動執行的,不需要我們操作。
命令 時間戳 配置檔案
# ls /var/log/yum*
日誌檔案已經出現多個
關於時間
# grep 'yum' /var/lib/logrotate/logrotate.status //記錄所有日誌檔案最近輪轉的時間
"/var/log/yum.log" 2019-3-31-10:0:23
//如果沒有輪轉過,第一次只有記錄
linux日誌管理
linux日誌管理 syslog是一種工業標準協議,可用於記錄裝置的日誌。這些日誌記錄了系統中發生的大大小小的事情。因此,它對於系統的安全性非常重要。它會將一些系統資訊記錄到登陸檔案中,常見的登陸檔案有以下幾種 l var log secure 記錄登陸系統訪問的資料檔案,例如pop3,ssh,te...
Linux日誌管理
摘要 linux日誌的介紹和管理,包括日誌輪轉方式和日誌伺服器啟用 一 日誌及常用日誌檔案 1.日誌 記錄系統在什麼時候由哪些程序做了什麼行為時,發生了什麼事。1.解決系統方面錯誤 排錯 2.解決網路服務問題 3.過往事件記錄 常見事件記錄 2.常見日誌 var log boot.log 開機啟動資...
Linux日誌管理
一 日誌服務簡介 在linux系統中,日誌服務是由rsyslogd服務提供的,我們先來檢視這個日誌服務是否啟動和自啟動 我們可以看到這個服務是預設開機自啟動的 下面我們來看下常見的日誌檔案的作用 除了系統預設日誌外,採用rpm包方式安裝的系統服務也會預設把日誌記錄在 var log 目錄中,原始碼包...