# ヘルスチェック

Keeperコネクションマネージャー (KCM) では、定期的に自動ヘルスチェックが実行されます。このヘルスチェックにより、guacdサービスへ正常に接続できるかどうか、認証サブシステムが適切に応答しているか、またKCMのライセンスがまもなく期限切れにならないかを確認します。

ヘルスチェックには、システムの状態を自動的に確認できるREST APIエンドポイントが用意されています。このエンドポイントには、`.../api/ext/healthcheck/full` に対してGETリクエストを送信することでアクセスでき、認証は不要です。

たとえば、KCMが `kcm.example.net` で稼働している場合、次のcurlコマンドを実行するとヘルスチェックの状態を取得できます。

```
curl https://kcm.example.net/api/ext/healthcheck/full
```

KCMサーバーが正常に稼働しており、ライセンスも有効な場合、以下のようなJSONレスポンスが返されます。

```
{ "licensed": true, "licenseExpiresSoon": false, "healthy": true }
```

サーバーの状態に問題がある場合や、ライセンスが無効な場合には、上記JSON内に含まれる各フラグの値が異なります。ヘルスチェックのレスポンスJSONに含まれるフラグの意味は次のとおりです。

| プロパティ名             | 説明                                                                                                                                                                                             |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| licensed           | KCMのライセンスが現在有効かどうかを示します。ライセンスが有効かつ期限内の場合はtrue、無効または期限切れの場合はfalseになります。                                                                                                                         |
| licenseExpiresSoon | KCMのライセンスは有効であるものの、まもなく期限切れになるかどうかを示します。期限切れが差し迫っていない場合はfalse、早急な更新が必要な場合はtrueになります。「まもなく」と判断する期間は設定で変更できます。デフォルトでは、ライセンスの有効期限が次の1週間以内に到来する場合に該当します。なお、licensedがfalseの場合、このプロパティはレスポンスに含まれません。 |
| healthy            | guacdサービスおよびKCMの認証システムの可用性を確認した結果に基づき、KCMサーバーが正常かどうかを示します。いずれかが応答しない場合はfalse、両方とも正常に応答している場合はtrueになります。                                                                                        |

ヘルスチェックの動作は、以下の設定プロパティ(RPMインストール時)または環境変数(Dockerインストール時)で変更できます。

| 設定プロパティ (guacamole.properties)     | 環境変数                               | 説明                                                                                                                                           |
| ---------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `healthcheck-interval`             | `HEALTHCHECK_INTERVAL`             | ヘルスチェックを実行する間隔 (秒) を指定します。エンドポイントへのリクエストとは独立して、この間隔に従い定期的にヘルスチェックが実行されます。エンドポイントへのアクセスでは、直近のチェック結果が返されます。デフォルトは5秒です。                         |
| `healthcheck-license-grace-period` | `HEALTHCHECK_LICENSE_GRACE_PERIOD` | ライセンスを「まもなく期限切れ」と判断するまでの日数を指定します。この期間に入ると、ライセンス自体は有効であっても、ヘルスチェックのレスポンスでは `licenseExpiresSoon` がtrueになります。デフォルトでは、ライセンスの有効期限が7日以内の場合に該当します。  |
| `healthcheck-base-uri`             | `HEALTHCHECK_BASE_URI`             | 認証サービスの可用性を確認するために、ヘルスチェックで使用するKCMサーバーのベースURIを指定します。**このURIはKCM自身からローカルネットワーク経由で到達できれば十分です。**&#x30C7;フォルトでは `http://localhost:8080` が使用されます。 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeper-connection-manager/jp/health-checks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
