ShumokuShumoku

API リファレンス

HTTP エンドポイントと WebSocket プロトコル

認証

ヘルスチェックと共有ビューを除くすべての API エンドポイントはセッション認証が必要です。

POST /api/auth/login
Content-Type: application/json

{ "password": "your-password" }

HTTP エンドポイント

データソース

メソッドエンドポイント説明
GET/api/datasourcesデータソース一覧
POST/api/datasourcesデータソース作成
GET/api/datasources/:idデータソース詳細
PUT/api/datasources/:idデータソース更新
DELETE/api/datasources/:idデータソース削除
POST/api/datasources/:id/test接続テスト
GET/api/datasources/:id/hosts監視ホスト一覧
GET/api/datasources/:id/hosts/:hostId/itemsホストのメトリクスアイテム
GET/api/datasources/:id/alertsアラート取得

トポロジー

メソッドエンドポイント説明
GET/api/topologiesトポロジー一覧
POST/api/topologiesトポロジー作成
GET/api/topologies/:idトポロジー詳細
PUT/api/topologies/:idトポロジー更新
DELETE/api/topologies/:idトポロジー削除
GET/api/topologies/:id/renderレンダリングされたレイアウトデータ
GET/api/topologies/:id/sources紐付けデータソース一覧
POST/api/topologies/:id/sourcesデータソースを紐付け

ダッシュボード

メソッドエンドポイント説明
GET/api/dashboardsダッシュボード一覧
POST/api/dashboardsダッシュボード作成
GET/api/dashboards/:idダッシュボード詳細
PUT/api/dashboards/:idダッシュボード更新
DELETE/api/dashboards/:idダッシュボード削除

プラグイン

メソッドエンドポイント説明
GET/api/pluginsプラグイン一覧
POST/api/pluginsプラグイン追加(URL/パス/アップロード)
DELETE/api/plugins/:idプラグイン削除

Webhook

メソッドエンドポイント説明
POST/api/webhooks/topology/:secretNetBox トポロジー Webhook
POST/api/webhooks/alerts/:secretGrafana アラート Webhook

その他

メソッドエンドポイント説明
GET/api/healthヘルスチェック(認証不要)
GET/api/auth/status認証状態の確認
POST/api/auth/setup初期パスワード設定
POST/api/auth/logoutログアウト

WebSocket

ws://<host>/ws に接続してリアルタイムメトリクスをストリーミングします。

クライアントメッセージ

// トポロジー更新を購読
{ "type": "subscribe", "topology": "<topology-id>" }

// 特定のノード/リンクをフィルタ
{ "type": "filter", "nodes": ["router1"], "links": ["link-0"] }

サーバーメッセージ

{
  "type": "metrics",
  "data": {
    "nodes": {
      "router1": { "status": "up" }
    },
    "links": {
      "link-0": {
        "status": "up",
        "utilization": { "in": 45.2, "out": 12.8 }
      }
    },
    "timestamp": 1705849200000
  }
}

目次