第19章 ヘルスチェック機能を使用した問題の特定
この dsctl healthcheck コマンドは、潜在的な問題について Directory Server インスタンスを分析し、解決するためのソリューションを推奨します。
以下の表は、ヘルスチェック機能の実行チェックを示しています。
コンポーネント | 重大度 | 結果コード | 説明 |
---|---|---|---|
バックエンド | 低 | 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" } ]