網站首頁 編程語言 正文
配置發送端:從server發送到syslog
打開以下文件
在第90行(附近也行)輸入以下代碼,authpriv代表所有級別的登錄日志,@@代表tcp,172.168.2.100代表目標ip,514代表目標端口號,保存退出
authpriv.* @@10.99.8.6:514
配置接收端:配置協議,端口號,接收條件,存儲位置
輸入以下代碼設置協議和端口號
取消注釋如下代碼:
接收條件配置
:fromhost- ip,iseuql,"10.99.8.6" /var/log/client_secure/10_3.log
:fromhost- ip,iseuql,"10.99.8.2" /var/log/client_secure/10_12.log
:fromhost-ip,iseuql,”172.16.2.100”是設置條件:ip是172.16.2.100,后面是設置位置
保存退出
重啟日志服務并查看端口514
systemctl restart rsyslog.service
進入/var/log下查看文件夾是否創建
在接收端輸入 tail -f /var/log/client_secure/10_3.log監控此文件的內容
觸發日志,在發送端切換用戶
接收端成功收到日志
配置完成
方式2:模板
創建日志接收模板
接下來的這步,需要我們來為遠程消息創建模板,并告知rsyslog守護進程如何記錄從其他客戶端機器所接受到的消息。
使用文本編輯器來打開 /etc/rsyslog.conf,然后在GLOBAL DIRECTIVE塊前追加以下的模板。
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" **.* ?RemoteLogs& ~
在此對該模板進行簡單解釋,$template RemoteLogs(這里“RemoteLogs” 字符串可以為任何其他的描述性的名稱)指令使rsyslog后臺進程將日志消息寫到/var/log下的單獨的本地日志文件中,其中日志文件的名稱是基于遠程日志發送機器的主機名以及生成該日志的應用程序名進行定義的。其中第二行暗示了我們將RemoteLogs模板應用到所有接收到的日志上。
符號”& ~”表示了一個重定向規則,被用來告知rsyslog守護進程停止對日志消息的進一步處理,并且不要在本地寫入。如果沒有使用該重定向規則,那么所有的遠程消息都會在寫入上述描述的日志文件之外同時被寫入到本地日志文件,這就意味著日志消息實際上被寫了兩次。使用該規則的另外一個結果就是syslog服務器本身的日志消息只會被以該機器主機名命名的專有文件中。
如果你想要的話,也可以使用下面的模式對特定的設備或嚴重性級別使用新的模板直接來記錄日志消息。
[facility-level].[severity-level] ?RemoteLogs
例如:
將全部優先級別的所有內部用戶驗證消息指定為RemoteLogs模板:
authpriv.* ?RemoteLogs
將所有系統進程中除開mail、用戶驗證和cron消息之外的進程產生的消息級別的日志指定為RemoteLogs模板:
*.info,mail.none,authpriv.none,cron.none ?RemoteLogs
如果我們想要將所有從遠程客戶端接受到的消息寫入到一個以它們的IP地址命名的單個文件中,可以使用以下的模板。在此我們為該模板賦予了“IpTemplate”名稱。
$template IpTemplate,"/var/log/%FROMHOST-IP%.log" *.* ?IpTemplate & ~
在我們啟用rsyslog守護進程并編輯好配置文件之后,需要重啟該守護進程。
在 Debian,Ubuntu 或 CentOS/RHEL 6中:
$ sudo service rsyslog restart
在 Fedora 或 CentOS/RHEL 7中:
$ sudo systemctl restart rsyslog
我們可以通過netstat命令來驗證rsyslog守護進程是否正常工作。
$ sudo netstat -tulpn | grep rsyslog
在UDP監聽端口下工作的rsyslog守護進程會有類似下面的輸出。
udp 0 0 0.0.0.0:514 0.0.0.0:* 551/rsyslogd udp6 0 0 :::514 :::* 551/rsyslogd
如果rsyslog守護進程被設置在TCP連接端口,那么應該有類似下面所示的輸出。
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1891/rsyslogd tcp6 0 0 :::514
結語
原文鏈接:https://blog.csdn.net/qq_44866828/article/details/125872622
相關推薦
- 2022-05-04 Python的五個標準數據類型你認識幾個_python
- 2022-05-06 excelize-golang中excel表格內容讀取
- 2022-05-19 關于python中不同函數讀取圖片格式的區別淺析_python
- 2022-09-13 flutter狀態管理Provider的使用學習_IOS
- 2022-10-27 golang?map的基本操作及定義方式_Golang
- 2022-05-05 深入講解下Rust模塊使用方式_相關技巧
- 2022-07-01 Python基于文件內容實現查找文件功能_python
- 2022-04-01 kubelet請求觸發流控,導致節點NotReady
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支