linux系統日誌

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

由用戶程序生成的信息

mail

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 作一臺日誌服務器




實驗拓撲:

blob.png

實驗角色設定:

主機

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

 

2.2)修改 rsyslog 的配置文件,將登錄認證日誌發向 Test01

[root@Test02 ~]# vim /etc/rsyslog.conf

修改:

# The authpriv file has restricted access.

相關文章
相關標籤/搜索