系統工程師必備監控小工具 deadman
今天要來分享一個長期以來藏在我心中的小工具,以前搞網路出國做軟體定義網路 (Software Defined Networking, SDN) 相關的 PoC,因為時間非常短,僅僅只有一週,所以出門前要測試、準備工具需要相當齊備,而且現場狀況神多,尤其是虛擬網路及實體網路之延伸綜合性問題,遇到問題時會不知道要相信哪個點,需要反覆一直確認。而我鍵盤上的 p
、i
、n
、g
加數字鍵已經被我打爛了,為了各位的鍵盤和手指著想,今天要來介紹一個由日本 Interop Tokyo 發展出來的一個超好用小工具 deadman
Shownet 是什麼?
I know it works because I saw it at Interop.
截至於官網 What is Shownet?,自 Interop Tokyo 於 1994 年成立以來,Shownet 一直都是每年度展示網路技術的一個重要活動,這個活動秉持著我要親眼
看到他真的能跟其他廠商的設備聯通才算數為契機,一路將當年度最前衛的網路技術整合建置測試直至現在,所以你可以在他們的 Slideshare 上找到歷年來的年度網路拓樸圖。這邊特別把 1994 年跟最近 2019 的拓墣圖拿出來比較一下,就會發現真的是歲月如梭 XD
幕後花絮 = 肝 + 血 + 淚 + 青春
這邊放一下他們年度的紀錄片 XD 各位有在弄現場的工程師一定很有既視感
2018 年的幕後花絮
2017 年的幕後花絮
動員規模
分享一下於 Shownet 2019 時的人力物資規模,已經來到約 2000
台的設備和一場會議動員 447
名人員的規模了
Deadman 介紹
deadman is a curses-based host status checking application using ping
deadman 當初是為了 Interop Tokyo ShowNet 活動而寫的,本身沒什麼使用到特殊功能,主要是用 ICMP 協議 + 持續執行為主,以下 3 點是他主要能力
- 觀測當前網路狀態
- 本機 -> 多點觀測
- 開箱即用監控
這個小工具最大的優勢就是讓你少打好幾次 ping 及後面的那一串 IP,這是個很簡單,但卻很重要的小事
環境資訊
- Red Hat Enterprise Linux 7.7
- Python 3.6 (supported by Red Hat)
- deadman 20.01.08
安裝 deadman
超簡單,系統預設有 Python3 即可
若你是 RHEL 的用戶的話,因為 RHEL 7/8 預設要使用 scl
來進行 python 環境切換,講簡單點就是官方支援類似於 virtualenv
的作法,所以你需要多下面 2 個步驟
Demo
推薦實踐方式
第一點,如果你有仔細看指令的話,其實那個 deadman.conf
可以換成別的名字,意思是說你可以依據不同環境寫出不一樣的 IP 監測表,搭配 git
可以進行版控
然後,第二點是務必搭配終端機多工管理神器 tmux
及裡面的預設功能進行分割視窗,可以迅速建立一個暫時使用的監測系統,迅速了解當前監控點的網路狀態
你如果是做網路相關或系統建置相關的,都相當好用啊~
後話
Shownet 是先前職涯中有點小小的遺憾,沒有機會可以現場參與或觀賞他們的熱情和相關技術,希望以後有機會還是可以摸摸看
然後大家請不要吝嗇給這個專案 star
以資鼓勵,真的是蠻好用的東西
Appendix
長期監控開源專案 Smokeping
如果你是一位 SRE,想要有長期監控紀錄及圖表顯示的話,Smokeping 是個不錯的老牌選擇,有 RRDtool 幫忙畫圖 / MRTG 可以用,如下圖
其他商業方案就得要自己尋找了