コンテンツにスキップ

Geoprobe デプロイ

このガイドでは、geoProbe エージェントのデプロイと設定について説明します。geoProbe エージェントは、DoubleZero Geolocation サービスのレイテンシ測定を実行するサーバーです。

geoProbe は、3 層の測定チェーンにおいて DZD とターゲットデバイスの間に位置します。親 DZD から署名済み LocationOffset を受信し、TWAMP、署名済み TWAMP、または ICMP エコーを介して登録済みターゲットへの RTT を測定します。各 geoProbe はオンチェーンに登録され、1 つ以上の親 DZD にリンクされます。

ジオロケーションのアーキテクチャと測定フローの概要については、Geolocation ユーザーガイドを参照してください。


前提条件

DZD テレメトリエージェントのバージョン

親 DZD は、ジオロケーションサービスをサポートするために デバイステレメトリエージェントバージョン 0.17.0 以降 を実行している必要があります。それ以前のバージョンには、ジオロケーションに必要なプローブ検出、TWAMP ピング、およびオフセット公開の拡張機能が含まれていません。プローブをデプロイする前にエージェントのバージョンを確認してください — 古い DZD とペアリングされたプローブはオフセットを受信しません。

geoProbe をデプロイする前に、以下を確認してください:

  • ベアメタル Linux サーバー — VPS でも動作しますが、理想的ではありません。
  • DZD へのネットワーク近接性 — プローブと親 DZD 間の RTT が 1ms 未満であること。理想的には 0.1ms 以下。
  • エージェントプロセスの CAP_NET_RAW ケーパビリティ(raw ソケットを使用した ICMP エコープロービングに必要)
  • プローブの署名 ID 用の Ed25519 鍵ペア
  • Foundation の承認 — プローブの登録は現時点では Foundation のゲート制御下にあります。手続き前に DZF と調整してください
  • テレメトリエージェント v0.17.0 以降を実行している 親 DZD

インストール

エージェントデーモンと doublezero CLI の両方をインストールします:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash
sudo apt install doublezero-geoprobe-agent doublezero
パッケージ 用途
doublezero-geoprobe-agent プローブサーバー上で動作し、レイテンシ測定と署名済みオフセットの生成を行うエージェントデーモン
doublezero プローブの登録と管理コマンドに使用する CLI ツール

オンチェーン登録

プローブの登録には Foundation の承認が必要です。手続き前に DZF と調整してください。

ステップ 1: プローブの登録

doublezero geolocation probe create \
  --code <probe-code> \
  --exchange <exchange-pubkey> \
  --public-ip <probe-ip> \
  --signing-pubkey <signing-key-pubkey>
パラメータ 説明
--code プローブの一意な識別子(例: ams-tn-gp1)— 最大 32 文字
--exchange このプローブが関連付けられている Serviceability Exchange アカウントの公開鍵
--public-ip プローブがリッスンするパブリック IPv4 アドレス
--signing-pubkey オフセットとテレメトリの署名に使用する公開鍵
doublezero geolocation probe add-parent \
  --probe <probe-code> \
  --device <dzd-code>

各親 DZD は Serviceability Program でアクティベート済みのデバイスである必要があります。DZD は 60 秒ごとに子プローブを自動検出します — リンクされると、DZD は自動的に TWAMP 測定とオフセット生成を開始します。


エージェントの実行

doublezero-geoprobe-agent \
  --env mainnet-beta \
  --keypair /etc/geoprobe/keypair.json \
  --geoprobe-pubkey <probe-onchain-pubkey>

必須フラグ

フラグ 説明
--keypair オフセット署名用の Ed25519 鍵ペアファイルのパス
--geoprobe-pubkey プローブのオンチェーン公開鍵(probe create で取得)
--env ネットワーク環境: testnet、devnet、または mainnet-beta(レジャー RPC URL を設定)

--env の代わりに --ledger-rpc-url を使用して、カスタム Solana RPC エンドポイントを指定することもできます。

オプションフラグ

フラグ デフォルト 説明
--twamp-listen-port 8925 親 DZD からの TWAMP 測定用ポート
--signed-twamp-port 8924 インバウンドターゲットからの署名済み TWAMP プローブ用ポート
--udp-listen-port 8923 DZD からの LocationOffset データグラム受信用ポート
--probe-interval 30s 各ターゲットの測定間隔
--max-offset-age 1h キャッシュされた DZD オフセットが破棄されるまでの最大経過時間
--verify-interval 29s レジャーからターゲット割り当てを再検証する間隔
--verbose false 詳細ログを有効化
--metrics-enable false Prometheus メトリクスエンドポイントを有効化
--metrics-addr — Prometheus メトリクスエンドポイントのアドレス(例: 0.0.0.0:9090)

ポートとファイアウォール

geoprobe エージェントにはいくつかのポートの開放が必要です:

ポート プロトコル 方向 用途
8923/udp UDP DZD からのインバウンド 署名済み LocationOffset データグラムの受信
8924/udp UDP ターゲットからのインバウンド 署名済み TWAMP リフレクター(インバウンドプローブフロー)
8925/udp UDP DZD からのインバウンド 親 DZD からの TWAMP 測定
ICMP ICMP ターゲットへのアウトバウンド OutboundIcmp ターゲット用の ICMP エコーリクエスト

Note

エージェントは、TWAMP プロービング(アウトバウンドフロー)および署名済み LocationOffset 結果のターゲットへの配信のために、ターゲットへのアウトバウンド UDP も必要とします。


モニタリング

運用の可視性のために Prometheus メトリクスエンドポイントを有効化します:

doublezero-geoprobe-agent \
  --keypair /etc/geoprobe/keypair.json \
  --geoprobe-pubkey <probe-onchain-pubkey> \
  --env testnet \
  --metrics-enable \
  --metrics-addr 0.0.0.0:9090

監視すべき主要メトリクス:

  • プローブの可用性 — エージェントプロセスのアップタイム
  • DZD-プローブ間レイテンシ — 1ms 未満であるべきです。高い値は配置の問題を示しています
  • アクティブターゲット — プローブが現在測定しているターゲットの数
  • 署名検証の失敗 — ゼロ以外の値は鍵の設定ミスまたはパケットの改ざんを示している可能性があります
  • オフセットキャッシュヒット率 — ヒット率が低い場合、プローブが新しい DZD オフセットを頻繁に待機していることを意味します

Prometheus スクレイピングと DoubleZero エージェント全体で使用されるアラートパターンに関する一般的なガイダンスについては、運用ガイドを参照してください。


プローブ管理コマンド

doublezero geolocation CLI は、プローブを管理するための以下のサブコマンドを提供します:

サブコマンド 説明
probe create 新しい geoProbe をオンチェーンに登録
probe get コードで特定のプローブの詳細を取得
probe list 登録済みの全プローブを一覧表示
probe update プローブの設定を更新(IP、ポート、署名鍵)
probe delete プローブを削除(アクティブなターゲット参照がないことが必要)
probe add-parent 親 DZD をプローブにリンク
probe remove-parent プローブから親 DZD を削除

すべてのサブコマンドは、ネットワークの選択に --env または --rpc-url を受け付けます。書き込み操作(create、update、delete、add-parent、remove-parent)には --keypair が必要です。

例: プローブの一覧表示
doublezero geolocation probe list

登録済みの全プローブがコード、パブリック IP、親 DZD、現在のステータスとともに返されます。