此文章將會大概帶過,並使用最簡易的方式,教你架設smokeping
首先,我們會需要先有一台linux系統的機器(ubuntu, dabian),來作為我們最基本的系統
在開始前,我們會需要打下列指令,來做最基本的設定
首先先更新apt一下
apt update
更改時間為台北標準時間:
timedatectl set-timezone Asia/Taipei
接著因為我們這次是透過Docker來把smokeping給容器化,所以我們要安裝Docker
curl -fsSL https://get.docker.com | bash -s docker
安裝完Docker後,我們就可以來下載我們這次所需要的smokeping
輸入下列指令,來安裝smokeping的Docker
這次採用的是linuxserver的smokeping容器
docker pull linuxserver/smokeping
docker run -d \
--name=smokeping \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Taipei \
-p 80:80 \
-v /home/config/smokeping:/config \
-v /home/data/smokeping:/data \
--restart unless-stopped \
linuxserver/smokeping
輸入完指令後,這時候可以進入smokeping的目錄,來調整設定
cd /home/config/smokeping
裡面分別有這些檔案

General文字檔中,以下紅色區域為需要自行修改的部分

Probes文字檔中,可以修改你想要在指定時間內,執行多少次ping別人的動作

Slaves文字檔中,未來如果有多節點的需求(等等會稍微提到),這邊就需要添加該Probe的資訊

Targets文字檔中,為最主要的設定監測內容的地方,想監測什麼在這邊就可以直接做添加的動作

smokeping_secrets文字檔中,如果有多節點的需求,這邊才會使用到,需填入兩個smokeping之間的密碼(兩邊密碼需相同)

目前介紹到這邊,可以依照自己的需求來做更改
修改完記得打以下指令,才會套用最新設定
docker restart smokeping
想查看smokeping的話,可以參考General中的cgiurl的網址
輸入下列指令進入你的smokeping
https://你的連線IP/
好,本體差不多就到這邊結束
多節點架設
想要架設多節點之前,你需要與該台主機有連線
可以使用Wireguard、Zerotier等工具,來讓主體與slave有內網連線
這邊可以依照自己需求來使用工具,可以互相ping到對方的IP就可以了
一樣,需要一台vm來架設,一樣使用Docker來進行Smokeping Slave的安裝
輸入下列指令安裝Docker
curl -fsSL https://get.docker.com | bash -s docker
輸入下列指令安裝
docker run -d \
--restart unless-stopped \
--name=smokeping-slave \
-d --network host \
-h {這邊為此smokeping slave與主體連線的名字} \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Taipei \
-e NO_WEB=1 \
-e SLAVE_SECRET={這邊要與主體smokeping_secrets檔案中的密碼一致} \
-e MASTER_URL=http://xn--{ip}-0h5f4071b/smokeping/smokeping.cgi \ divyavanmahajan/smokeping-slave
這邊與主體的安裝有稍微不一樣
我這邊將network設定了host模式,因為要拿slave去ping IPv6相關的IP
如果只需要用v4,可以把 -d –network host關掉沒關係
然後slave不需要網頁,所以可以打-e NO_WEB=1,將WEB網頁關閉
然後主體設定我這邊間單用文字帶過
需要在smokeping_secrets、slaves中添加關於slave的資訊
就這樣,很間單
稍微爬個文應該就會ㄌ(雖然你現在好像就是在看文章啦)
不過我相信你很聰明的! 可以自己生出來答案
喔對了 在主體的Targets中,需要將選項多加入下列文字,slave的資料才會出現在圖上
slaves = {你第一個slave} {你第二個slave}
最後slave打下列指令查看log,如果看到有探測的資訊將要傳給主體,那就是成功了
docker logs smokeping-slave
與主體有建立連線,也成功讀取到主體的Targets設定,開始將資料回傳給主體

資料回傳給本體,回傳值Sent data to Server. Server said OK

感謝看到這邊,簡單ㄉ講述了smokeping的安裝過程
這邊也有我自行架設的smokeping,歡迎參考