8.2. 使用健康检查来识别问题
您可以执行健康检查来分析 Directory 服务器实例以了解潜在的问题,并获得推荐的解决方案。
8.2.1. 运行 Directory Server 健康检查 复制链接链接已复制到粘贴板!
使用 dsctl healthcheck 命令运行健康检查。
流程
要运行健康检查,请输入:
# 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 Changelog ... Checking NssSsl ... Healthcheck complete. 1 Issue found! Generating report ...要以 JSON 格式显示输出,请将--
json参数传递给命令:# dsctl --json <instance_name> healthcheck健康检查可能的报告
[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 格式的健康检查的可能报告
[ { "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" } ]
8.2.2. 健康检查概述 复制链接链接已复制到粘贴板!
dsctl healthcheck 命令执行以下检查:
| 组件 | 重要性 | 结果代码 | 描述 |
|---|---|---|---|
| 后端 | Medium | DSBLE0006 | Berkeley 数据库(BDB)仍用作后端。BDB 已被弃用,不应用作后端。 |
| 后端 | 低 | DSBLE0005 | 后端配置属性不匹配。找到不适用于配置的后端类型的配置属性。 |
| 后端 | 低 | DSBLE0003 | 数据库没有初始化。数据库已创建,但为空。 |
| 后端 | Medium | DSBLE0001 | 配置中缺少后端的映射树条目。 |
| Config | 低 | DSCLE0001 | 禁用高分辨率时间戳。 |
| Config | 高 | DSVIRTLE0001 | 一个虚拟属性被错误地索引。由角色或服务(CoS)定义使用的索引属性可能会破坏搜索结果。 |
| 操作系统 | Medium | DSPERMLE0001 |
在 |
| 操作系统 | 高 | DSDSLE0001 | 磁盘空间低。 |
| 操作系统 | 高 | DSPERMLE0002 |
在 |
| 插件 | 低 | DSRILE0001 | 为 Referential Integrity 插件设置了更新延迟。这可能导致复制问题。 |
| 插件 | 高 | DSRILE0002 | Referential Integrity 插件丢失索引。如果没有索引,插件会为每个删除操作查询某些属性。这可能导致硬探测到未索引的搜索和高 CPU 使用量。 |
| 复制 | 低 | DSREPLLE0002 | 数据库中存在冲突条目。 |
| 复制 | 低 | DSSKEWLE0001 | 复制时间偏移大于 6 小时,小于 12 小时。 |
| 复制 | Medium | DSCLLE0001 | 禁用 changelog 修剪。在这种情况下,更改日志会无限增长。 |
| 复制 | Medium | DSREPLLE0004 | 健康检查无法检索复制状态。 |
| 复制 | Medium | DSREPLLE0003 | 拓扑没有同步,但复制正在工作。 |
| 复制 | Medium | DSREPLLE0005 | 远程副本无法访问。 |
| 复制 | Medium | DSSKEWLE0002 | 复制时间偏移大于 12 小时,小于 24 小时。 |
| 复制 | 高 | DSREPLLE0001 | 拓扑没有同步,复制无法正常工作。 |
| 复制 | 高 | DSSKEWLE0003 | 复制时间偏移大于 24 小时。复制会话可能会破坏。 |
| 安全性 | Medium | DSELE0001 | 最小 TLS 版本被设置为小于 TLS 1.2 的值。 |
| 安全性 | 高 | DSCLE0002 | 密码存储方案较弱。 |
| Server | 高 | DSBLE0002 | 健康检查无法查询后端。 |
| 透明大内存页(THP) | Medium | DSTHPLE0001 | THP 被启用,并可能会影响 Directory Server 性能。 |
| TLS 证书 | Medium | DSCERTLE0001 | 服务器证书在接下来 30 天内过期。 |
| TLS 证书 | 高 | DSCERTLE0002 | 服务器证书已过期。 |
| 索引 | 低 | DSMOLE0002 | 如果为 membership 属性配置了子字符串索引。从大型组中删除成员可能会很慢。 |