Linux日誌管理

2021-10-03 23:21:51 字數 4866 閱讀 3462

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 目錄中,原始碼包...