1. 程式人生 > >Linux 基礎操作(九)————系統日誌、時間同步、修改時區

Linux 基礎操作(九)————系統日誌、時間同步、修改時區

上一節總結了ssh服務的用法及配置,這一節主要將系統日誌及同步時間、修改時區的方法

一、系統日誌

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 重啟服務才能生效
這裡寫圖片描述
這裡寫圖片描述
重啟服務後會自動生成WESETOS目錄,並將新的日誌記錄其中
這裡寫圖片描述

3、日誌格式

日誌裝置(型別).(連線符號)日誌級別 日誌處理方式(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:表示在xxx之外的等級的資訊
注意xxx是寫日誌級別
這裡寫圖片描述
這裡指記錄所有型別日誌的一般資訊級別的日誌到westos目錄裡

例項

  1. 記錄到普通檔案或裝置檔案::
    . /var/log/file.log # 絕對路徑
    . /dev/pts/1 #將日誌傳送到顯示裝置1
    這裡寫圖片描述
    這裡寫圖片描述
    測試: logger test
    logger 命令用於產生日誌
    這裡寫圖片描述

  2. 傳送給使用者(需要線上才能收到)
    . student
    . root,student # 使用,號分隔多個使用者
    . * ‘ * ‘號表示所有線上使用者
    這裡寫圖片描述
    這裡寫圖片描述

  3. 忽略,丟棄
    local3.* ~ # 忽略所有local3型別的所有級別的日誌

  4. 執行指令碼::
    local3.* ^/tmp/a.sh
    ^號後跟可執行指令碼或程式的絕對路徑
    日誌內容可以作為指令碼的第一個引數.
    可用來觸發報警

第三和第四個例項下週抽時間專門寫一篇部落格

4、修改日誌採集格式

在任意行加入$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”每個引數的位置都可以根據喜好任意調換

haha ##自定義的名稱
%timegenerated% ##顯示日誌時間
%FROMHOST-IP% ##顯示主機ip
%syslogtag% ##日誌記錄目標
%msg% ##日誌內容
\n ##換行
$ActionfileDefaultTemplate WESTOS ##新增westos為預設格式
*.info;mail.none;authpriv.none;cron.none student;haha
這裡寫圖片描述

5、日誌分析工具journal

journal和rsyslog最大的區別就是它是儲存在記憶體上的日誌,但是一關機那些日誌就會消失

systemd-journald ##程序名稱

journalctl ##直接執行,瀏覽系統日誌
-n 3 ##顯示最新3條
-p err ##顯示報錯
-f ##監控日誌,和watch相似
–since –until ## –since “[YYYY-MM-DD] [hh:mm:ss]” 從什麼時間到什麼時間的日誌
這裡寫圖片描述
-o verbose
顯示日誌能夠使用的詳細程序引數
SYSTEMD_UNIT=sshd.service服務名稱
PID=1182程序pid
這裡寫圖片描述
可以通過搜尋定位需要檢視日誌

2、對systemd-journald管理
預設情況下此程式會忽略重啟前的日誌資訊,如不想忽略:
mkdir /var/log/journal ##建立journal日誌目錄
chown root:systemd-journal /var/log/journal ##更改目錄屬性
chmod 2755 /var/log/journal ##更改目錄許可權
killall -1 systemd-journald ##重新加在服務
ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f
system.journal user-1000.journal
這裡寫圖片描述

6、日誌同步

systemctl stop firewalld ##關閉兩臺主機的火牆(可只關閉接受方)

1、配置日誌傳送方
. @172.25.0.11 ##通過udp協議把日誌傳送到11主機,一個‘ @ ‘是udp,兩個‘ @ ‘ 是@@tcp
這裡寫圖片描述

2、配置日誌接受方(根據‘@‘確定以什麼協議傳輸)
$ModLoad imudp ##日誌接收外掛,udp

$UDPServerRun 514 ##日誌接收外掛使用埠
這裡寫圖片描述
重啟服務後,netstat -anulpe | grep rsyslog 檢視埠是否開啟
這裡寫圖片描述
-a ##all
-n ##不做解析
-t ##tcp
-u ##udp
-p ##程序名稱
-e ##擴充套件資訊

測試

‘ > /var/log/messages ##兩邊都作,清空日誌列表

logger test message ##日誌傳送方

cat /var/log/message ##日誌接收方
這裡寫圖片描述

7、時間同步

1.服務端
如果沒有chrony服務 可以下載安裝
yum install chrony -y ##安裝服務

vim /etc/chrony.conf ##主配置檔案
這裡寫圖片描述
21 # Allow NTP client access from local network.
22 allow 172.25.0.0/24 ##允許誰去同步我的時間(網段)
27 # Serve time even if not synchronized to any NTP server.
28 local stratum 10 ##不去同步任何人的時間,時間同步伺服器級別
這裡寫圖片描述
修改後重啟服務systemctl restart chronyd並關閉防火牆systemctl stop firewalld

2.客戶端
為了方便看到效果修改了客戶端的時間,並將客戶端和服務端實時做了對比
這裡寫圖片描述
vim /etc/chrony.conf
這裡寫圖片描述
設定服務端的ip地址
重啟服務systemctl restart chronyd

可以看到客戶端重啟服務後和服務端的時間進行了同步
這裡寫圖片描述

還可以通過chronyc sources -v檢視具體同步資訊
這裡寫圖片描述

8、timedatectl命令

timedatectl status ##顯示當前時間資訊
timedatectl set-time ##設定當前時間
timedatectl set-timezone ##設定當前時區
timedatectl list-timezone ##檢視所有時區
timedatectl set-local-rtc 0 | 1 ##設定是否使用utc時間
這裡寫圖片描述