簡報說明
IT 團隊要如何從監測系統提供協助,改善內部服務的各種故障狀況問題,以及怎麼在發生問題時快速判斷問題原因,甚至是在事件發生前提早準備預防措施?
講者將分享如何由過去的各種披荊斬棘所開創出來的艱辛道路,血淚經驗分享。 (誇張 XD)
逐頁文字
從「會動就好」到「持續營運」
IT 團隊要如何從監測系統提供協助?技術總監
鄭郁霖
JASON CHENG事件案例
系統上線了
系統掛掉了
問題出在那?
經典案例 1
Windows Update 後⾃⼰重開機就爛掉
開不進去了
不知是什麼原因,也不知道何時發⽣,只
好拿備份檔案來還原它經典案例 2
郵件伺服器 (實體機) 每週⼀早上 05:30
必定死當,需要強制按硬體的重開機鍵才
會恢復
然後下週⼀同個時間⼜死當了經典案例 3
UPS 不斷電系統三不五時會⾃⼰⾯板閃⼀
下,切過去 bypass 模式⼜回來 online
模式
換過 UPS 機板、電池還是⼀樣經典案例 4
ERP 伺服器每天早上⼗點多與下午三點都
慢到爆,使⽤者抱怨連連
可是怎麼查 ERP 的服務跟程式都沒有問
題,不知道是什麼原因經典案例 5
總公司跟⼯廠每週⼀早上都要進⾏視訊會
議,可是常常都會斷斷續續品質很差
但每次⾮會議時間時測試都完全沒有問
題,換過兩端的會議主機、電腦都查不出
問題,仍然持續發⽣經典案例 6
有⼀台 Linux 上的 Apache Web Server
常常⾃⼰停掉,⽽且是連 Process 都不⾒
雖然⼿動重啟就恢復,但不知道問題在那
何時掛掉經典案例 7
公司內部系統都有上 SSL 憑證啟⽤
https 通訊協定,時間到了也有更換新的
憑上去
但還是發⽣有使⽤者開啟某些系統時瀏覽
器出現警告不敢⽤,IT 被罵死了經典案例 8
公司的網站、郵件、其它對外系統忽然從
外部全都上不了
瀏覽器出現網域無法解析 IP 位址 (NAME
NOT RESOLVED)經典案例 9
平常都有在固定執⾏的備份作業,結果最
近真的發⽣故障要還原時,才發現很久沒
有備份檔產⽣了經典案例 10
使⽤者抱怨寄郵件給客⼾被退信,以前都
沒這問題
不管寄到 Gmail、M365 或其它各⼤郵件
主機商都⼀樣經典案例 11
⼈資質問為何今天⼀堆⼈都說明明有上班
刷卡,為何系統都顯⽰為未刷卡?經典案例 12
公司宿舍房間節電器插員⼯卡才會供電,
可是現在插卡也不會送電了,沒辦法開燈
開冷氣會要命欸經典案例 13
檔案伺服器無法連上了,⼤家都無法⼯作經典案例 14
同仁來電抱怨,早上才剛登⼊電腦,結果
接著要登⼊ EIP 就顯⽰帳⼾被鎖定,要怎
麼⼯作?經典案例 15
同仁在公司加班到半夜⼗⼆點,除了該同
仁的位置外所有辦公室都是⿊的,結果全
公司的分機幾乎在同時間全部響鈴
⽽且螢幕上的來電號碼都寫⼀堆 0,然後
很快⼜不響了,好可怕!經典案例 16
丟在⼯廠的路由器早上連不回總公司了,
經查是跳掉導致重開機,結果設定變回預
設值了
因為好多年沒動它了,忘記本來的網路設
定跟 PPPoE 帳密怎麼辦?經典案例 17
公司的投影機早上主管會議要⽤,但有時
候會發現它上週沒關機
然後主管會議就被總經理罵到臭頭,你可
以幫我們想辦法嗎?經典案例 18
同仁說公司⾨⼝的⾃動⾨晚上⼗點半以
後,但是它會⾃⼰開⾨很多次,確認那時
段都沒有⼈進出,我是某天加班後才發現
的,請問怎麼辦經典案例 19
業務打電話來,上週請網站設計⼈員更新
公司網站後,客⼾說產品⾴查不到資料了
無法出貨影響業績怎麼辦經典案例 20
業務⼜打來,公司網站爛掉的事客⼾是先
寄信到公司網站上的服務信箱,結果信箱
滿了被退進才更⽣氣的打電話進來客訴!經典案例 21
管理部⾏政⼈員打分機來,說公司的亞太
節費器⾨號故障了打不出去,⼜說剛剛要
打給亞太報修也打不進去怎麼辦?
我:請問你⽤那⼀個⾨號打給亞太?
她:當然⽤亞太節費器打啊!
我:............經典案例 22
某標案中,開發應⽤程式的 Partner 說虛
擬機有幾台 Windows 常常效能很慢會卡
住,是不是主機本⾝效能有問題啊?經典案例 23
ERP AP Server 常常當機,每次都是請⼈
把他重啟就好,可是⼀直不知道原因?經典案例 24
AD 管理者帳號常常被猜到鎖定,但是都
不知道是從那裡來的經典案例 25
公司的租賃事務機,常常印到碳粉沒了請
廠商來補都來不及,⽂件都延遲了
可不可以讓我們提早知道不⾜可以先通知
廠商?經典案例 26
離職員⼯⼈⾛了,才發現被他⽤筆電去刪
了 NAS 上⼀⼤堆檔案,要怎麼查證據經典案例 27
公司負載平衡器有四條對外線路,我要怎
麼知道那⼀條是真的斷線了?或者:
使⽤者回報 A 系統故障不能使⽤,於是...A 系統 B 系統 C 系統 D 系統
OK OK OK FAIL
不知原因在那,只能就使⽤者回報悶頭查,
結果造就了⼀⼤堆無⽤的⼯作與時間浪費。經典案例
曾有 SI 找我去拜訪⼀個客⼾,看看可以
怎麼幫他解決系統狀況檢查的問題。
他說:伺服器 x 20 台
他說:每⼀台檢查狀況 x 5 分鐘
他說:每天早上上班後檢查
我說:你每天浪費 20x5=100 分鐘早期作法
剛開始還不知道怎麼做⼈⼯檢查
期 項⽬清單
案 排程檢查
紙本記錄
⽉週歸檔無法系統匯整與記錄問題當
時狀況,但可以給交代 (笑)⽂件出處 https://health.tainan.gov.tw/
指令檢查
期 ping
法 ping > file
搭配批次檔無法快速看出問
題變化與趨勢⼯具檢查
期 goping
法 持續檢查
圖表繪製記錄匯出檔案為專
屬軟體格式,只能
⽤原軟體開啟檢視圖片出處 http://www.badhim.com/ping_tool
⼯具檢查
期 pinginfoview
法 持續檢查
多裝置檢查
歷程檢視記錄匯出檔案為
專屬軟體格式圖片出處 http://www.badhim.com/ping_tool
初期作法問題
期 只有 ping 檢查⽅式
法 檢測多台主機很不⽅便
軟體執⾏,若被中⽌就失效
無法⽅便留下記錄中期作法
感到缺乏很多東西⼯具檢查
期 HostMonitor
作 (Advanced)持續檢查
多裝置檢查
多協定檢查
產製 HTML 看板
歷程檢視
價格實惠
圖片出處 https://www.ks-soft.net/hostmon.eng/screens.htm中期作法問題
期 看板格式不易調整,不適合做為監視⽤途
法 需要⼈⼯定期監看才能發現⽬前已經問題
歷史資料不易搜尋、檢視與閱讀
以監測項⽬為主⽽⾮是主機,不容易將問題
聚合收斂來看這樣就夠了嗎
當然不夠,但是更好的⽅案很貴錢能解決的問題都不是問題
😭 問題是沒有錢 😭
後期作法
必須更換更進階的⼯具後期需要啥?
期 要知道主機效能狀況 (CPU/RAM)
[例]
公司 EIP 服務連上去網⾴載⼊很久,管理者
要 RDP 連進去做處理畫⾯卡死不動,不知道
是卡在什麼地⽅?是處理器忙到 100% 還是
記憶體佔⽤過⾼導致效能低落?後期需要啥?
期 要知道網路流量狀況 (Network)
[例]
從檔案伺服器要開啟公司的軟體開發⽂件規
範,平常開點⼀下就完成了,現在使⽤者說
等了 2 分鐘還開不起來,是太多⼈使⽤所以
塞⾞嗎?後期需要啥?
期 要知道磁碟可⽤容量多少 (DISK Free Space)
[例]
公司的 ERP 系統使⽤率⾮常⾼,每天有很多
新表單產⽣,資料成⻑很快,會不會有⼀天
把磁碟塞爆了?後期需要啥?
期 要知道磁碟效能如何 (Disk I/O、IO Wait)
[例]
公司的版本控制伺服器 GitLab 在開發⼈員
⼤量提交程式碼的時候超慢,但是 CPU、
RAM 跟網路看起來都很涼,這是發⽣什麼事
了?後期需要啥?
期 要知道服務是否有在提供服務中 (Service)
[例]
公司的官網伺服器看起來燈號正常,ping 它
也有回應確認沒有問題,但是官網的網⾴就
是開不起來,要怎麼知道它是不是掛了?後期需要啥?
期 要可以調閱指定時間區間的數據
[例]
端午連假後上班,發現公司的郵件伺服器掛
了,我想知道是什麼時候故障的,故障之前
發⽣了什麼事,有沒有什麼癥狀或線索可以
追溯研究的?幾種選擇
期 WhatsUp Gold (商業軟體)
法 Nagios + Cacti (開源軟體,前者有商業版本)
Icinga2 (開源軟體,分⽀⾃ Nagios)
Observium (開源軟體,有付費進階版本)
LibreNMS (開源軟體,分⽀⾃ Observium)除了 WhatsUp,其它我都有實際上線過
裝置資料採集
ICMPLibreNMS
SNMP
BMC (IPMI)
Agent (Check_Mk)
App. (SNMP Extend)
Service (Nagios Plugin)
Log (Syslog)
Config (Oxidized)管理者
伺服器
LibreNMS
資料庫輪詢器
端點
資料來源 https://docs.librenms.org/Extensions/Distributed-Poller/#using-memcached
裝置監測
LibreNMS
連線狀態
系統資訊
效能狀況
流量數據
儲存容量儲存設備
LibreNMS
使⽤容量
溫度資訊
磁碟狀態
陣列狀態
硬體狀態
韌體升級事務機器
LibreNMS
列印掃描
碳粉存量
顏⾊標⽰
耗材壽命
更換記錄感測數據
LibreNMS
健康狀況
硬體感測
趨勢圖表
警告⾨檻
溫度⾵扇
電壓負載應⽤監測
LibreNMS
應⽤程式
效能監測
狀況監測
郵件主機
資料庫主機
⽀援 50+資訊看版
LibreNMS
⾃訂區塊
資訊整合
多種圖表
外部連結
權限分離資訊圖表
LibreNMS
⾊彩識別
連結裝置
⾃動更新
連線地理圖資訊圖表
LibreNMS
⾊彩識別
連結裝置
⾃動更新
連線地理圖
連線流量圖
(內容可⾃訂客製)資訊圖表
LibreNMS
⾊彩識別
連結裝置
⾃動更新
連線地理圖
連線流量圖
(內容可⾃訂客製)資訊圖表
LibreNMS
⾊彩識別
連結裝置
⾃動更新
連線地理圖
連線流量圖
(內容可⾃訂客製)可⽤性地圖
可⽤性/SLA
LibreNMS
⼀天
⼀週
⼀個⽉
⼀年可⽤性/SLA
LibreNMS
中斷時間
事件清單
區段搜尋組態備份
LibreNMS
⾃動備份
版本管理
差異⽐較
豐富⽀援
擴充開發服務監測:
郵件閘道LibreNMS
網⾴服務
收寄服務
系統服務
DNS 記錄
(MX, SPF, DKIM, DMRAC)延遲佇列
RBL 檢測服務監測:
郵件伺服器LibreNMS
網⾴服務
郵件服務
(SMTP/IMAP/POP3)系統服務
對外信箱
(狀態檢查、容量檢查)檔案稽核
(CRONTAB、PASSWD)服務監測:
網域控制站LibreNMS
網⾴介⾯
⽬錄服務
(AD/LDAP)認證服務
域名服務
檔案服務
校時服務服務監測:
檔案伺服器LibreNMS
憑證效期
登⼊⾴⾯
軟體版本
外掛更新
儲存狀況
共⽤狀況
使⽤者狀況服務監測:
虛擬化平台LibreNMS
管理介⾯
叢集連線
節點服務運作
節點磁碟健康
節點儲存容量
節點 IO 延遲
ZFS pool 狀況
Ceph pool 狀況服務監測:
記錄伺服器LibreNMS
網⾴服務
ES/OS 狀態
ES/OS 磁碟
ES/OS 記憶體
JVM 執⾏緒
索引狀態
索引失敗服務監測:
視訊會議伺服器LibreNMS
SSL Certificate
Web Portal
Nginx
Prosody
Videobridge2
Jicofo服務監測:
防火牆/路由器LibreNMS
管理介⾯
DHCP 服務探索
DHCP 派發檢查
ntopng 服務
netdata 服務
maltrail 服務
⾃⾏開發服務服務監測:
負載平衡器LibreNMS
實際線路連通測試如果沒有可⽤的檢測服務⼯具怎麼辦?
到 Nagios Exchange 找尋合⽤的LibreNMS
如果沒有可⽤的檢測服務⼯具怎麼辦?
依 Nagios Plugin 指引⾃⾏開發LibreNMS
bash
python
perl
go
powershell
php
ruby如果沒有可⽤的檢測服務⼯具怎麼辦?
依 Nagios Plugin 指引⾃⾏開發LibreNMS
標準輸出值 效能資料0=OK 'label'=value[UOM];[warn];[crit];[min];[max]
1=Warning
2=Critical Label=效能資料名稱,例如CPU使⽤率
3=Unknown UOM=量測單位,如 s=秒、%=百分⽐、B=Byte資料出處 https://nagios-plugins.org/doc/guidelines.html#PLUGOUTPUT
還原事件現場實錄
LibreNMS
客⼾說系統掛了
連 LibreNMS 也
這樣怎麼查問題
沒有發出告警
於是我看了⼀下事件出處 http://blog.jason.tools/2020/09/librenms-event-analysis.html
還原事件現場實錄
LibreNMS
連⾄備⽤ LibreNMS
記錄過 VM 網卡掛掉
表⽰沒⼈關⼼過警報
開始查看該網卡連接事件出處 http://blog.jason.tools/2020/09/librenms-event-analysis.html
還原事件現場實錄
LibreNMS
VM 連接到的儲存降級
因網卡掛掉故連接異常
這個儲存區從未⾒過
VM 寫⼊⾏為全部失敗事件出處 http://blog.jason.tools/2020/09/librenms-event-analysis.html
還原事件現場實錄
LibreNMS
經詢問其它廠商⼈員
因某些因素原暫時把儲存改移來這
作業完成後忘記切回去
網路沒⾛專⽤品質不佳斷線
引起⼀連串連鎖反應
沒有注意警報發送事件出處 http://blog.jason.tools/2020/09/librenms-event-analysis.html
這樣就夠了嗎 2.0
只看得到五分鐘最短⼀分鐘的資料,缺少細節五分鐘⼀次不⾏嗎?
看不⾒的尖峰效能問題[例]
使⽤者說傳檔忽然變很慢,過⼀下才好,可
是查看 LibreNMS 或其它⼯具,數據很平滑
沒有忽然⼤降啊?5 分鐘
間距
差異 1 分鐘1 秒鐘
選擇⼀:本機監測
netdata (開源軟體,另有商業版本)選擇⼆:指標伺服器
Prometheus (開源軟體)
InfluxDB (開源軟體,另有商業版本)選擇⼆:搭配圖表平台
Grafana (開源軟體,另有商業版本)netdata
級 秒級數據
測 即時監看
豐富類型必須連⾄該主
機才能檢視,
所以偶爾才⽤netdata
級 磁碟效能
測 IO 讀寫
netdata
級 網路效能
測 瞬間傳輸
netdata
級 程式效能
測 個別查看
Grafana
級 秒級數據
測 即時監看
彈性調整
多種來源需要⼤量⼿⼯刻
寫設定以及資訊
看板的配置調整Grafana
級 虛擬機平台
測 讀寫效能
Grafana
級 Windows
測 上線狀況
回應時間Grafana
級 Windows
測 執⾏程序
CPU 使⽤Grafana
級 郵件伺服器
測 效能狀況
服務狀態
遞送統計
帳⼾統計Grafana
級 硬體監測
測 服務監測
流量監測
容量監測這樣就夠了嗎 3.0
除了效能指標之外,Log 記錄資料呢選擇⼀:Eventlog 檢視軟體
事件檢視器 (Windows 內建)
NirSoft FullEventLogView (免費軟體)
LogonTracer (開源軟體)前者太慢,中間陽春,最後⼀
個僅能⽤於分析帳⼾資安事件選擇⼆:Log 檔案檢視軟體
記事本 (Windows 內建)
Notepad++ (開源軟體)
VSCode (開源軟體)
Klogg (開源軟體)當遇到超⼤容量 Log 檔時,唯⼀選擇 Klogg
Klogg
視 跨平台
體 執⾏快速
可讀⼤檔
篩選功能
⼆次搜尋選擇三:中央收集 Log 伺服器
Splunk (商業軟體)
Arcsight (商業軟體)
ELK/EFK (開源軟體,有商業軟體版本)
Graylog (開源軟體,有商業軟體版本)以開源社群軟體版本來看,最後⼀項最合我意
⽀援記錄收集
GELF
Graylog Syslog
NetFlow
Raw
Eventlog (NXLog)
Log File (NXLog)
DB Data (NXLog)端點
Graylog
(input, stream, extractor, pipeline, rule, alert…)存放記錄以外的所有設定
伺服器
存放記錄與索引管理者
資料來源 https://docs.graylog.org/docs帳⼾事件
AD/Windows
Graylog 登⼊失敗
來源帳⼾
來源 IP
來源認證主機帳⼾事件
帳⼾鎖定
Graylog 帳⼾解鎖
來源主機
⽬標帳⼾
特權帳⼾LDAP 網域
Graylog
OpenLDAP
Samba
使⽤命令
連線來源
繫結帳⼾
篩選對象
搜尋基礎本案採⽤ UCS (Univention Corporate Server)
執⾏記錄
Windows
Graylog 處理程序
⽗處理程序
發⽣時間
使⽤者
訊息內容郵件安全
Graylog
認證結果
存取來源
通訊協定
鎖定帳⼾
存取記錄
系統命令郵件服務
Graylog
隔離郵件
垃圾郵件
惡意郵件
拒絕來源
寄信排⾏
退信排⾏網⾴服務
Graylog
客⼾端
Http 狀態
來源位址
要求路徑
時間趨勢OpenVPN
VPN 服務Graylog
來源位址
地理城市
軟體版本
平台分佈
認證結果
事件趨勢Fortigate
VPN 服務Graylog
時間分佈
帳⼾分群
起迄時間
登⼊清單Windows
DNS 服務Graylog
排⾏榜
來源 IP
類型
名稱
FlagWindows
DNS 服務Graylog
排⾏榜
來源主機
來源 IP
查詢名稱
查詢類別Nextcloud
網路硬碟Graylog
稽核記錄
使⽤模組
操作⾏為
帳⼾登⼊
來源位址
檔案異動
檔案共⽤Windows
網路硬碟Graylog
稽核記錄
時間分佈
刪除檔案
使⽤者
來源
統計數量Synology
網路硬碟Graylog
稽核記錄
應⽤程式
登⼊記錄
來源 IP
資料夾
檔案存取Synology
網路硬碟Graylog
檔案動作
時間分佈
刪檔排⾏
⾏為監測
檔名路徑
來源 IPOPNsense
防火牆Graylog
事件趨勢
通訊協定
封包動作
應⽤程式
DHCP 派送
DHCP 裝置OPNsense
防火牆Graylog
封包分析
來源國家
⾏為分類
阻擋封包
阻擋來源
統計分析Proxmox VE
虛擬平台Graylog
備份失敗
複寫失敗
磁碟錯誤
Disk I/O Error
Ceph OSD Error節點事件
故障隔離 FenceProxmox VE
虛擬平台Graylog
中⽌程序
OOM-Killer作業記錄
客體事件
⾼可⽤ HA 觸發主控台連線
登⼊帳⼾與⽬標
使⽤起迄時間發送告警通知
有了 LibreNMS 與 Graylog,就可以建⽴告警機制告警訊息
通訊軟體
即時發送
了解狀況告警訊息
電⼦郵件
即時發送
了解狀況這樣就夠了嗎 4.0
有了檢測與告警還是要⼈⼯處理問題,可以⾃動嗎?變通⽅案
LibreNMS
Alert Transport
呼叫外部 API
⾃⾏撰寫 API
執⾏預期⾏為
例如重啟服務變通⽅案
Graylog
Notifications
呼叫外部 API
⾃⾏撰寫 API
執⾏預期⾏為
例如將惡意 IP 經
由防⽕牆 API 寫⼊
拒絕清單查證 ▶ 告警 ▶ 預防
建⽴平台,從無到有,繼續改善結論
應有成效 事前準備
⾃動監測 盤點裝置
定位問題 掌握服務
還原現場 了解運作
提前預警 制訂告警
節省時間 處理流程記住
秒級效能監控是要犧牲⼤量效能與容量換的
挑選必要的項⽬做記錄即時分析是要犧牲⼤量效能與容量換的
不得不做,尤其是法規遵循參考資料
節省⼯具箱公司 節省⼯具箱網誌
www.jason.tools blog.jason.tools謝謝您。
節省⼯具箱有限公司
企業應⽤開源軟體⽅案導⼊專家