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

從「會動就好」到「持續營運」[2023/06/24] @Agile.Taichung