2026年5月6日 星期三

Ubuntu 24.04 + SmokePing 校園戰情室

剛好在社群軟體上看到了黑暗執行續的這篇文章-24 小時網路品質監控 - SmokePing
https://blog.darkthread.net/blog/smokeping/
又遇到校內同事遇到網路無法連線,但又不知道問題在哪邊,就興起了安裝 SmokePing測試看看的念頭。

 

🚀 一、安裝 SmokePing

更新系統

sudo apt update && sudo apt upgrade -y

安裝 SmokePing

sudo apt install smokeping apache2 fping -y

啟用 Apache CGI

sudo a2enmod cgid
sudo systemctl restart apache2

🚀 二、建立 SmokePing Targets

編輯 Targets

sudo nano /etc/smokeping/config.d/Targets

可公開分享版 Targets

*** Targets ***

probe = FPing

menu = Top
title = 校園教學戰情室
remark = 老師也看得懂的網路狀態系統

# =========================
# DNS
# =========================
+ DNS
menu = DNS
title = DNS服務

++ Google_DNS
menu = Google DNS
title = Google DNS
host = 8.8.8.8

++ Cloudflare_DNS
menu = Cloudflare DNS
title = Cloudflare DNS
host = 1.1.1.1

# =========================
# 校內核心
# =========================
+ LAN
menu = 校內網路
title = 校內設備

++ Gateway
menu = 校內閘道
title = 校內閘道
host = 192.168.1.1

++ NAS01
menu = NAS01
title = NAS01
host = 192.168.1.10

++ School_Cloud
menu = 校內雲端
title = 校內雲端
host = 192.168.1.20

# =========================
# 對外網路
# =========================
+ Internet_Check
menu = 對外連線
title = 對外網路

++ ISP_01
menu = ISP節點1
title = ISP節點1
host = 168.95.1.1

++ ISP_02
menu = ISP節點2
title = ISP節點2
host = 168.95.192.1

++ Google_Endpoint
menu = Google Endpoint
title = Google Endpoint
host = 142.250.204.35

# =========================
# 教學平台
# =========================
+ Teaching
menu = 教學服務
title = 教學平台

++ Google
menu = Google
title = Google 搜尋
host = www.google.com

++ YouTube
menu = YouTube
title = YouTube
host = www.youtube.com

++ Wordwall
menu = Wordwall
title = Wordwall
host = wordwall.net

++ LINE
menu = LINE
title = LINE
host = line.me

# =========================
# 行政平台
# =========================
+ Admin_Service
menu = 行政服務
title = 行政系統服務

++ ODIS
menu = 公文系統
title = 公文系統 ODIS
host = odis.tycg.gov.tw

++ CloudHR
menu = 差勤系統
title = 差勤系統 CloudHR
host = tycg.cloudhr.tw

🚀 三、重新啟動 SmokePing

sudo systemctl restart smokeping

🚀 四、建立 Warroom 網頁資料夾

sudo mkdir -p /var/www/html/warroom

🚀 五、建立 Python 戰情室

建立設定資料夾

sudo mkdir -p /opt/warroom

🚀 六、建立 targets.conf

sudo nano /opt/warroom/targets.conf

可公開分享版 targets.conf

[DNS]
Google DNS|8.8.8.8|ping
Cloudflare DNS|1.1.1.1|ping

[LAN]
校內閘道|192.168.1.1|ping
NAS01|192.168.1.10|ping
校內雲端|192.168.1.20|ping

[Internet_Check]
ISP節點1|168.95.1.1|ping
ISP節點2|168.95.192.1|ping
Google Endpoint|142.250.204.35|ping

[Teaching]
Google 搜尋|https://www.google.com|http
YouTube 影片|https://www.youtube.com|http
Wordwall|https://wordwall.net|http
LINE 連線|https://line.me|http

[Admin]
公文系統 ODIS|https://odis.tycg.gov.tw/|http
差勤系統 CloudHR|tycg.cloudhr.tw|ping

🚀 七、建立 update_warroom.py

sudo nano /opt/warroom/update_warroom.py

貼入完整 Python 程式(上一篇完整版)。


🚀 八、執行輸出

sudo chmod +x /opt/warroom/update_warroom.py
sudo /opt/warroom/update_warroom.py

🚀 九、自動更新

crontab -e

加入:

*/5 * * * * /usr/bin/python3 /opt/warroom/update_warroom.py

🚀 十、HTTPS 憑證

安裝 Certbot

sudo apt install certbot python3-certbot-apache -y

申請 HTTPS

sudo certbot --apache

🚀 十一、XOOPS 嵌入版

SVG 顯示版(推薦)

<img
src="https://你的主機/warroom/status.svg"
style="width:100%;display:block;border-radius:8px;"
alt="校園網路狀態">

<div style="font-size:12px;color:#d9534f;margin-top:4px;">
⚠ 若畫面空白,請先點
<a href="https://你的主機/warroom/status.svg" target="_blank">
【允許安全憑證】
</a>
</div>

🚀 十二、系統輸出

系統會自動輸出:

/var/www/html/warroom/index.html
/var/www/html/warroom/widget.html
/var/www/html/warroom/status.svg
/var/www/html/warroom/status.txt

🎯 AI 判讀邏輯

DNS 區異常

名稱解析異常

校內區異常

校內網路問題

ISP 區異常

教育網/ISP 異常

教學平台異常

外部教學平台問題

行政平台異常

行政系統平台異常