AhFei

AhFei

简洁的写作需要勇气

ネットワーク遅延ツール SmokePing のインストールと設定

特に説明がない限り、記事のコードブロック内のコマンドの順序に従って、一つずつ実行することで目標を達成できます。
対応システム:Debian 系ディストリビューション、Ubuntu や Armbian を含む。他のディストリビューションも流れに応じてコマンドを少し変更すれば一般的に可能です。

予想所要時間:20 分(まず一度通して実行し、その後カスタム設定ファイルを作成することをお勧めします)

image.png

SmokePing は強力で柔軟なネットワーク遅延監視ツールであり、ウェブページで結果を確認できます。

簡単に言えば、IP を教えると、継続的に ping を送り、結果を保存してグラフで表示します。私は「持ち運びサーバー」にインストールして使用し、現在の VPS とのネットワーク状況を検出しています。実際、SmokePing はネットワークをテストするためのツールが豊富で、一般的に使用されるものには:FPing、cURL、DNS、FPing6 があります。

公式サイト: SmokePing - About SmokePing (oetiker.ch)

linuxserver が構築した Docker イメージ: linuxserver/docker-smokeping (github.com)

Docker を使用して SmokePing をインストール#

全てコピーして実行、ワークディレクトリを一括作成し、ポートを開放します

myserve="smokeping"
sudo ufw allow 8899/tcp comment $myserve && sudo ufw reload
mkdir -p ~/myserve/$myserve && cd ~/myserve/$myserve

コメントに従ってカスタマイズし、実行して docker-compose.yml ファイルを一括作成します(armbian に対応)

cat > docker-compose.yml << EOF
version: "2.1"
services:
  smokeping:
    image: lscr.io/linuxserver/smokeping:latest
    container_name: smokeping
    restart: unless-stopped
    environment:
      - PUID=1000   # カスタマイズ可能、ユーザー名またはUID、わからない場合はrootを入力
      - PGID=1000   # カスタマイズ可能、グループ名またはUID、わからない場合はrootを入力
      - TZ=Asia/Shanghai
    volumes:
      - ./config:/config
      - ./data:/data
    ports:
      - 8899:80
EOF

コンテナイメージをプルします

docker compose pull

コンテナを起動します(この時点でウェブページにアクセスできます、http://ip_addr_or_domain:8899でアクセス)

docker compose up -d

中国本土のマシンにインストールする場合は、少し変更が必要です。海外の方はスキップしてください。#

理由は忘れましたが、resolve.conf を変更しないとデータが出てこないようです。

イメージ内の resolve.conf ファイルを変更する必要があります。すべての操作は~/myserve/smokeping/ディレクトリ内で行います。手順:

cd ~/myserve/smokeping/

カスタム resolve.conf を作成します:国内で使用可能な DNS を追加します。ここでは 223.5.5.5 を使用します。

touch resolve.conf && \
echo "nameserver 223.5.5.5" > resolve.conf && \
echo "options edns0 trust-ad ndots:0" >> resolve.conf

イメージをプルして変更するためのDockerfileファイルを作成します:

cat > Dockerfile << EOF
FROM linuxserver/smokeping:latest
COPY ./resolve.conf /etc/resolve.conf
EOF

docker-compose.yml ファイルを以下の内容に変更します。image:build:に変更します:

cat > docker-compose.yml << EOF
version: "2.1"
services:
  smokeping:
    build: ./
    container_name: smokeping
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - ./config:/config
      - ./data:/data
    ports:
      - 8899:80
EOF
docker compose up -d

コンテナを起動した後、もう少し変更が必要です:

vim /usr/local/smokeping/config/Probe

以下の DNS の lookup を国内ネットワークが接続できる URL に変更します。例えば baidu.com。

+ DNS
binary = /usr/bin/dig
lookup = baidu.com
pings = 5
step = 300

メインノード名の変更#

image.png

図のような場所

cd ~/myserve/smokeping && vim config/General

display_nameを追加します

*** General ***

owner    = LinuxServer.io
contact  = [email protected]
mailhost = my.mail.host
cgiurl   = http://localhost/smokeping.cgi
syslogfacility = local0
# スペースを節約するためにコメントを削除しました

display_name = 郑州移动家宽   # ここ
@include /config/pathnames

SmokePing プローブの設定ファイル#

まずクエリ頻度をカスタマイズします:

cd ~/myserve/smokeping && vim config/Database
*** Database ***
step     = 180
pings    = 20

3 分ごとに 20 回クエリします。

  • step:クエリ周期、単位は秒、何秒ごとに ping を一回行うか、実際には ping だけでなく、すべてのプローブの操作を指します。
  • pings:各周期で何回クエリするか、例えば、各ノードを何回 ping するか。

プローブの設定ファイルを編集します:

cd ~/myserve/smokeping && vim config/Probes

一般的に使用されるものは以下の通り:(詳細は: SmokePing - SmokePing Probes (oetiker.ch)

*** Probes ***

+ FPing
binary = /usr/sbin/fping
packetsize = 1000
 
+ FPing6
binary = /bin/ping6   # これは公式の変更に従ってはいけません、コンテナ版です


+ DNS
binary = /usr/bin/dig
lookup = baidu.com
pings = 5
step = 300

+ Curl
binary = /usr/bin/curl
forks = 5
offset = 50%

ここでの pings は上記を上書きします。


設定ファイル内でプローブのタイプを自由に変更できます。使用する場合は、前に probe = プローブ名を追加します。

(もし混乱する場合は、先にスキップしても構いません)

 *** Targets ***
 probe = FPing
 menu = Top
 title = Network Latency Grapher
 remark = Welcome to this SmokePing website.
 
 + network
 menu = Net latency
 title = Network latency (ICMP pings)
 
 ++ myhost1
 host = myhost1.example
 ++ myhost2
 host = myhost2.example
 
 + services
 menu = Service latency
 title = Service latency (DNS, HTTP)
 
 ++ DNS
 probe = DNS   # ここでprobeをDNSに変更
 menu = DNS latency
 title = Service latency (DNS)
 
 +++ dns1
 host = dns1.example
 
 +++ dns2
 host = dns2.example

IP 監視設定ファイル#

例: SmokePing - smokeping_examples (oetiker.ch)

簡単な説明:

  1. ++ ここに識別子を記入します。大文字小文字の英字、数字、アンダースコア、ハイフンを使用できます。
  2. menu = メニューに表示される内容
  3. title = ページの上部に表示される内容
  4. host = ping する対象、ドメイン名と IP の両方が可能です。
  5. 設定を変更するたびにコンテナを再起動して反映させます。

ここでは、以下の形式に従って適当に記入し、ウェブページにどのような変化があるかを確認すると、簡単に進められます。

cd ~/myserve/smokeping && vim config/Targets

これは私が使用している簡略版の例です。最初は変更せずに流れを通して実行してみてからカスタマイズしてください:

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher for AhFei
remark = Welcome to my SmokePing website. \
         Here you will learn all about the latency of my network.



+ TheBigThree
menu = 三大運営商
title = 監視統計


++ CMCC
menu = 移動ネットワーク監視
title = 移動ネットワーク監視リスト
host = /TheBigThree/CMCC/CMCC-BJ /TheBigThree/CMCC/CMCC-TJ /TheBigThree/CMCC/CMCC-HLJ
 
+++ CMCC-BJ
menu = 北京移動
title = 北京移動
alerts = someloss
host = 221.130.33.52
 
+++ CMCC-TJ
menu = 天津移動
title = 天津移動
alerts = someloss
host = 211.137.160.5

+++ CMCC-HLJ
menu = 黒竜江移動
title = 黒竜江移動
alerts = someloss
host = 211.137.241.35

# 残りの2つは省略しました、長すぎる



+ DomesticServer
menu = 国内サーバー
title = 監視統計
host = /DomesticServer/Tc

++ Tc
menu = TencentCloud
title = TencentCloud
alerts = someloss
host = 110.242.68.66




+ USServer
menu = 北米サーバー
title = 監視統計
host = /USServer/Bwg /USServer/NA

++ Bwg
menu = Bandwagon
title = Bandwagon
alerts = someloss
host = 193.43.142.215

++ NA
menu = nextarray
title = nextarray
alerts = someloss
host = 193.43.142.215




+ OtherRegionServer
menu = その他地域サーバー
title = 監視統計
host = 

三大運営商の監視 IP について: raw.githubusercontent.com/AhFeil/bash-script/main/smokeping-Targets 、いくつかは無効になっており、更新計画はありませんので、使用しないでください。


コンテナを停止します

docker compose down

コンテナを再起動します

docker compose up -d

原文リンク: https://blog.vfly2.com/2023/07/smokeping-installation-configuration/
版权声明:本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 承飞之咎 (blog.vfly2.com)

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。