OpenLM Router API リファレンス
このページは、OpenLM Router のインストールをスクリプト化するときや、レスポンスの意味を知りたいときに使用します。ここに記載した内容はすべて Router 自体からも取得できます。また、このセクションの各ページでは、それぞれの呼び出しを、関連する作業の中で紹介しています。
Router の API ブラウザー
すべての Router は、実行中のビルドから生成されたインタラクティブなリファレンスを、次のアドレスで提供しています。
http://<router-host>:8100/swagger
リクエストとレスポンスのスキーマは、こちらで確認してください。文書として書かれたページとは違い、内容が古くなることがありません。次の表は、フェイルオーバーに関係するエンドポイントの見取り図であり、このリファレンスに代わるものではありません。
ポート 8100 と 8101 は管理用のインターフェイスです。アクセスは管理用ネットワークからのみに限定し、インターネットには公開しないでください。公開するのは、クライアントが使用するライセンスポートだけにしてください。システム要件を参照してください。
フェイルオーバーのエンドポイント
フェイルオーバーのエンドポイントと、それぞれの動作を次の表に示します。
| メソッド | パス | 動作 |
|---|---|---|
GET | /api/v1/status | すべてのペアの状態。使用中のサーバー、両方のサーバーのヘルス、最近のフェイルオーバーを返します。configurationManagement は、この Router の routerId と、OpenLM Platform との最後の同期を報告します。 |
GET | /api/v1/config | Router が OpenLM Platform から取得したルーティング構成。読み取り専用です。構成は OpenLM Platform で変更します。 |
GET | /api/v1/platform/servers | OpenLM Platform スナップショットに含まれるライセンスサーバーで、すべての serverId の取得元です。スナップショットが存在するまでは 503 を返します。 |
GET | /api/v1/admission-controller/platform-credentials | 保存されている OpenLM Platform 接続を読み出します。シークレットはマスクされます。 |
PUT | /api/v1/admission-controller/platform-credentials | OpenLM Platform 接続を保存します。 |
POST | /api/v1/admission-controller/platform-credentials/check-connection | 本文の認証情報をテストします。clientSecret が空または *** の場合は、保存済みの認証情報をテストします。 |
POST | /api/v1/failover/manual | ペアをバックアップへ移します。pairId と、履歴用の任意の message を受け取ります。 |
POST | /api/v1/failback | ペアをプライマリへ戻します。 |
GET | /readyz | 詳細付きの準備状態。どのポートがバインドされ、どのポートが必要とされているかを示します。Router が構成を取得するまでは 503 を返します。 |
GET | /health/ready、/health/live、/health/start | OpenLM 標準のヘルスエンベロープ。 |
Router は、フェイルオーバー以外の機能のためのエンドポイントも公開しています。それらはここでは扱わず、フェイルオーバーのデプロイには必要ありません。
レスポンスを読む
次のセクションでは、Router の主なレスポンスの読み方を説明します。
構成が反映されたことを確認する
構成が適用されていないのか、ネットワークの問題なのかを切り分けるには、/readyz を呼び出します。
{
"appliedGeneration": 1,
"latestGeneration": 1,
"boundPorts": [27000],
"desiredPorts": [27000],
"failoverRoleConverged": true
}
boundPorts が desiredPorts と一致していれば、すべてのペアのリッスンポートが開いています。desiredPorts にあって boundPorts にないポートは、ペアは受け付けられたものの、そのポートを開けなかったことを示します。通常は、別のプロセスがすでにそのポートを使用しているためです。
appliedGeneration が latestGeneration より遅れている場合、構成の変更は受け付けられたものの、適用されていません。数秒以内に追いつきます。
結果を見分ける
主なレスポンスと、その意味を次の表に示します。
| レスポンス | 意味 |
|---|---|
/api/v1/platform/servers からの 503 | OpenLM Platform との同期がまだ一度も成功していないか、10 分間成功していません。新しいデプロイでは、OpenLM Platform 接続が機能していないことを示します。正常に動作していた Router では、同期が失敗しているか(/api/v1/status の lastFailure に表示されます)、Router がジョブスケジュールを失っていて再起動が必要です。 |
check-connection からの 200 と "status": "Failed" | 認証情報が拒否されました。このエンドポイントは判定を本文で返すため、HTTP コードではなく status を確認してください。 |
/api/v1/failover/manual からの 409 "Already on backup" | ペアがバックアップ上にあるか、pairId が存在しないか、ペアにバックアップがありません。Router は 3 つとも同じように応答します。ペアがすでに切り替わったと判断する前に、/api/v1/config で名前とバックアップを確認してください。 |
OpenLM Platform との同期を確認する
Router が OpenLM Platform から構成を取得しているかどうかを確認するには、GET /api/v1/status の configurationManagement ブロックを読み取ります。OpenLM Platform 接続を構成する前は、次のようになります。
"configurationManagement": {
"shape": "serviceManaged",
"routerId": "15ec9751-826b-44ab-a313-43441b9eaed5",
"lastSync": {
"lastSuccessfulSync": null,
"lastAppliedConfigVersion": null,
"lastFailure": "No Platform connection is configured, so the Router has no address for the LicOps Configuration service",
"lastFailureAt": "2026-10-05T08:21:31.4659468Z"
}
}
このブロックのフィールドを、次の表に示します。同期が失敗している場合は、トラブルシューティングを参照してください。
| フィールド | 内容 |
|---|---|
routerId | OpenLM Platform がこの Router を識別するための ID。初回起動時に作成され、MongoDB に保存されます。 |
lastSuccessfulSync | Router が最後に OpenLM Platform と同期した日時。この値が進まない場合、Router は OpenLM Platform と通信できていません。 |
lastAppliedConfigVersion | この Router が実行している OpenLM Platform 構成のバージョン。 |
lastFailure、lastFailureAt | 現在の同期の問題と、その発生日時。同期に成功すると両方ともクリアされるため、ここに値がある場合は過去の履歴ではなく、現在起きている問題です。 |
関連項目
ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。