--- title: Lab Meeting Minutes 2024/04/17 tags: lab_meeting --- > Outline > [TOC] --- # PERAL Lab Meeting - 時間:113 年 4 月 17 日 17:00 - 地點:線上 - 線上會議連結 : [Online](https://meet.google.com/zfi-zmnc-qfw) - 出席者:吳坤熹老師、謝萬霖、劉怡君、田蕙瑜、沈家正、梁宇騰、劉冠伶、繆亭霄、蘇翊荃、陳嘉璐、陳品妤、陳姿綾、陳姿澖 - 會議主題:[Syslog Server Demo](https://docs.google.com/presentation/d/1UZIH6Lckiu_Tn6SiXJJ5w_93KJE34N-b5G5gvt4YJM4/edit?usp=sharing) - 主講者: 劉冠伶 - 主記: 劉怡君 ## 會議內容 ### Review - RFC 3164 - UDP port 514 所收到的流量皆視為 Syslog Message - 單向傳送,無回應 - RFC 5424 - TLS-based transport is recommended. - 統一 Syslog packet format - 單向傳送,無回應 - Compare - ![image](https://hackmd.io/_uploads/SkR4-M6l0.png) ### QA from last meeting - MSG 大於 1K 可能發生的問題 - 傳輸過程中可能發生訊息被切割,造成 Syslog Server 無法正確讀取訊息內容。且透過 UDP 傳輸無法要求重送訊息。 - Syslog Server overhead? - 取決於 Server 需要接收多少主機傳來的 MSG。 ### Syslog Server Software Selection ![image](https://hackmd.io/_uploads/Hk9q7zpl0.png) - 主要的差異在於 Syslog-ng - 相較於 Syslog & Rsyslog,Syslog-ng 將 config 語法簡化成容易視讀的格式。 ### Hands-on - Server Configuration - `sudo vim /etc/rsyslog.conf` - uncomment following lines: ``` module(load="imudp") input(type="imudp" port="514") module(load="imtcp") input(type="imtcp" port="514") ``` - add ``` $template remote-filename,"/var/log/%HOSTNAME%/syslog.log" *.* ?remote-filename ``` - `systemctl restart rsyslog` - Check by `sudo netstat -pnltu |grep 514` - Client Configuration - `sudo vim /etc/rsyslog.conf` - add ``` *.* @@<server_ip>:514 ``` - `systemctl restart rsyslog` --- ### 建議&問題 1. Client 無法同時將 MSG 傳至多台 Syslog Server?[name=Ryan] ``` Apr 17 09:42:01 ubuntu rsyslogd: cannot resolve hostname '10.22.23.52 ' [v8.2112.0 try https://www.rsyslog.com/e/2027 ] Apr 17 09:42:01 ubuntu rsyslogd: cannot resolve hostname '10.22.24.31 ' [v8.2112.0 try https://www.rsyslog.com/e/2027 ] ``` Ans: 需要再研究一下。 2. p.14[name=Yukino] port="514" 的設定什麼時候會去改?這樣做的人多嗎? Ans: Client 和 Server 有溝通好要用特定的 port 可以修改(>1024)。目前沒有看過有人修改這個數值 4. p.10為什麼ubuntu選擇內建Rsyslog? Why Rsyslog 是最不耗資源的?[name=Ellie] Ans: 因為它和最早的Syslog語法相同,相容性高 Ans: 因為它相較ng功能少 6. 在server端`/var/log/syslog.log` 有收到訊息,但template 指定的路徑沒有看到[name=Louise] Ans: `/var/log/syslog.log` 會收到所有 log,而在 template 設定的路徑,會自己創建,所以應該是 template 有設定錯誤。 5. P.10 RELP (Reliable Event Logging Protocol) 功能?[name=August] Ans: 猜測是可靠性更高,但還要再研究一下。 6. Client hostname 跟 Server hostname 相同,造成 log 全部紀錄在同一個目錄下。[name=Cooper] 7. 在用 `logger <msg>` 記訊息到自己 local 的 syslog 裡的時候是用 tcp 或 udp 在內部傳嗎 [name=Cooper] [name=Cooper] 後來查到資料說是用 [Unix domain socket](https://en.wikipedia.org/wiki/Unix_domain_socket) 傳的 參考: [由一个简单需求到Linux环境下的syslog、unix domain socket - xybaby - 博客园](https://www.cnblogs.com/xybaby/p/6596431.html) 證據: [logger.c source code 中若無指定 remote server 則使用 UNIX socket](https://github.com/util-linux/util-linux/blob/0dca768e5788b527fc8b0e0cdabcab7c499a9bd6/misc-utils/logger.c#L941) 9. [rsyslog 的 reliable 好像有在這篇文章說明](https://rainer.gerhards.net/2008/04/on-unreliability-of-plain-tcp-syslog.html)[name=Edgar] 10. [啟用 RELP 的範例](https://www.rsyslog.com/doc/configuration/modules/imrelp.html#id2)[name=Edgar] ## 待追蹤事項 1. 埔基計畫經費回收實驗室基金已完成[name=Louise] ## 臨時動議 1. 實驗室路跑時間投票:最終決定 4/27 (Sat.) --- 散會結束時間: 18:13