日志管理
學習目標
- 清楚日志在系統中的作用
- 能夠看懂rsyslog基本配置項的含義
- 知道系統保存日志的位置
- 能夠自己動手配置日志服務器
一、日志介紹
1. 日志概念
日志是系統用來記錄系統運行時候的一些相關信息文本文件
2. 日志作用
日志是為了保存相關程序的運行狀態、錯誤信息等,為了對系統進行分析、保存歷史記錄以及在出現錯誤的時候發現分析錯誤使用
3. linux系統日志類型
內核信息
服務信息
應用程序信息
二、rsyslog
1. rsyslog介紹
-
rsyslog是linux系統中用來實現日志功能的服務,在CentOS5及更早版本中使用的是syslog,rsyslog是syslog的增強版本。rsyslog默認已經安裝,並且是自啟動的。
-
可以通過下面的命令控制rsyslog
[root@itcast ~]# systemctl status|start|stop|restart rsyslog
-
rsyslog的配置文件為
/etc/rsyslog.conf
-
日志消息一般保存在
/var/log
-
查看日志命令一般使用
tail -f logfile # 實時查看日志 tail -n logfile # 查看最新n行
2. rsyslog概念
2.1 facility
設施,用來定義日志消息的來源,方便對日志進行分類。
kern 內核消息
user 用戶級消息
mail 郵件系統消息
daemom 系統服務消息
auth 認證系統消息
syslog 日志系統自身消息
lpr 打印
authpriv 權限系統消息
cron 定時任務消息
news 新聞系統消息
uucp uucp系統消息
ftp ftp服務消息
local0 ~ local7 自定義消息
2.2 priority
日志級別,定義不同消息的級別
Emergency 系統已經不可用
alert 必須立即進行處理
critical 嚴重錯誤
error 錯誤
warning 警告
notice 正常信息,但是較為重要
informational 正常信息
debug debug信息
3. rsyslog配置
3.1 rsyslog.conf組成
MODULES
GLOBAL DRICTIVES
RULES
3.2 RULES配置規則
facility.priority target
target (保存位置):
文件、用戶、日志服務器
# 比如:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
mail.* -/var/log/maillog@
# 如果是日志服務器格式是:
*.* @192.168.100.1 (使用UDP協議發送)
*.* @@192.168.100.1 (使用TCP協議發送)
4. rsyslog實踐
4.1 查看sshd的日志位置
[root@itcast ~]# vim /etc/ssh/sshd_config
...省略...
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
...省略...
[root@itcast ~]# vim /etc/rsyslog.conf
....省略...
# The authpriv file has restricted access.
authpriv.* /var/log/secure
...省略...
4.2 配置日志服務器
日志服務器原理圖
配置具體步驟:
日志服務器配置
# 在日志服務器中開啟tcp或者udp監聽
[root@itcast ~]# vim /etc/rsyslog.conf
...省略...
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
...省略...
[root@itcast ~]# systemctl restart rsyslog
日志客戶端配置
[root@itcast ~]# vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none @@172.16.99.215 # 以TCP方式發送
[root@itcast ~]# systemctl restart rsyslog
# 測試效果
[root@itcast(日志客戶端) ~]# yum -y install samba //在日志客戶端安裝一個軟件
[root@itcast(日志客戶端) ~]# tail /var/log/messages //查看沒有生成日志
[root@itcast2(日志服務器) ~]# tail /var/log/messages //在服務器端查看生成了日志