更新时间:2024-10-24 GMT+08:00

ALM-12012 NTP服务异常

告警解释

系统每60s检查一次节点NTP服务与主OMS节点NTP服务是否正常同步时间,连续两次检测NTP服务未同步上时产生该告警。

若正常同步,当节点NTP服务与主OMS节点NTP服务时间偏差连续两次大于等于20s时产生该告警;当节点NTP服务与主OMS节点NTP服务时间偏差小于20s时恢复该告警。

告警属性

告警ID

告警级别

是否自动清除

12012

重要

告警参数

参数名称

参数含义

来源

产生告警的集群或系统名称。

服务名

产生告警的服务名称。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

对系统的影响

该节点的时间与集群其他节点的时间不同步,可能会导致该节点上的某些FusionInsight应用无法正常运行。如果该节点与其他kerberos服务实例时差持续增大,则可能引起该节点组件进行kerberos认证将失败,进而引起业务异常。

可能原因

  • 该节点的NTP服务无法正常启动。
  • 该节点与主OMS节点NTP服务不能正常同步时间。
  • 该节点NTP认证的key值与主OMS节点NTP服务的key值不一致。
  • 该节点与主OMS节点NTP服务时间偏差太大。

处理步骤

检查该节点的NTP服务模式。

  1. root用户登录主管理节点,执行su - omm切换到omm用户,执行以下命令查看主备节点的资源状态。

    sh ${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh

    • 回显中“ResName”列出现“chrony”字样,执行2
    • 回显中“ResName”列出现“ntp”字样,执行20

    如果回显中“ResName”列同时出现“chrony”和“ntp”字样,则表示正在切换NTP服务模式,等待十分钟再次执行1,如果回显中“ResName”列依旧同时出现“chrony”和“ntp”字样,请联系运维人员。

检查该节点的chrony服务是否正常启动。

  1. 打开FusionInsight Manager页面,选择“运维 > 告警 > 告警”,单击此告警所在行的,在定位信息中查看发生该告警的主机名称。
  2. 检查chronyd进程是否运行在告警节点上。使用root用户登录告警节点,执行命令:ps -ef | grep chronyd | grep -v grep,检查命令是否输出chronyd进程的信息。

    • 是,执行6
    • 否,执行4

  3. 启动NTP服务。
  4. 10分钟后,检查该告警是否恢复。

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

检查该节点与主OMS节点chrony服务是否正常同步时间。

  1. 查看NTP告警的“附加信息”是否描述“与主OMS节点NTP服务无法同步时间”。

    • 是,执行7
    • 否,执行17

  2. 排查与主OMS节点chrony服务的同步是否有问题。

    使用root用户登录告警节点,执行chronyc sources命令。

    如果显示结果的主OMS节点chrony服务IP地址前有“*”号,表示同步正常,如下:

    MS Name/IP address         Stratum Poll Reach LastRx Last sample               
    ===============================================================================
    ^* 10.10.10.162             10  10   377   626    +16us[  +15us] +/-  308us

    如果显示结果的主OMS节点NTP服务IP前无“*”号,且“Reach”项内容为“0”,表示同步不正常。

    MS Name/IP address         Stratum Poll Reach LastRx Last sample               
    ===============================================================================
    ^? 10.1.1.1                      0  10     0     -     +0ns[   +0ns] +/-    0ns
    • 是,执行8
    • 否,执行38

  3. chrony不能正常同步,通常与系统防火墙有关。如果能关闭防火墙,建议尝试关闭防火墙;如果不能关闭防火墙,请检查防火墙配置策略,确保UDP 123、323端口未禁用(具体遵循各系统下防火墙配置策略)。
  4. 处理防火墙后等待10分钟,检查该告警是否恢复。

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

  5. 使用root用户登录主OMS节点,执行下列命令,查看key值索引号为“1M”的认证码。

    Red Hat系统执行:cat ${BIGDATA_HOME}/om-server/OMS/workspace/conf/chrony.keys

  6. 执行下列命令,查看key值是否与10的查询值相同。

    Red Hat系统执行:diff ${BIGDATA_HOME}/om-server/OMS/workspace/conf/chrony.keys /etc/chrony.keys

    key值相同时,执行命令后不会返回任何结果,例如:

    host01:~ # cat ${BIGDATA_HOME}/om-server/OMS/workspace/conf/chrony.keys       
    1 M sdYbq;o^CzEAWo<U=Tw5
    host01:~ # diff ${BIGDATA_HOME}/om-server/OMS/workspace/conf/chrony.keys /etc/chrony.keys
    host01:~ #
    • 是,执行12
    • 否,执行38

  7. 执行cat ${BIGDATA_HOME}/om-server/om/packaged-distributables/ntpKeyFile,查看key值是否与10的查询值相同。(请与10查询值的认证密钥索引为“1M”的key值进行对比)。

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

  8. 使用root用户登录故障节点,Red Hat系统执行cat /etc/chrony.keys,查看key值是否与12的查询值相同(请使用查询出的认证密钥索引为“1M”的key值进行对比)。

    • 是,执行38
    • 否,执行14

  9. 执行命令su - omm,将用户切换为omm用户,并手动将${NODE_AGENT_HOME}/chrony.keys中认证密钥索引字段为“1M”的key值修改为12中ntpKeyFile的key值,执行16
  10. 使用root用户或omm用户执行以下命令,修改主OMS节点ntp的key值(Red Hat系统请将ntp.keys改为ntpkeys)。

    cd ${BIGDATA_HOME}/om-server/OMS/workspace/conf

    sed -i "`cat chrony.keys | grep -n '1 M'|awk -F ':' '{print $1}'`d" chrony.keys

    echo "1 M `cat ${BIGDATA_HOME}/om-server/om/packaged-distributables/ntpKeyFile`" >> chrony.keys

    查看“chrony.keys”中认证密钥索引字段为1M的key值是否和ntpKeyFile的值相同

    • 是,执行16
    • 否,请尝试手动将chrony.keys中认证密钥索引字段为“1M”的key值修改为ntpKeyFile的key值,执行16

  11. 5分钟后,执行命令systemctl restart chronyd,重启主OMS节点chrony服务,15分钟后查看告警是否消除。

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

检查该节点与主OMS节点chrony服务时间偏差是否太大。

  1. NTP告警的“附加信息”是否描述“时间偏差太大”。

    • 是,执行18
    • 否,执行38

  2. 在“主机”页面,勾选告警节点的主机,选择“更多 > 停止所有实例”停止告警节点的所有服务。

    如果告警节点时间比主OMS节点chrony服务时间慢,校正告警节点的系统时间。校正告警节点的系统时间后,选择“更多 > 启动所有实例”启动告警节点的服务。

    如果告警节点时间比主OMS节点chrony服务时间快,等待相应时间差,校正告警节点的系统时间。校正完成后,选择“更多 > 启动所有实例”启动告警节点的服务。

    如果不做相应等待,可能造成数据丢失风险。

  3. 10分钟后,检查该告警是否恢复。

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

检查该节点的NTP服务是否正常启动。

  1. 打开FusionInsight Manager页面,选择“运维 > 告警 > 告警”,单击此告警所在行的,在定位信息中查看发生该告警的主机名称。
  2. 检查ntpd进程是否运行在告警节点上。使用root用户登录告警节点,执行命令:ps -ef | grep ntpd | grep -v grep,检查命令是否输出ntpd进程的信息。

    • 是,执行24
    • 否,执行22

  3. 执行service ntp start(Red Hat系统执行service ntpd start)启动NTP服务。
  4. 10分钟后,检查该告警是否恢复。

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

检查该节点与主OMS节点NTP服务是否正常同步时间。

  1. 查看NTP告警的“附加信息”是否描述“与主OMS节点NTP服务无法同步时间”

    • 是,执行25
    • 否,执行35

  2. 排查与主OMS节点NTP服务的同步是否有问题。

    使用root用户登录告警节点,执行ntpq -np命令。

    如果显示结果的主OMS节点NTP服务IP地址前有“*”号,表示同步正常,如下:

    remote refid st t when poll reach delay offset jitter 
    ============================================================================== 
    *10.10.10.162 .LOCL. 1 u 1 16 377 0.270 -1.562 0.014

    如果显示结果的主OMS节点NTP服务IP前无“*”号,且“refid”项内容为“.INIT.”,表示同步不正常。

    remote refid st t when poll reach delay offset jitter 
    ============================================================================== 
    10.10.10.162 .INIT. 1 u 1 16 377 0.270 -1.562 0.014
    • 是,执行26
    • 否,执行38

  3. NTP不能正常同步,通常与系统防火墙有关。如果能关闭防火墙,建议使用命令iptables -F尝试关闭防火墙;如果不能关闭防火墙,请使用命令iptables -L检查防火墙配置策略,确保UDP 123端口未禁用(具体遵循各系统下防火墙配置策略)。
  4. 处理防火墙后等待10分钟,检查该告警是否恢复。

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

  1. 使用root用户登录主OMS节点,执行下列命令,查看key值索引号为“1M”的认证码。

    SUSE系统执行:cat ${BIGDATA_HOME}/om-server/OMS/workspace/conf/ntp.keys

    Red Hat/Euler系统执行:cat ${BIGDATA_HOME}/om-server/OMS/workspace/conf/ntpkeys

  2. 执行下列命令,查看key值是否与28的查询值相同。

    SUSE系统执行:diff ${BIGDATA_HOME}/om-server/OMS/workspace/conf/ntp.keys /etc/ntp.keys

    Red Hat/Euler系统执行:diff ${BIGDATA_HOME}/om-server/OMS/workspace/conf/ntpkeys /etc/ntp/ntpkeys

    key值相同时,执行命令后不会返回任何结果,例如:

    host01:~ # cat ${BIGDATA_HOME}/om-server/OMS/workspace/conf/ntp.keys       
    1 M sdYbq;o^CzEAWo<U=Tw5
    host01:~ # diff ${BIGDATA_HOME}/om-server/OMS/workspace/conf/ntp.keys /etc/ntp.keys
    host01:~ #
    • 是,执行30
    • 否,执行38

  3. 执行cat ${BIGDATA_HOME}/om-server/om/packaged-distributables/ntpKeyFile,查看key值是否与28的查询值相同。(请与28查询值的认证密钥索引为“1M”的key值进行对比)。

    • 是,执行31
    • 否,执行33

  4. 使用root用户登录故障节点,SUSE系统执行cat /etc/ntp.keys(Red Hat系统执行cat /etc/ntp/ntpkeys),查看key值是否与30的查询值相同(请使用查询出的认证密钥索引为“1M”的key值进行对比)。

    • 是,执行38
    • 否,执行32

  5. 执行命令su - omm,将用户切换为omm用户,并手动将${NODE_AGENT_HOME}/ntp.keys(Red Hat系统为${NODE_AGENT_HOME}/ntpkeys)中认证密钥索引字段为“1M”的key值修改为30中ntpKeyFile的key值,执行34
  6. 使用root用户或omm用户执行以下命令,修改主OMS节点ntp的key值(Red Hat系统请将ntp.keys改为ntpkeys)。

    cd ${BIGDATA_HOME}/om-server/OMS/workspace/conf

    sed -i "`cat ntp.keys | grep -n '1 M'|awk -F ':' '{print $1}'`d" ntp.keys

    echo "1 M `cat ${BIGDATA_HOME}/om-server/om/packaged-distributables/ntpKeyFile`" >>ntp.keys

    查看“ntp.keys”中认证密钥索引字段为1M的key值是否和ntpKeyFile的值相同

    • 是,执行34
    • 否,请尝试手动将ntp.keys中认证密钥索引字段为“1M”的key值修改为ntpKeyFile的key值,执行34

  7. 5分钟后,执行命令service ntp restart,重启主OMS节点ntp服务,15分钟后查看告警是否消除。

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

检查该节点与主OMS节点NTP服务时间偏差是否太大。

  1. NTP告警的“附加信息”是否描述“时间偏差太大”

    • 是,执行36
    • 否,执行38

  2. 在“主机”页面,勾选告警节点的主机,选择“更多 > 停止所有实例”停止告警节点的所有服务。

    如果告警节点时间比主OMS节点NTP服务时间慢,校正告警节点的系统时间。校正告警节点的系统时间后,选择“更多 > 启动所有实例”启动告警节点的服务。

    如果告警节点时间比主OMS节点NTP服务时间快,等待相应时间差,校正告警节点的系统时间。校正完成后,选择“更多 > 启动所有实例”启动告警节点的服务。

    如果不做相应等待,可能造成数据丢失风险。

  3. 10分钟后,检查该告警是否恢复。

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

收集故障信息。

  1. 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
  2. 在“服务”中勾选“NodeAgent”、“OmmServer”,单击“确定”。设置“主机”为告警所在节点和主OMS节点。
  3. 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后30分钟,单击“下载”。
  4. 请联系运维人员,并发送已收集的故障日志信息。

告警清除

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

参考信息

无。