告警解释
系统每60秒周期性检测nscd服务的状态,如果连续4次(3分钟)查询不到nscd进程或者无法获取ldapserver中的用户时,产生该告警。
当进程恢复且可以获取ldapserver中的用户时,告警恢复。
告警属性
告警ID | 告警级别 | 可自动清除 |
---|---|---|
25005 | 严重 | 是 |
告警参数
参数名称 | 参数含义 |
---|---|
ServiceName | 产生告警的服务名称。 |
HostName | 产生告警的主机节点信息。 |
对系统的影响
nscd服务不可用时,可能会影响该节点从LdapServer上同步数据,此时,使用id命令可能会获取不到ldap中的数据,影响上层业务。
可能原因
- nscd服务未启动。
- 网络故障,无法访问ldap服务器。
- Name Service服务异常。
- OS执行命令慢导致无法查询用户。
处理步骤
检查nscd服务是否启动。
-
在FusionInsight Manager界面,单击"告警管理"。记录该告警定位信息中的"HostName"的IP地址为IP1(若出现多个告警,则分别记录其中的IP地址为IP1、IP2、IP3等)。
-
联系运维人员,使用PuTTY工具登录IP1节点,在该节点上执行命令ps -ef | grep nscd ,查看是否有/usr/sbin/nscd进程启动。
- 是,执行[步骤 5](#步骤 5)。
- 否,执行[步骤 3](#步骤 3)。
-
以root 用户执行service nscd restart 命令,重启nscd服务,执行ps -ef | grep nscd ,查看服务是否启动。
- 是,执行[步骤 4](#步骤 4)。
- 否,执行[步骤 15](#步骤 15)。
-
5分钟后,以root 用户再次执行ps -ef | grep nscd 命令,查看服务是否存在。
- 是,执行[步骤 11](#步骤 11)。
- 否,执行[步骤 15](#步骤 15)。
检查网络是否故障,无法访问ldap服务器。
-
用root 用户登录故障节点,在这个节点上使用ping 命令检查该节点与LdapServer节点的网络是否畅通。
- 是,执行[步骤 6](#步骤 6)。
- 否,请联系网络管理员,解决网络故障。
检查Name Service服务是否异常。
-
用root 用户登录故障节点,执行命令cat /etc/nsswitch.conf ,查看NameService配置中的"passwd"、"group"、"services"、"netgroup"、"aliases"五项配置是否正确。
正确配置请参照: "passwd: compat ldap"、"group: compat ldap"、"services: files ldap"、"netgroup: files ldap"、"aliases: files ldap"
- 是,执行[步骤 7](#步骤 7)。
- 否,执行。[步骤 9](#步骤 9)
-
用root 用户登录故障节点,执行命令cat /etc/nscd.conf ,查看配置文件中"enable-cache passwd"、"positive-time-to-live passwd"、"enable-cache group"、"positive-time-to-live group"四项配置是否正确。
正确配置请参照: "enable-cache passwd yes "、"positive-time-to-live passwd yes"、"enable-cache group yes"、"positive-time-to-live group yes"
- 是,执行[步骤 8](#步骤 8)。
- 否,执行[步骤 10](#步骤 10)。
-
用root 用户执行**/usr/sbin/nscd -i group** 和**/usr/sbin/nscd -i passwd** 命令,等待2分钟,执行id admin 和id backup/manager 命令,查看是否能查询到结果。
- 是,执行[步骤 11](#步骤 11)。
- 否,执行[步骤 15](#步骤 15)。
-
以root用户执行vi /etc/nsswitch.conf 命令,将[步骤 6](#步骤 6)中的五项配置项改成正确配置,保存后执行service nscd restart 命令重启nscd服务,等待2分钟,执行id admin 和id backup/manager 命令,查看是否能查询到结果。
- 是,执行[步骤 11](#步骤 11)。
- 否,执行[步骤 15](#步骤 15)。
-
以root用户执行vi /etc/nscd.conf 命令,将[步骤 7](#步骤 7)中的四项配置项改成正确配置,保存后执行service nscd restart 命令重启nscd服务,等待2分钟,执行id admin 和id backup/manager 命令,查看是否能查询到结果。
- 是,执行。[步骤 11](#步骤 11)
- 否,执行[步骤 15](#步骤 15)。
-
登录FusionInsight Manager界面,等待5分钟,然后查看"ALM-25005 Nscd服务异常"告警是否恢复。
- 是,处理完毕。
- 否,执行[步骤 12](#步骤 12)。
检查操作系统执行命令是否卡顿。
-
用root用户登录故障节点,执行命令id admin ,观察命令返回结果时长,观察执行命令是否缓慢(超过3s即可认为执行命令慢)。
是,执行[步骤 13](#步骤 13)。
否,执行[步骤 15](#步骤 15)。
-
执行命令cat /var/log/messages ,查看nscd是否频繁重启或者存在Can't contact LDAP server的异常信息。
nscd异常信息样例
是,执行[步骤 14](#步骤 14)。
否,执行[步骤 15](#步骤 15)。
-
执行命令vi$BIGDATA_HOME/tmp/random_ldap_ip_order ,修改末尾数字,若原本为奇数则改为偶数,若原本为偶数则修改为奇数;
执行命令vi/etc/ldap.conf,将URI配置项的前两个IP进行颠倒,保存退出。
执行命令service nscd restart ,重启nscd服务,等待5分钟,再次执行id admin命令,观察返回结果时长,观察执行命令是否缓慢。
是,执行[步骤 15](#步骤 15)。
否,登录其他故障节点执行[步骤 12](#步骤 12)至[步骤 14](#步骤 14);收集日志,并排查"/etc/ldap.conf"修改前URI中第一个ldapserver节点,是否故障,
例如业务IP不可达、网络延时过长或者部署其他异常的软件。
收集故障信息。
- 在FusionInsight Manager界面,选择"系统设置 > 日志下载"。
- 在"服务"下拉框中勾选"LdapClient",单击"确定"。
- 设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后1小时,单击"下载"。