第19章 ヘルスチェック機能を使用した問題の特定

この dsctl healthcheck コマンドは、潜在的な問題について Directory Server インスタンスを分析し、解決するためのソリューションを推奨します。
以下の表は、ヘルスチェック機能の実行チェックを示しています。

表19.1 チェックの概要

コンポーネント 重大度 結果コード 説明
バックエンド DSBLE0003 データベースは初期化されませんでした。データベースは作成されましたが、データベースが空です。
バックエンド DSBLE0001 バックエンドのマッピングツリーエントリーが設定にありません。
コンフィグ DSCLE0001 高解像度のタイムスタンプが無効になります。
コンフィグ DSVIRTLE0001 仮想属性が誤ってインデックス化されています。ロールまたは CoS (Class of Service) 定義で使用されるインデックス化された属性により、検索結果が破損する可能性があります。
オペレーティングシステム DSPERMLE0001 /etc/resolve.conf ファイルに設定されているパーミッションは、0644 とは異なります。
オペレーティングシステム DSDSLE0001 ディスク領域不足
オペレーティングシステム DSPERMLE0002 /etc/dirsrv/slapd-instance_name/pin.txt および /etc/dirsrv/slapd-instance_name/pwdfile.txt ファイルに設定された権限は、0400 とは異なります。
プラグイン DSRILE0001 更新の遅延は Referential Integrity プラグインに設定されます。これにより、レプリケーションの問題が発生する可能性があります。
プラグイン DSRILE0002 Referential Integrity プラグインにはインデックスがありません。プラグインは、インデックス化されていない場合にすべての削除操作に対して特定の属性をクエリーします。これにより、インデックスのない検索結果が検出されにくくなったり、CPU 使用率が高くなったりします。
レプリケーション DSREPLLE0002 競合エントリーがデータベースに存在します。
レプリケーション DSSKEWLE0001 レプリケーションタイムのずれが 6 時間より大きく、12 時間より小さくなっています。
レプリケーション DSCLLE0001 changelog のトリミングは無効になっています。この場合、changelog は制限なしで増加します。
レプリケーション DSREPLLE0004 ヘルスチェックは、レプリケーションのステータスを取得できませんでした。
レプリケーション DSREPLLE0003 トポロジーは同期されていませんが、レプリケーションは機能しています。
レプリケーション DSREPLLE0005 リモートレプリカには到達できません。
レプリケーション DSSKEWLE0002 レプリケーションタイムのずれが 12 時間より大きく、24 時間より小さくなっています。
レプリケーション DSREPLLE0001 トポロジーは同期されておらず、レプリケーションは機能しません。
レプリケーション DSSKEWLE0003 レプリケーションタイムのずれが 24 時間より大きい。レプリケーションセッションが破損する可能性がありました。
セキュリティー DSELE0001 最小の TLS バージョンは TLS 1.2 未満の値に設定されます。
セキュリティー DSCLE0002 弱いパスワードストレージスキームが設定されている。
サーバー DSBLE0002 ヘルスチェックは、バックエンドのクエリーに失敗しました。
TLS 証明書 DSCERTLE0001 サーバー証明書は次の 30 日以内に有効期限が切れます。
TLS 証明書 DSCERTLE0002 サーバー証明書の有効期限が切れている。

19.1. Directory Server ヘルスチェックの実行

ヘルスチェックを実行するには、以下を入力します。
# dsctl instance_name healthcheck
Beginning lint report, this could take a while ...
Checking Backends ...
Checking Config ...
Checking Encryption ...
Checking FSChecks ...
Checking ReferentialIntegrityPlugin ...
Checking MonitorDiskSpace ...
Checking Replica ...
Checking Changelog5 ...
Checking NssSsl ...
Healthcheck complete.
1 Issue found!  Generating report ...

例19.1 ヘルスチェックの予想されるレポート

以下は、ヘルスチェックレポートの例です。
[1] DS Lint Error: DSELE0001
--------------------------------------------------------------------------------
Severity: MEDIUM 
Affects:
 -- cn=encryption,cn=config

Details:
-----------
This Directory Server may not be using strong TLS protocol versions. TLS1.0 is known to
have a number of issues with the protocol. Please see:

https://tools.ietf.org/html/rfc7457

It is advised you set this value to the maximum possible.

Resolution:
-----------
There are two options for setting the TLS minimum version allowed.  You,
can set "sslVersionMin" in "cn=encryption,cn=config" to a version greater than "TLS1.0"
You can also use 'dsconf' to set this value.  Here is an example:

    # dsconf slapd-instance_name security set --tls-protocol-min=TLS1.2

You must restart the Directory Server for this change to take effect.

Or, you can set the system wide crypto policy to FUTURE which will use a higher TLS
minimum version, but doing this affects the entire system:

    # update-crypto-policies --set FUTURE


===== End Of Report (1 Issue found) =====
JSON 形式で出力を表示するには、--json パラメーターをコマンドに渡します。
# dsctl --json instance_name healthcheck

例19.2 JSON 形式のヘルスチェックの可能なレポート

以下は、JSON 形式のヘルスチェックレポートの例です。
[
    {
        "dsle": "DSELE0001",
        "severity": "MEDIUM",
        "items": [
            "cn=encryption,cn=config"
        ],
        "detail": "This Directory Server may not be using strong TLS protocol versions. TLS1.0 is known to\nhave a number of issues with the protocol. Please see:\n\nhttps://tools.ietf.org/html/rfc7457\n\nIt is advised you set this value to the maximum possible.",
        "fix": "There are two options for setting the TLS minimum version allowed.  You,\ncan set \"sslVersionMin\" in \"cn=encryption,cn=config\" to a version greater than \"TLS1.0\"\nYou can also use 'dsconf' to set this value.  Here is an example:\n\n    # dsconf slapd-instance_name security set --tls-protocol-min=TLS1.2\n\nYou must restart the Directory Server for this change to take effect.\n\nOr, you can set the system wide crypto policy to FUTURE which will use a higher TLS\nminimum version, but doing this affects the entire system:\n\n    # update-crypto-policies --set FUTURE"
    }
]