データソース
Zabbix、Prometheus、Grafana、NetBox の接続
データソースは Shumoku Server にライブメトリクスやトポロジーデータを提供します。サーバーはプラグインアーキテクチャを採用しており、各連携はプラグインとして有効化・無効化できます。
データソースの追加
- サイドバーの Data Sources をクリック
- Add Data Source をクリック
- プラグインタイプを選択(Zabbix、Prometheus、NetBox など)
- 接続情報を入力
- Test Connection で接続を確認
- 保存
Zabbix
JSON-RPC API でトラフィックメトリクス・ホスト状態・アラートを取得します。
| フィールド | 説明 |
|---|---|
| URL | Zabbix サーバーの URL(例: https://zabbix.example.com) |
| API Token | 認証用の Zabbix API トークン |
接続すると、Zabbix のホストとアイテムがトポロジー設定のノードマッピングで利用可能になります。
Prometheus
SNMP / Node Exporter メトリクスでリンク使用率を表示します。
| フィールド | 説明 |
|---|---|
| URL | Prometheus サーバーの URL(例: http://prometheus:9090) |
Grafana
Webhook でアラートを受信しトポロジー上に表示します。
| フィールド | 説明 |
|---|---|
| Webhook Secret | 受信 Webhook の認証用シークレットトークン |
Grafana のアラート通知先を以下に設定してください(正確な URL はデータソース設定画面に表示されます):
POST https://your-shumoku-server/api/webhooks/grafana/<datasource-id>?secret=<secret>シークレットはクエリパラメータの代わりに X-Webhook-Secret ヘッダーで送ることもできます。
NetBox
DCIM・IPAM データからトポロジーを自動検出します。デバイス間のケーブルに加え、 回線(Circuit) も取り込みます。デバイスのインターフェースが回線終端 (Circuit Termination)にケーブル接続されている場合、その回線を辿って接続を復元します。
- 回線の両端が自社デバイスに着地する場合(拠点間ダークファイバー等)→ デバイス間リンクとして描画(ラベルにプロバイダ名・回線 ID、速度は回線のポート速度)。
- 片端のみ自社デバイスの場合(対外プロバイダへのアップリンク等)→ プロバイダを表す境界ノードを 1 つ生成し、そこへ接続。
activeでない回線(planned等)は破線で描画します。- 回線を使っていない NetBox インスタンスや、トークンに circuits 権限が無い場合は、回線を無視してデバイス/ケーブルのみのトポロジーになります。
| フィールド | 説明 |
|---|---|
| URL | NetBox サーバーの URL(例: https://netbox.example.com) |
| API Token | NetBox API トークン |
同期モード
| モード | 説明 |
|---|---|
| Manual | 手動でトポロジーデータを更新 |
| On-View | トポロジーを開いた時に自動更新 |
| Webhook | NetBox Webhook で自動更新 |
Webhook モードでは、NetBox の通知先を以下に設定してください(正確な URL はトポロジーソース設定画面に表示されます):
POST https://your-shumoku-server/api/webhooks/topology/<topology-source-id>?secret=<secret>シークレットはクエリパラメータの代わりに X-Webhook-Secret ヘッダーで送ることもできます。
Aruba Instant On
Aruba Instant On クラウドポータルからアクセスポイント・スイッチ・デバイス別メトリクス・サイトアラートを取得します。非公式のポータル API を使用します。
| フィールド | 説明 |
|---|---|
| Username | ポータルアカウントのメールアドレス(MFA が無効なアカウントが必要) |
| Password | ポータルのパスワード |
| Site ID | 任意 — 1 サイトに限定。空欄の場合はアカウントが参照できる全サイトをポーリング |
Arista CV-CUE
Arista CV-CUE(CloudVision Cognitive Unified Edge)の Wi-Fi Open API から、管理下のアクセスポイント・アップリンクスイッチ・デバイス別ステータス・イベント(アラート)を取得します。LLDP のアップリンク情報から AP↔スイッチのトポロジも自動生成し、NetBox 等の有線トポロジと identity でマージできます。API キー(Key ID / Key Value)でセッション認証します。
| フィールド | 説明 |
|---|---|
| API base URL | CV-CUE Open API のベース(末尾 /wifi/api)。テナント/リージョンごと(例: https://awm17001-c4.srv.wifi.arista.com/wifi/api) |
| API key ID | CV-CUE の「Manage API Keys」で発行した Key ID(例: KEY-XXXXXXXX-NN) |
| API key value | Key ID に対応するシークレット |
| Customer ID (CID) | 任意 — キーが複数カスタマーにアクセスできる場合のみ |
| Location ID | 任意 — クエリを特定のロケーション配下に限定(0 がルート) |
Huawei iMaster NCE-Campus
Huawei iMaster NCE-Campus コントローラの北向き RESTful API(NBI、既定ポート 18002)から、管理下のデバイス(AP・スイッチ・AR ルータ・ファイアウォール)・デバイス間トポロジ(コントローラのトポロジ API を優先し、LLDP ネイバーにフォールバック)・デバイス別パフォーマンス(CPU / メモリ / インターフェース使用率)・リンク状態・現在アラームを取得します。デバイスはサイト単位のサブグラフにグループ化され、MAC / 管理 IP の identity で NetBox 等の他ソースとマージできます。
トークンは発行時のクライアント IP に束縛されるため、NAT やプロキシ経由でコントローラへアクセスする構成では送信元 IP が固定される必要があります。
| フィールド | 説明 |
|---|---|
| NBI base URL | コントローラの NBI ベース URL(例: https://nce.example.com:18002) |
| Username | NBI User Group ロールを付与したサードパーティアカウント |
| Password | アカウントのパスワード |
| Site ID | 任意 — 1 サイト(UUID)に限定。空欄の場合はアカウントが参照できる全サイトをポーリング |
サードパーティアカウントは NCE-Campus の System > User Management で Type を Third-party にして作成し、NBI User Group ロールを割り当ててください。
Network Scan
上流のインベントリなしでトポロジーを能動的に発見します。SNMP と LLDP でネットワークをシードクロールし、デバイスの特定・ポートの列挙・ネイバーリンクの収集を行います。
| フィールド | 説明 |
|---|---|
| Targets | IPv4 アドレス、ホスト名、または CIDR ブロック(例: 10.0.0.0/24) |
| Community | SNMPv2c コミュニティ(デフォルト public) |
| Timeout | デバイスごとのタイムアウト(ミリ秒) |
プラグイン
プラグインシステムで追加のデータソースを導入できます。サイドバーの Plugins からインストール済みプラグインを管理できます。
プラグインの追加方法:
- ビルトインプラグイン(Manual、Zabbix、Prometheus、Grafana、NetBox、Aruba Instant On、Arista CV-CUE、Huawei iMaster NCE-Campus、Network Scan)
- GitHub URL
- ローカルファイルパス
- ZIP ファイルアップロード