更新时间:2024-09-04 GMT+08:00

ALM-25005 Nscd服务异常

告警解释

系统每60秒周期性检测nscd服务的状态,如果连续4次(3分钟)查询不到nscd进程或者无法获取LdapServer中的用户时,产生该告警。

当进程恢复且可以获取LdapServer中的用户时,告警恢复。

告警属性

告警ID

告警级别

是否自动清除

25005

重要

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

主机名

产生告警的主机节点信息。

对系统的影响

nscd服务不可用时,可能会影响该节点从LdapServer上同步数据,此时,使用id命令可能会获取不到Ldap中的数据,影响上层业务。

可能原因

  • nscd服务未启动。
  • 网络故障,无法访问Ldap服务器。
  • Name Service服务异常。
  • OS执行命令慢导致无法查询用户。

处理步骤

检查nscd服务是否启动。

  1. 在FusionInsight Manager界面,选择“运维 > 告警 > 告警”。记录该告警定位信息中的“主机名”的IP地址为IP1(若出现多个告警,则分别记录其中的IP地址为IP1、IP2、IP3等)。
  2. 联系运维人员,以root用户登录IP1节点,在该节点上执行ps -ef | grep nscd命令,查看是否有/usr/sbin/nscd进程启动。

    • 是,执行5
    • 否,执行3

  3. root用户执行service nscd restart命令,重启nscd服务,执行ps -ef | grep nscd命令,查看服务是否启动。

    • 是,执行4
    • 否,执行15

  4. 5分钟后,以root用户再次执行命令,查看服务是否存在。

    • 是,执行11
    • 否,执行15

检查网络是否故障,无法访问ldap服务器。

  1. root用户登录故障节点,在这个节点上使用ping命令检查该节点与LdapServer节点的网络是否畅通。

    • 是,执行6
    • 否,请联系网络管理员,解决网络故障。

检查Name Service服务是否异常。

  1. 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
    • 否,执行9

  2. 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 600”、“enable-cache group yes”、“positive-time-to-live group 3600”。

    • 是,执行8
    • 否,执行10

  3. root用户执行/usr/sbin/nscd -i group/usr/sbin/nscd -i passwd命令,等待2分钟,继续执行id adminid backup/manager命令,查看是否能查询到结果。

    • 是,执行11
    • 否,执行15

  4. root用户执行vi /etc/nsswitch.conf命令,将6中的五项配置项改成正确配置,保存后执行service nscd restart命令重启nscd服务,等待2分钟,执行id adminid backup/manager命令,查看是否能查询到结果。

    • 是,执行11
    • 否,执行15

  5. root用户执行vi /etc/nscd.conf命令,将7中的四项配置项改成正确配置,保存后执行service nscd restart命令重启nscd服务,等待2分钟,执行id adminid backup/manager命令,查看是否能查询到结果。

    • 是,执行11
    • 否,执行15

  6. 登录FusionInsight Manager界面,等待5分钟,然后查看“Nscd服务异常”告警是否恢复。

    • 是,处理完毕。
    • 否,执行12

检查操作系统执行命令是否卡顿。

  1. root用户登录故障节点,执行命令id admin,观察命令返回结果时长,观察执行命令是否缓慢(超过3s即可认为执行命令慢)。

    • 是,执行13
    • 否,执行15

  2. 执行命令cat /var/log/messages,查看nscd是否频繁重启或者存在Can't contact LDAP server的异常信息。

    nscd异常信息样例:

    Feb 11 11:44:42 10-120-205-33 nscd: nss_ldap: failed to bind to LDAP server ldaps://10.120.205.55:21780: Can't contact LDAP server
    Feb 11 11:44:43 10-120-205-33 ntpq: nss_ldap: failed to bind to LDAP server ldaps://10.120.205.55:21780: Can't contact LDAP server
    Feb 11 11:44:44 10-120-205-33 ntpq: nss_ldap: failed to bind to LDAP server ldaps://10.120.205.92:21780: Can't contact LDAP server
    • 是,执行14
    • 否,执行15

  3. 执行命令vi $BIGDATA_HOME/tmp/random_ldap_ip_order,修改末尾数字,若原来为奇数则改为偶数,若原来为偶数则修改为奇数;

    执行命令vi /etc/ldap.conf进入编辑模式,按“Insert”键开始编辑,然后将URI配置项的前两个IP进行调换。

    修改完成后按“Esc”键退出编辑模式,并输入:wq保存退出。

    执行命令service nscd restart,重启nscd服务,等待5分钟,再次执行id admin命令,观察返回结果时长,观察执行命令是否缓慢。

    • 是,执行15
    • 否,登录其他故障节点执行1214;排查“/etc/ldap.conf”修改前URI中第一个LdapServer节点,是否故障,例如业务IP不可达、网络延时过长或者部署其他异常的软件。

收集故障信息。

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选待操作集群的“LdapClient”。
  3. 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后1小时,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

无。