用戶暫時沒有專業的日誌服務器,因故障處理需要臨時搭建一個環境接收交換機日誌。服務器環境:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
1、CentOS7默認的默認的係統日誌服務為 rsyslog(替代舊的 syslogd),檢查是否已安裝rsyslog:
[root@localhost ~]# rpm -q rsyslog
rsyslog-8.24.0-38.el7.x86_64
如果沒有安裝,可以執行:
yum install rsyslog -y
systemctl start rsyslog # 啟動服務
systemctl enable rsyslog # 開機自啟
systemctl status rsyslog # 驗證狀態
2、修改rsyslog配置文件,編輯/etc/rsyslog.conf 啟用UDP監聽,並在末尾添加規則,按交換機IP分日誌文件:
# 取消注釋以下行以啟用 UDP 514
$ModLoad imudp
$UDPServerRun 514
末尾添加以下三行(目錄可按需調整):
$template RemoteLogs,"/root/log/remote/%FROMHOST-IP%/syslog.log"
*.* ?RemoteLogs
& ~
#解釋:
$template RemoteLogs,"...": 定義一個模板 RemoteLogs,指定日誌存儲路徑和命名規則。
%FROMHOST-IP%: 變量表示發送日誌的客戶端 IP 地址,會根據此變量動態創建子目錄。
例如,交換機 IP 為 192.168.x.x,日誌會存儲在 /root/log/remote/192.168.x.x/syslog.log。
*.* ?RemoteLogs: 所有日誌(*.*)都通過模板 RemoteLogs 存儲。
& ~: 表示匹配該規則的日誌不再傳遞給後續其他配置(避免重複記錄)。
3、創建日誌目錄並重啟服務(目錄和2中rsyslog.conf末尾添加的保持一致):
[root@localhost ~]# mkdir -p /root/log/remote
[root@localhost ~]# systemctl restart rsyslog
4、防火牆放行syslog端口:
[root@localhost ~]# firewall-cmd --permanent --add-port=514/udp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 3389/tcp 514/udp 3306/tcp 63443/tcp 1-65535/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@localhost ~]#
5、檢查端口監聽:
[root@localhost ~]# netstat -anup | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:* 5356/rsyslogd
udp6 0 0 :::514 :::* 5356/rsyslogd
6、交換機配置示例,ip地址替換為服務器接收日誌的網卡地址:
#
info-center loghost 10.88.xx.xx
#
7、在交換機執行任意查看命令觸發日誌,隨後在服務器查看日誌接收情況:
[root@localhost ~]#
#進入存放日誌的目錄,可以看到已經生成了交換機ip地址10.88.xx.xx的文件夾,再進入就可以看到日誌文件syslog.log
[root@localhost ~]# cd /root/log/remote/
[root@localhost remote]# ll
總用量 0
drwx------. 2 root root 24 3月 8 17:04 10.88.xx.xx
[root@localhost remote]# cd 10.88.xx.xx/
[root@localhost 10.88.xx.xx]# ll
總用量 256
-rw-------. 1 root root 259620 3月 8 20:16 syslog.log
[root@localhost 10.88.xx.xx]#
[root@localhost 10.88.xx.xx]# tail -f syslog.log
Mar 8 20:13:15 2025 HZB7-R5-xxxxxX %%10SHELL/5/SHELL_LOGIN: xxxx logged in from 10.10.xx.xx.
至此,已經可以在服務器上查看到交換機上送的syslog信息。
1、需要配置服務器防火牆放行udp 514端口,配置完後需要執行firewall-cmd --reload 否則不生效;
2、創建存放日誌的目錄要與rsyslog.conf末尾添加的目錄保持一致;
該案例暫時沒有網友評論
✖
案例意見反饋
親~登錄後才可以操作哦!
確定你的郵箱還未認證,請認證郵箱或綁定手機後進行當前操作