更新时间:2026-09-07 GMT+08:00
分享

ALM-24001 Flume Agent异常

告警解释

Flume Agent监控模块对Flume Agent状态进行监控,当Flume Agent进程故障(每5秒检测一次)或Flume Agent启动失败时(即时上报告警),系统产生此告警。

当检测到Flume Agent进程故障恢复,Flume Agent启动成功,且告警处理完成时,告警恢复。

告警属性

告警ID

告警级别

是否自动清除

24001

重要

是

告警参数

参数名称

参数含义

来源

产生告警的集群名称。

服务名

产生告警的服务名称。

AgentId

产生告警的Agent ID。

角色名

产生告警的角色名称。

主机名

产生告警的主机名。

对系统的影响

产生告警的Flume Agent实例无法正常启动,定义在该实例下的数据传输任务暂时中断,对于实时数据传输,会丢失实时数据。

可能原因

  • JAVA_HOME目录不存在或JAVA权限异常。
  • Flume Agent目录权限异常。
  • Flume Agent启动失败。

处理步骤

检查JAVA_HOME目录是否存在或JAVA权限是否正确

  1. 以root用户登录故障节点IP所在主机,用户密码为安装前用户自定义,请咨询系统管理员。
  2. 执行以下命令获取发生告警的Flume客户端安装目录。(AgentId可以在告警的“定位信息”中获取)

    ps -ef|grep AgentId | grep -v grep | awk -F 'conf-file ' '{print $2}' | awk -F 'fusioninsight' '{print $1}'

  3. 使用“su - Flume安装用户”命令切换到Flume安装用户,执行cd Flume客户端安装目录/fusioninsight-flume-1.9.0/conf/命令,进入Flume的配置目录。
  4. 执行cat ENV_VARS | grep JAVA_HOME命令。
  5. 检查JAVA_HOME目录是否存在,若步骤步骤 4执行结果返回不为空,且ll $JAVA_HOME/不为空,则JAVA_HOME目录存在。

  6. 指定正确的JAVA_HOME目录,如export JAVA_HOME=${BIGDATA_HOME}/common/runtime0/jdk版本号。
  7. 执行$JAVA_HOME/bin/java -version命令检查Flume Agent运行用户是否有JAVA可执行权限,若可以查到java版本,这说明JAVA权限满足,否则不满足。

    • 是,执行步骤 9。
    • 否,执行步骤 8。

      JAVA_HOME为安装Flume客户端时export导出的环境变量,也可以进入到Flume客户端安装目录/fusioninsight-flume-1.9.0/conf目录下,执行cat ENV_VARS | grep JAVA_HOME命令来查看变量的值。

  8. 执行chmod 750 $JAVA_HOME/bin/java命令赋予Flume Agent运行用户JAVA可执行权限。

检查Flume Agent的目录权限。

  1. 以root用户登录故障节点IP所在主机。
  2. 执行以下命令,进入Flume Agent的安装目录。

    cd Flume客户端安装目录/fusioninsight-flume-1.9.0/conf/

  3. 执行ls -al * -R命令,检查所有文件的所有者是否均是Flume Agent运行用户。

    • 是,执行步骤 12。
    • 否,使用chown命令修改文件所有者为Flume Agent运行用户。

检查Flume Agent配置。

  1. 执行cat properties.properties | grep spooldir以及cat properties.properties | grep TAILDIR命令,确认Flume Source是否是spooldir类型或TAILDIR类型,若任意一个命令有返回值,则为spooldir类型或TAILDIR类型。

  2. 查看数据监控目录是否存在。

    • 是,执行步骤 15。
    • 否,执行步骤 14。

      查看spooldir监控目录,执行命令:cat properties.properties | grep spoolDir

      查看TAILDIR监控目录,执行命令:cat properties.properties | grep parentDir

  3. 指定服务器上用户自定义已经存在的数据监控目录。
  4. 查看Flume Agent运行用户对步骤步骤 13所指定的监控目录是否有可读可写可执行权限。

    • 是,执行步骤 17。
    • 否,执行步骤 16。

      使用Flume运行用户进入监控目录,若可以创建文件,这说明Flume运行用户是否对该监控目录具有可读可写可执行权限。

  5. 执行“chmod 777 Flume监控目录”命令赋予Flume Agent运行用户对步骤步骤 13监控目录的可读可写可执行权限。
  6. 确认Flume Sink对接组件是否处于安全模式。

    • 是,执行步骤 18。
    • 否,执行步骤 23。

      若用户业务配置文件properties.properties的sink为hdfs sink、hbase sink,当配置文件中包含有keytab时,则Flume Sink对接组件处于安全模式。

      若用户业务配置文件properties.properties的sink为kafka sink,当配置参数*.security.protocol的值为SASL_PLAINTEXT或为SASL_SSL时,则Flume Sink对接的Kafka处于安全模式。

  7. 使用“ll keytab路径命令”查看配置文件“*.kerberosKeytab”参数所指的keytab认证路径是否存在。

    • 是,执行步骤 20。
    • 否,执行步骤 19。

      keytab路径查看方式:cat properties.properties | grep keytab

  8. 将步骤步骤 18中kerberosKeytab参数的值指定为用户自定的keytab路径,执行步骤 21。
  9. 执行步骤步骤 18查看Flume Agent运行用户是否有访问keytab认证文件的权限,若返回为keytab路径,则表示有权限,否则无权限。

  10. 执行“chmod 755 keytab文件”赋予步骤步骤 19中所指定的keytab文件的可读权限, 并重启Flume进程。
  11. 查看告警列表中该告警是否已清除。

    • 是,处理完毕。
    • 否,执行步骤 23。

收集故障信息。

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

告警清除

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

参考信息

无。

相关文档