天天看點

Linux--日志的管理以及時間的同步

####1.系統日志預設分類####

/var/log/messages   ##系統服務及日志,包括服務的資訊,報錯等等

/var/log/secure     ##系統認證資訊日志

/var/log/maillog    ##系統郵件服務資訊

/var/log/cron      ##系統定時任務資訊

/var/log/boot.log   ##系統啟動資訊

圖示:檢視 /var/log/messages 下的日志内容

1.rsyslog負責采集日志和分類存放日志

2.rsyslog日志分類

vim /etc/rsyslog.conf   ##主配置檔案

服務.日志級别      /存放檔案

*.*         /var/log/westos

systemctl restart rsyslog

圖示:操作指令

<a href="https://s1.51cto.com/wyfs02/M02/A7/7D/wKioL1nnQd2xJonBAABROKUailo859.png-wh_500x0-wm_3-wmp_4-s_3479276719.png" target="_blank"></a>

圖示:配置檔案的51行

<a href="https://s1.51cto.com/wyfs02/M02/A7/7D/wKioL1nnQamDZYbFAAEZy8bvZ7g511.png-wh_500x0-wm_3-wmp_4-s_4120104743.png" target="_blank"></a>

###格式###

日志裝置(類型).(連接配接符号)日志級别  日志處理方式(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

圖示:man3 syslog 手冊

<a href="https://s4.51cto.com/wyfs02/M00/A7/7D/wKioL1nnQgmyZcK0AAEaP2pq628159.png-wh_500x0-wm_3-wmp_4-s_3495267580.png" target="_blank"></a>

####連接配接符号####

.xxx: 表示大于等于xxx級别的資訊

.=xxx:表示等于xxx級别的資訊

.!xxx:表示在xxx之外的等級的資訊

#####執行個體####

1. 記錄到普通檔案或裝置檔案::

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

*.*     /dev/pts/0

測試: logger -p local3.info ‘KadeFor is testing thersyslog and logger ‘   logger 指令用于産生日志

圖示:配置檔案中的路徑51行

<a href="https://s5.51cto.com/wyfs02/M00/08/CE/wKiom1nnRPzS9vchAADs6OqoUzI353.png-wh_500x0-wm_3-wmp_4-s_686759237.png" target="_blank"></a>

2. 發送給使用者(需要線上才能收到)

*.*   root

*.*   root,kadefor,up01         #使用,号分隔多個使用者

*.*   *                     #*号表示所有線上使用者

3. 忽略,丢棄

local3.*   ~                # 忽略所有local3類型的所有級别的日志

4. 執行腳本::

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

                            # 日志内容可以作為腳本的第一個參數.

                           #  可用來觸發報警

####日志同步####

systemctl stop firewalld        ##關閉兩台主機的火牆

圖示:關閉兩台主機的防火牆

vim /etc/rsysctl.conf

配置日志發送方

*.*             @172.25.0.11       ##通過udp協定把日志發送到11主機 @udp,@@tcp

圖示:添加接收方的IP

<a href="https://s4.51cto.com/wyfs02/M01/08/CE/wKiom1nnRWvA2WRgAACmaK_-F6A523.png-wh_500x0-wm_3-wmp_4-s_1552005925.png" target="_blank"></a>

 配置日志接受方

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

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

圖示:配置檔案中的15、16行

<a href="https://s5.51cto.com/wyfs02/M02/08/CE/wKiom1nnRbiDb5sjAAEsPWp2b8A011.png-wh_500x0-wm_3-wmp_4-s_4098885072.png" target="_blank"></a>

netstat -anulpe | grep rsyslog

udp        0      0 0.0.0.0:514             0.0.0.0:*                           0          122073     32654/rsyslogd      

udp6       0     0 :::514                 :::*                               0          122074     32654/rsyslogd      

-a  ##all

-n  ##不做解析

-t  ##tcp

-u  ##udp

-p  ##程序名稱

-e  ##擴充資訊

測試

&gt; /var/log/messages        ##兩邊都作

logger test message         ##日志發送方

tail -f /var/log/messages      ##日志接收方

圖示:在接收方收到發送方發送的日志

<a href="https://s2.51cto.com/wyfs02/M02/A7/7D/wKioL1nnQ1bjbVJTAAGMAKa3R0c302.png-wh_500x0-wm_3-wmp_4-s_4283183800.png" target="_blank"></a>

####日志采集格式####

##在server中執行以下指令

在rules指令的下一行開始添加此指令

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

%timegenerated%        ##顯示日志時間

%FROMHOST-IP%          ##顯示主機ip

%syslogtag%        ##日志記錄目标

%msg%              ##日志内容

\n              ##換行

*.info;mail.none;authpriv.none;cron.none             /var/log/messages;&lt;&lt;WESTOS&gt;&gt;

如圖: 在desktop中檢視messages,将會一次顯示日志時間、主機ip、日至記錄目标、日志内容

<a href="https://s3.51cto.com/wyfs02/M00/A7/7D/wKioL1nnQ8eg0ag0AAKglcLlLwk850.png-wh_500x0-wm_3-wmp_4-s_973053452.png" target="_blank"></a>

####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

圖示:浏覽系統日志 

<a href="https://s2.51cto.com/wyfs02/M02/08/CE/wKiom1nnRxiyviHtAANwyhmS5IA746.png-wh_500x0-wm_3-wmp_4-s_1932033421.png" target="_blank"></a>

對systemd-journald管理

##預設情況下此程式會忽略重新開機前的日志資訊,如不忽略:

mkdir /var/log/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

####4.時間同步####

1.服務端

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

圖示:安裝服務

<a href="https://s1.51cto.com/wyfs02/M00/08/CE/wKiom1nnR4KgI-e1AADgmLeudDo589.png-wh_500x0-wm_3-wmp_4-s_3128505249.png" target="_blank"></a>

圖示:主配置檔案 /etc/chrony.conf

<a href="https://s1.51cto.com/wyfs02/M01/08/CE/wKiom1nnR9fCyHtTAAEFbZ9z7kk226.png-wh_500x0-wm_3-wmp_4-s_108843060.png" target="_blank"></a>

2.用戶端

vim /etc/chrony.conf

  3 server 0.rhel.pool.ntp.orgiburst

  4 server 1.rhel.pool.ntp.orgiburst----》 server ntpserverip iburst

  5 server 2.rhel.pool.ntp.orgiburst----》

  6 server 3.rhel.pool.ntp.orgiburst

圖示:服務端的配置檔案操作如下 /etc/chrony.conf

<a href="https://s1.51cto.com/wyfs02/M02/08/CE/wKiom1nnSBiB7hs-AACVB8PYZyE491.png-wh_500x0-wm_3-wmp_4-s_3548075656.png" target="_blank"></a>

圖示:上部分為服務端進行的操作,下部分為用戶端進行此操作

<a href="https://s5.51cto.com/wyfs02/M01/A7/7D/wKioL1nnQMaieHXUAAGozS3UWT4403.png-wh_500x0-wm_3-wmp_4-s_646105131.png" target="_blank"></a>

測試:

[root@localhost ~]# chronyc sources -v

210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = localclock.

 / .- Source state '*' = current synced,'+' = combined , '-' = not combined,

| /   '?' = unreachable, 'x' = time maybe in error, '~' = time too variable.

||                                                .- xxxx [ yyyy ] +/- zzzz

||                                               /   xxxx = adjusted offset,

||         Log2(Polling interval) -.             |    yyyy = measured offset,

||                                 \            |    zzzz = estimated error.

||                                  |           |                         

MS Name/IP address         Stratum PollReach LastRx Last sample

===============================================================================

^* 172.25.0.11                  10   6  377    41   +170us[ +201us] +/-  191us

圖示:測試結果

<a href="https://s1.51cto.com/wyfs02/M00/08/CE/wKiom1nnQ5zC9Wn9AADCHTUeAKs228.png-wh_500x0-wm_3-wmp_4-s_948330464.png" target="_blank"></a>

####5.timedatectl指令####

timedatectl     status          ##顯示目前時間資訊

            set-time        ##設定目前時間

            set-timezone       ##設定目前時區

            set-local-rtc 0|1   ##設定是否使用utc時間

圖示:顯示目前時間資訊

<a href="https://s4.51cto.com/wyfs02/M00/08/CE/wKiom1nnQ6zDYarbAADh51OGFOI274.png-wh_500x0-wm_3-wmp_4-s_327889546.png" target="_blank"></a>

###end###

本文轉自 無緣 51CTO部落格,原文連結:http://blog.51cto.com/13352594/1975409

繼續閱讀