1、 日誌簡介node
Linux 保存了系統中所發生事件的詳細記錄,這些記錄稱做日誌文件或消息文件。能夠查閱日誌文件來肯定系統當前狀態,觀察***者蹤影,尋找某特定程序(或事件)相關的數據。centos6 使用 rsyslog 替代 syslog 記錄日誌linux
rsyslog 的日誌文件位於 /etc/rsyslog.conf 文件中 #開頭爲註釋 主要包括幾大部分:vim
#### MODULES #### 表示系統加載的模塊centos
1.$ModLoad imuxsock 表示加載 imuxsock 模塊 模塊文件位於 /lib64/rsyslog/目錄下服務器
其中下面幾行註釋的部分 用於經過 udp 或者 tcp 接受遠程消息 端口是 514(默認註釋也就是不開啓)網絡
# 提供 udp 接受消息#$ModLoad imudp #$UDPServerRun 514ssh
# 提供 TCP 接受消息#$ModLoad imtcp #$InputTCPServerRun 514異步
#### GLOBAL DIRECTIVES #### 全局規則設定tcp
$WorkDirectory /var/lib/rsyslog 工做目錄ide
$IncludeConfig /etc/rsyslog.d/*.conf 包含 /etc/rsyslog.d 下全部 conf 結尾的配置文件
#### RULES #### 用於配置哪種日志使用哪種級別 記錄在哪些位置語法 :facility.priority target
facility 表示產生日誌的設備 有如下這些值
關鍵字 |
值 |
解釋 |
kern |
0 |
內核信息,首先經過 klogd 傳遞 |
user |
1 |
由用戶程序生成的信息 |
2 |
與電子郵件有關的信息 |
daemon |
3 |
與 inetd 守護進程有關的信息 |
auth |
4 |
由 pam_pwdb 報告的認證活動 |
syslog |
5 |
由 syslog 生成的信息 |
lpr |
6 |
與打印服務有關的信息 |
news |
7 |
來自新聞服務器的信息 |
uucp |
8 |
由 uucp 生成的信息(uucp = unix to unix copy) |
cron |
9 |
與 cron 和 at 有關的信息 |
authpriv |
10 |
包括私有信息(如用戶名)在內的認證活動 |
ftp |
11 |
與 FTP 有關的信息 |
12-15 |
系統保留 |
local0 ~ local7 16-23 由自定義程序使用,例如使用 local5 作爲 ssh 功能
mark rsyslog 內部功能,用於生成時間戳
* 通配符表明除了 mark 之外的全部功能
priority 表示優先級 設置優先級後 全部低於該優先級的日誌都輸出到 target 中
關鍵字 |
值 |
解釋 |
emerg |
0 |
系統不可用 |
alert |
1 |
須要當即被修改的條件 |
crit |
2 |
(臨界)阻止某些工具或子系統功能實現的錯誤條件 |
err |
3 |
阻止工具或某些子系統部分功能實現的錯誤條件 |
warning |
4 |
預警信息 |
notice |
5 |
具備重要性的普通條件 |
info |
6 |
提供信息的消息 |
debug 7 不包含函數條件或問題的其餘信息
none (屏蔽全部來自指定設備的消息)沒有優先級,一般用於排錯
* 除了 none 以外的全部級別
facility 部分能夠是用逗號(,)分隔的多個設備,而多個 seletor 之間也能夠經過分號(;)組合在一塊兒。注意多個組合在一塊兒的選擇符,後面的會覆蓋前面的,這樣就容許從模式中排除一些優先級。默認將對指定級別以及更嚴重級別的消息進行操做,可是能夠經過 2 個操做符進行修改。等於操做符(=)表示僅對這個級別的消息進行操做,不等操做符(!)表示忽略這個級別以及更嚴重級別的消息。這兩個操做符能夠同時使用,不過"!"必須出如今"="的前面
好比 就表示 uucp 和 news 的 crit 消息 都記錄在/var/log/spooler 中
uucp,news.crit /var/log/spooler
好比(全部設備的 info 消息 除了 mail 和 authpric 和 cron 外 都記錄在/var/log/messages)
*.info;mail.none;authpriv.none;cron.none /var/log/messages
target:將日誌記錄於指定的目標地點有如下幾種選擇:
普通文件:使用文件的絕對路徑來指明日誌文件所在的位置,例如:/var/log/cron。終端設備:終端能夠是/dev/tty0~/dev/tty6,也能夠爲/dev/console。
用戶列表:例如動做爲「root hackbutter」,將消息寫入到用戶 root 與 hackbutter 的計算機屏幕上。遠程主機:將信息發往網絡中的其餘主機的 rsyslog 守護進程,格式爲「@hostname」。
在 target 前使用「-」表示異步寫入。好比
mail.* -/var/log/maillog
查看其中 一個 target 文件內容
[root@node1 ~]# more /var/log/messages
Nov 19 17:45:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="787" x- info="http://www.rsyslog.com"] rsyslogd was HUPed
Nov 19 17:50:31 node1 dhclient[1182]: DHCPREQUEST on eno16777736 to 192.168.58.254 port 67 (xid= 0x117d9a59)
Nov 19 17:50:31 node1 dhclient[1182]: DHCPACK from 192.168.58.254 (xid=0x117d9a59)
Nov 19 17:50:31 node1 NetworkManager[856]: <info> address 192.168.58.147
其中記錄日誌文件的內容爲(記錄: 時間,地點,人物,事件): 時間 主機名 進程名[進程 id]:日誌的內容
二.使用 rsyslog 作一臺日誌服務器
![]() |
實驗角色設定:
主機 |
IP 地址 |
角色 |
Test01 |
192.168.100.1/24 |
日誌服務器,接收局域網服務器產生的日誌 |
Test02 |
192.168.100.2/24 |
日誌產生主機,將產生的登錄認證日誌經過局域 網傳遞給日誌服務器記錄。 |
實驗過程:
日誌產生主機 Test02 上的配置:
2.1)設定 selinux 狀態和 iptables 防火牆
#測試網絡連通性
[root@Test02 ~]# ping -c 1 192.168.100.1
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=3.75 ms
--- 192.168.100.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 4ms rtt min/avg/max/mdev = 3.759/3.759/3.759/0.000 ms
#設定selinux 狀態爲Permissive [root@Test02 ~]# setenforce 0
#設定防火牆
[root@Test02 ~]# iptables -L -n Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT)
target prot opt source destination [root@Test02 ~]#
[root@Test02 ~]# vim /etc/rsyslog.conf
修改:
# The authpriv file has restricted access.