データソース管理
「データソース」は、運用プラットフォームの設定を一元管理するページです。監視対象のホスト、ミドルウェア、クラスターはすべてここで登録します。リソース監視のメニューとアラートルールで選択できるタイプは、有効なデータソースに応じて動的に決まります。

対応するタイプ
| タイプ | 複数インスタンス | 接続方法 |
|---|---|---|
| Prometheus | 組み込みの単一インスタンス | 運用プラットフォーム内蔵のメトリクスストア。読み取り専用で、無効化や削除はできません |
| ホスト | ✅ | ホストのアドレス(ポート疎通などを監視) |
| MySQL | ✅ | ノードのアドレス(複数指定可能。ノードごとに収集)/ユーザー名/パスワード |
| MongoDB | ✅ | 接続 URI。レプリカセットに対応 |
| Redis | ✅ | ノードのアドレス(複数指定可能。Sentinel/クラスター構成では各ノードを指定)/パスワード/DB |
| Kafka | ✅ | Broker のアドレス。SASL に対応 |
| Elasticsearch | ✅ | ノードのアドレス(複数指定可能)+ HTTP Basic 認証 |
| カスタムページ | ✅ | Flink、Langfuse などの任意の Web UI のアドレス。登録後、左側の「カスタム」メニューに表示されます。後述のカスタムページを参照してください |
MySQL/Redis/Elasticsearch の複数ノードは、1 件のデータソースにまとめて入力します(host:port を改行またはカンマで区切ります)。ノードごとに収集プロセスが起動するため、1 つのノードが利用できなくなっても他のノードには影響しません。Redis のプライマリ/レプリカが切り替わった場合も設定変更は不要です。
収集状態
一覧の各データソースには「収集状態」が表示されます。収集が実行されているかを確認でき、多くの収集エラーはこの状態を手がかりに調査できます。
| 状態 | 意味 | 主な対処方法 |
|---|---|---|
| 収集中 | 正常にメトリクスを書き込み中 | — |
| データなし | 収集プロセスは稼働しているが、メトリクスを取得できていない | 多くはアカウント、パスワード、権限の問題です。マウスポインターを重ねて原因の原文を確認します |
| 停止 | 収集プロセスが稼働していない | マウスポインターを重ねて終了理由(接続不可、ポートの誤り、認証失敗など)を確認します。プロセスは自動的に再試行します |
| 未収集 | このデータソースの収集が開始されていない | 用途で「ダッシュボード表示」が選択されているか、データソースが有効かを確認します |
| 不明 | 一時的に状態を取得できない | ops-agent(ミドルウェア)または ops-prometheus(ホスト)コンテナーが起動しているかを確認します |
赤い状態表示にマウスポインターを重ねると、失敗理由の原文(401 unable to authenticate user、connection refused など)と、そのままコピーできる調査用コマンドが表示されます。ダッシュボードにデータがない場合は、まず収集状態を確認してください。
ホストの node_exporter は監視対象ホストに配置され、運用プラットフォームの Prometheus が直接スクレイプします。ops-agent は経由しません。このため、収集状態は Prometheus のスクレイプ結果から取得され、他のタイプとは処理経路が異なります。
- ホストを登録した直後は一時的に「未収集」と表示されます。約 30 秒後に収集対象の設定が反映されると「収集中」に変わります。
- 指定先が node_exporter ではない場合や、ポートに接続できない場合は「データなし」と表示されます。
- 運用プラットフォームの Prometheus に問い合わせできない場合は「不明」と表示されます。状態を一時的に判断できないことを示し、収集の失敗を意味するものではありません。
マウスポインターを重ねて表示される調査用コマンドは、ホストのアドレスを確認するものです(curl http://<ホスト>:<ポート>/metrics)。agent コンテナー内での調査用コマンドではありません。
設定の反映
収集設定はこのページで一元管理します。追加、パスワード変更、有効化/無効化はすべてここで行い、変更は即座に反映されます。コンテナーの再起動は不要です。
1.5.0 以降、
ops.yamlはデータソースの設定には使用しません。運用プラットフォーム自体の依存コンポーネントを定義するフ ァイルであり、監視対象は定義しません。
複数のインスタンスを一度に追加する場合は、右上の「一括インポート」を使用します。YAML テンプレートをダウンロードし、現在の環境の接続先に変更してアップロードしてください。まず「検証のみ」をクリックすることを推奨します。形式の検証と各接続先への疎通確認のみを実行し、設定は保存しません。「タイプ + 名前」をキーに冪等に処理されるため、同じファイルを繰り返しインポートできます。既存の項目を更新する際、パスワードが空欄の場合は元のパスワードを引き継ぎます。
設定のエクスポート(バックアップ/環境移行)
右上の「設定をエクスポート」から、すべてのデータソースを一括インポートと同じ形式の YAML に出力できます。「一括インポート」でそのまま復元できるため、バックアップ、再インストール後の復元、別環境への移行に利用できます。
次の 2 つの方法を選択できます。
| オプション | パスワード | 用途 |
|---|---|---|
| 設定をエクスポート(パスワードを含めない) | 空欄 | 日常のバックアップや同じ運用プラットフォームへの復元。空欄はパスワードの削除を意味しません。インポート時に「タイプ + 名前」に基づき、保存済みのパスワードを引き継ぎます |
| 設定をエクスポート(平文パスワードを含む) | 平文 | 別の運用プラットフォームへの移行や、元のプラットフォームのデータベースが利用できない場合。ファイルに平文が含まれるため厳重に保管し、コードリポジトリにはコミットしないでください |
パスワードを含めない場合は、MongoDB URI に埋め込まれた認証情報も除去されます(mongodb://user:pass@host → mongodb://host)。別環境で復元する際は補完してください。これらの注意事項は、ファイル冒頭のコメントにも記載されています。
用途
各データソースには 1 つ以上の用途を指定できます。選択内容によって利用する機能が決まります。
| 用途 | 動作 |
|---|---|
| ダッシュボード表示 | 「リソース監視」の該当メニューにインスタンスのダッシュボードを表示します |
| アラート | 「アラートルール」でそのインスタンスのルールを作成できます |
| スロークエリ診断 | MongoDB のみ。スロークエリ分析とインデックス診断を有効にします。⚠️ 運用プラットフォームは対象データベースの profiling を有効化します。無効であることを検出すると db.runCommand({profile:1, slowms:100}) を実行します(閾値は ENV_GATEWAY_PROFILE_SLOW_MS で設定)。これが監視対象データベースに対する唯一の自動設定書き込みです。インデックスは自動作成されません。診断ページで「ワンクリック作成」を明示的にクリックする必要があります。診断履歴は運用プラットフォーム専用の ops-mongo にのみ保存されます |
カスタムページ(外部 Web UI)
カスタムページは、既存の Web 画面(Flink Web UI、Langfuse、社内ダッシュボードなど)を左側の「カスタム」メニューに追加する機能です。監視対象のデータソースではなく、メトリクスは収集しません。「データソースを新規作成」のリストで「カスタムページ」を選択します。複数登録できます。
| 項目 | 説明 |
|---|---|
| 名前 | 左側の「カスタム」メニューに表示する名前。アクセスパス /custom/<id> は名前から自動生成され、作成後は変更されません |
| ページのアドレス | 対象 Web UI の http(s) アドレス |
| 埋め込み方式 | リバースプロキシ:運用プラットフォームを経由し、同一オリジンでプラットフォームの認証を使用します。対象に運用プラットフォームのサーバーからアクセスできれば利用できます。Flink など、リソースを相対パスで参照するサービスに適しています。直接埋め込み:ブラウザーが対象アドレスを直接読み込みます。ブラウザーから接続でき、iframe への埋め込みが制限されていない必要があります。Langfuse などの Next.js サービスのようにリソースを絶対パスで参照するアプリケーションでは、この方式を使用します |
埋め込み方式が合っていないと、ページが空白になります。リバースプロキシでリソースが 404 になる場合は直接埋め込みに切り替えてください。直接埋め込みでブラウザーのコンソールに X-Frame-Options/frame-ancestors のエラーが出る場合は、対象側の制限を緩和するか、リバースプロキシに切り替えてください。
保存時には到達可能性を確認します。対象のログイン画面が 401/403 を返す場合も到達可能と判定します。接続できなくても保存は可能で、ネットワークが接続されればメニューから開けるようになります。
従来の単一の「Flink」エントリーは、アップグレード後にリバースプロキシ方式のカスタムページへ自動移行されます。左側のメニューとアクセスアドレスは維持され、手動操作は不要です。
カスタムページも「設定をエクスポート」と「一括インポート」の対象です。YAML の記述例は次のとおりです。
- kind: customPage
name: Langfuse
url: http://langfuse:3000
mode: iframe # proxy:リバースプロキシ / iframe:直接埋め込み
enabled: true
監視対象のアカウント権限
登録前に、各監視対象に必要な権限を持つアカウントを用意してください。運用プラットフォームは、原則として読み取りによる監視を行います。
| 対象 | 必要な権限 |
|---|---|
| MySQL | SELECT、SHOW DATABASES、PROCESS、REPLICATION CLIENT |
| MongoDB | root を推奨。最小権限は以下の例を参照 |
| Redis | データの読み取り権限 |
| Kafka | 認証を有効にしている場合はクラスターメタデータの読み取り権限 |
| Elasticsearch | インデックスの読み書き権限 |
| カスタムページ | リバースプロキシ方式:運用プラットフォームのサーバーから対象にアクセスできること。直接埋め込み方式:ブラウザーから対象にアクセスでき、X-Frame-Options/frame-ancestors による制限がないこと |
MongoDB の最小権限の例です。readWrite/dbAdmin は、スロークエリ診断でのインデックス作成に使用します。
use admin
db.createUser({
user: "opsuser", pwd: "your_secure_password",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
{ role: "clusterManager", db: "admin" },
{ role: "dbAdmin", db: "mdwsrows" }, { role: "readWrite", db: "mdwsrows" },
{ role: "dbAdmin", db: "mdservicedata" }, { role: "readWrite", db: "mdservicedata" },
{ role: "dbAdmin", db: "mdworksheet" }, { role: "readWrite", db: "mdworksheet" },
{ role: "dbAdmin", db: "mdworkflow" }, { role: "readWrite", db: "mdworkflow" }
]
})
Elasticsearch のアカウント設定
よくある問題として、接続できるのにメトリクスを収集できないケースがあります。通常はユーザー名の誤りが原因です。「接続テスト」では収集状態も確認するため、この場合は「接続成功、データはまだ収集されていません」と表示されます。
| 項目 | 入力内容 |
|---|---|
| URL | http://<ESのアドレス>:9200。プロトコルを含めて指定します |
| ユーザー名 | md。プライベートデプロイに含まれる ES のユーザー名は md であり、elastic ではありません |
| パスワード | HAP/HDP のデプロイ時に設定した ES のパスワード |
データが収集されているかは、「収集状態」列が収集中になっているか、または「接続テスト」で確認できます。「データなし」にマウスポインターを重ねると原因が表示されます。認証情報の誤りがある場合は、アカウントまたはパスワードの不一致が示されます。
操作
- 新規作成:右上の「データソースを新規作成」→ タイプを選択 → 接続情報を入力します。
- 接 続テスト:実際の認証情報で検証します(MongoDB ping、MySQL ログイン、Kafka メタデータ取得、Redis AUTH、ES 認証リクエスト)。ポートの疎通確認だけでなく、収集状態も確認します。接続できてもダッシュボードにデータがあるとは限りません。収集対象の設定反映、収集プロセス、メトリクスのスクレイプ状態も確認します。結果には「接続成功、収集中」または「接続成功、データはまだ収集されていません」と、その理由が表示されます。
- 接続確認:右上のボタンから、一覧のすべてのデータソースを一括確認します。「状態」列に接続済み・収集中/データなし/機能低下/接続不可が表示されます。
- 有効化/無効化:一覧のスイッチで切り替えます。無効にすると、対応するリソース監視メニューとアラートタイプが自動的に非表示になり、既存のアラートルールの実行も停止します。
- 編集:保存済みのパスワードはマスク表示されます。空欄のままにすると変更されません。
パスワードと接続 URI は、保存前に ENV_ALERT_CRYPTO_KEY を使って AES 暗号化されます。API からはマスクされた値が返されます。初回デプロイ時に必ずこのキーを設定し、適切に保管してください。キーを変更すると保存済みの認証情報を復号できなくなり、再入力が必要になります。
登録後の確認
データソースを登録し、正常に収集されていることを確認したら、次の機能を利用できます。