西部開源學習筆記《unit 10》

###########################

####### 10.系統日誌 #######

###########################


#######1.系統日誌默認分類#######

/var/log/messages         ##系統服務及日誌,包括服務的信息,報錯等等

/var/log/secure           ##系統認證信息日誌

/var/log/maillog          ##系統郵件服務信息

/var/log/cron             ##系統定時任務信息

/var/log/boot.log         ##系統啓動信息


####2.日誌管理服務rsyslog####

1.rsyslog負責採集日誌和分類存放日誌

2.rsyslog日誌分類

vim /etc/rsyslog.conf     ##主配置文件

服務.日誌級別     /存放文件

*.*               /var/log/westos


systemctl restart rsyslog


###格式###


日誌設備(類型).(連接符號)日誌級別     日誌處理方式(action)


#####日誌設備(可以理解爲日誌類型)#####

auth                 ##pam產生的日誌

authpriv             ##ssh,ftp等登陸信息的驗證信息

cron                 ##時間任務相關

kern                 ##內核

lpr                  ##打印

mail                 ##郵件

mark(syslog)-rsyslog ##服務內部的信息,時間標識

news                 ##新聞組

user                 ##用戶程序產生的相關信息

uucp                 ##unix to unix copy, unix主機之間相關的通信

local 1~7            ##自定義的日誌設備


######日誌級別######

——————————————————————

debug                ##有調試信息的,日誌信息最多

info                 ##一般信息的日誌,最常用

notice               ##最具有重要性的普通條件的信息

warning              ##警告級別

err                  ##錯誤級別,阻止某個功能或者模塊不能正常工作的信息

crit                 ##嚴重級別,阻止整個系統或者整個軟件不能正常工作的信息

alert                ##需要立刻修改的信息

emerg                ##內核崩潰等嚴重信息

none                 ##什麼都不記錄


##注意:從上到下,級別從低到高,記錄的信息越來越少

##詳細的可以查手冊:man 3 syslog


####連接符號#####

————————————————————

.xxx:表示大於等於xxx級別的信息

.=xxx:表示等於xxx級別的信息

.!:表示在xxx之外的等級的信息


#####實例#####

1.記錄到普通文件或設備文件:

*.*     /var/log/file.log         ##絕對路徑

*.*     /dev/pts/0

測試:logger -p local3.info 'KadeFor is testing the rsyslog and logger' logger 命令用於產生日誌


2.發送給用戶(需要在線才能收到)

*.*     root

*.*     root,kadefor,up01         #使用,號分隔多個用戶

*.*     *                         #*號表示所有在線用戶


3.忽略,丟棄

local3.*     ~                    #忽略所有local3類型的所有級別的日誌


4.執行腳本

local3*     ^/tmp/a.sh            #^號後跟可執行腳本或程序的絕對路徑

                                  #日誌內容可以作爲腳本的第一個參數

                                  #可以用來觸發報警


######日誌同步#######


systemctl stop firewalld      ##關閉兩臺主機的防火牆(兩臺主機上都要執行)


配置日誌發送方

*.*     @172.25.19.10         ##通過udp協議把日誌發送到11主機,@udp,@@tcp


配置日誌接受方

  15 $ModLoad imudp           ##日誌接收插件

  16 $UDPServerRun 514        ##日誌接收插件使用端口



netstat -anulpe | grep rsyslog

udp     0       0 0.0.0.0:514     0.0.0.0:*

syslogd

udp6    0       0 :::514          :::*

syslogd


測試

> /var/log/messages         ##兩端主機都要做

logger test message         ##日誌發送方


tail -f /var/log/message    ##日誌接受方


####日誌採集格式#####

$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n'"


%timegenerated%

%FROMHOST-IP%

%syslogtag%

%msg%

\n


$ActionfileDefaultTemplate WESTOS


*.info:mail.none:authpriv.none:cron.none /var/log/messages:<<WESTOS>>


#####3.日誌分析工具journal#####


systemd-journald             ##進程名稱

journalctl                   ##直接執行,瀏覽系統日誌

-n 3                         ##顯示最新3條

-p err                       ##顯示報錯

-f                           ##監控日誌

--since --until              ##--since"[YYYY-MM-DD][hh:mm:ss]"從什麼時間到什麼時間的日誌

-o verbose                   ##顯示日誌能夠使用的詳細進程參數

                             ##_SYSTEMD_UNIT=sshd.service服務名稱

                             ##_PID=1182進程pid


對system-journald管理

##默認情況下此程序會忽略重啓前的日誌信息,如不忽略:

mkdir /var/log/journal

chown root:systemd-journal /var/log/journal

chmod 2755 /var/log/journal

killall -l systemd-journald

ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f

system.journal user-1000.journal



補充:

man 5 rsyslog.conf            ##查看rsyslog.conf的詳細幫助


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章