網絡監控常用開源軟件例如zabbix、Prometheus等。由于以上軟件安裝復雜、配置麻煩,對于新人小白、簡單網絡監測并不友好。如果項目上只需要對內部地址進行ping質量監測,推薦一個優秀的軟件:smartping 安裝包只有8M。
zabbix
介紹
SmartPing是一個綜合性網絡質量(PING)檢測工具,支持正/反向PING繪圖、互PING拓撲繪圖與報警、全國PING延遲地圖與在線檢測工具等功能。
功能
- 正向PING,反向Ping繪圖
- 互PING間機器的狀態拓撲,自定義延遲、丟包閾值報警(聲音報警與郵件報警),報警時MTR檢測
- 全國PING延遲地圖(各省份可分電信、聯通、移動三條線路)
- 檢測工具,支持使用SmartPing各節點進行網絡相關檢測
設計思路
本系統的定位為輕量級工具,即使組多點成互Ping網絡可以遵守無中心化原則,所有的數據均存儲自身節點中,每個節點提供出方向的數據,從任意節點查詢數據均會通過Ajax請求關聯節點的API接口獲取并組裝全部數據。
- 數據去中心化
- 存儲數據結構
- 集中配置管理(云模式)
功能截圖
正/反向Ping
Ping拓撲及報警
延遲地圖
檢測工具
系統配置
下載安裝
二進制安裝
選擇相應OS的二進制包(最新版本v0.8.0)
- Linux: Github 百度云(提取碼:gbcg)
- Windows:Github 百度云(提取碼:gbcg)
- All Release:Github 百度云(提取碼:gbcg)
解壓并運行程序
- 解壓壓縮包。
- 使用命令(Windows使用CMD) cd 進入到剛剛創建的目錄。
- 執行命令
- Linux: ./control start
- Windows: 雙擊 control.cmd
- SmartPing默認WEB服務端口為8899,管理界面默認密碼為:smartping,若需要修改請修改conf/config.json或conf/config-base.json
源碼安裝
基本依賴
- Go 語言:版本 >= 1.6
安裝GO語言
如果您的系統已經安裝要求版本的 Go 語言,可以跳過。
安裝參考:https://studygolang.com/dl
源碼編譯
克隆或直接下載ZIP的源碼包
- git clone https://github.com/gy-games/smartping.git
- cd smartping
- Linux: ./control build
- Windows: control.cmd build
運行程序
- Linux: ./control start
- Windows: control.cmd start
SmartPing默認WEB服務端口為8899,管理界面默認密碼為:smartping,若需要修改請修改conf/config.json或conf/config-base.json
配置說明
SmartPing從0.3.0版本開始,配置可以使用WEB界面修改。
配置修改節點
配置修改節點分為4個大部分
- 1.保存配置,對于2,3,4上的操作修改完后均為暫存,需要在此輸入密碼后保存才可生效,可以在此切換至云模式
- 2.基礎配置,分為基礎、Ping拓撲、郵件報警、檢測工具、授權管理幾個大功能
- 基礎
- 接口超時(秒):本節點訪問其他節點的Ajax超時時間
- 頁面刷新(分鐘):頁面的定時刷新時間(暫時只用在了Ping拓撲上,設計是除配置外所有頁面,有需要可以在源碼上修改一下)
- 數據存數(天):正向Ping、拓撲報警、全國延遲的存檔天數
- Ping拓撲
- 報警聲音:觸發報警規則時的報警聲音
- 連線粗細:Ping拓撲的連線粗細
- 形狀大?。篜ing拓撲的形狀大小
- 報警郵件
- 郵件服務器:發送郵件的服務器
- 發件郵箱:發送郵件的郵箱地址
- 發件郵箱密碼:發送郵件的郵箱密碼
- 收件郵箱列表:收信郵箱,多個以;隔開
- 檢測工具
- 限定頻率(秒):工具的CD時間(以源IP唯一計算)
- 5.授權管理
- 用戶IP列表:設置后僅允許設置的IP訪問,多個以逗號隔開
- Ping節點測試網絡
- 添加節點,添加后默認開啟正向Ping與Ping拓撲
- 正向Ping配置,可以自定義選擇開啟哪些正向Ping
- Ping拓撲,可以自定義選擇開啟哪些Ping拓撲以及設置報警規則
- 全國延遲測試網絡
- 添加各省份電信、聯通、移動的目標測試IP
備注
- 首次運行SmartPing時,SmartPing默認優先讀取conf/config.json文件,若無此文件,則讀取conf/config-base.json文件
- 若需要修改密碼,需要手工修改conf/config.json或conf/config-base.json文件中的password字段,并重啟SmartPing
腳本參數
smartping采用腳本調用方式運行,Linux使用 ./control , Windows使用 control.cmd
Linux
./control
build|run|start|stop|restart|status
build : 源碼編譯,最終構建成至 bin
run : 直接啟動smartping
start : 以nohup(deamon)形式啟動smartping
stop : 關閉smartping
restart : 執行 stop & start
status : 查看smartping的運行狀態
version : 查看當前smartping版本
pack : 執行Build并進行二進制包制作
Windows
control.cmd
build|run|install|start|stop|restart|version
build : 源碼編譯,最終構建成至 bin
run : 直接啟動smartping
install : 使用nssm將smartping安裝為服務
start : 啟動smartping服務
stop : 關閉smartping服務
restart : 執行 stop & start
version : 顯示當前smartping版本
API文檔
SmartPing所有的數據均可以通過各點的程序通過HTTP方式獲取(SmartPing Dashbord數據的展示同樣調用以上接口獲?。?,SmartPing的API接口均以打開Access-Control-Allow-Origin:*支持跨域。
名稱
METHOD
URI
介紹
當前節點配置信息?
GET
/api/config.json
獲取當前節點的配置信息
?PING目標機器數據?
GET
/api/ping.json
獲取當前節點對外的PING數據
?PING目標機器狀態?
GET
/api/topology.json
獲取當前節點PING外部的狀態數據(用于拓撲)
?PING目標機器報警數據?
GET
/api/alert.json
獲取當前的報警數據
?PING全國延遲?
GET
/api/mapping.json
獲取當前機器全國延遲數據
?PING工具?
GET
/api/tools.json
測試目標機器獲取數據
備注
一、修改配置
- 修改密碼:
進入安裝目錄下的conf目錄,以文本方式打開config.json文件,修改最下方“Password”屬性,保存重啟服務即可修改密碼;
- 修改端口
進入安裝目錄下的conf目錄,以文本方式打開config.json文件,修改最上方“Port”屬性,保存重啟服務即可;
二、配置備份
如果需要在其他電腦運行Smart Ping,且配置同步,只需要將當前conf文件夾下config.json文件復制一份,替換新安裝包內同名文件即可
此開發團隊官網: http://smartping.org/