告警解释
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目录存在。
- 是,执行步骤7。
- 否,执行步骤6。
6.指定正确的JAVA_HOME目录。
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的目录权限
9.以root用户登录故障节点IP所在主机。
10.执行以下命令,进入Flume Agent的安装目录。
cd Flume 客户端安装目录/fusioninsight-flume-1.9.0/conf/
11.执行ls -al * -R命令,检查所有文件的所有者是否均是Flume Agent运行用户。
- 是,执行步骤12。
- 否,使用chown命令修改文件所有者为Flume Agent运行用户。
检查Flume Agent配置
12.执行cat properties.properties | grep spooldir以及cat properties.properties | grep TAILDIR命令,确认Flume Source是否是spooldir类型或TAILDIR类型,若任意一个命令有返回值,则为spooldir类型或TAILDIR类型。
- 是,执行步骤13。
- 否,执行步骤17。
13.查看数据监控目录是否存在。
- 是,执行步骤15。
- 否,执行步骤14。
说明查看spooldir监控目录,执行命令:cat properties.properties | grep spoolDir
查看TAILDIR监控目录,执行命令:cat properties.properties | grep parentDir
14.指定服务器上用户自定义已经存在的数据监控目录。
15.查看Flume Agent运行用户对步骤13所指定的监控目录是否有可读可写可执行权限。
- 是,执行步骤17。
- 否,执行步骤16。
说明使用Flume运行用户进入监控目录,若可以创建文件,这说明Flume运行用户是否对该监控目录具有可读可写可执行权限。
16.执行“chmod 777 Flume 监控目录 ”命令赋予Flume Agent运行用户对步骤13监控目录的可读可写可执行权限。
17.确认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处于安全模式。
18.使用“ll ketab 路径命令 ”查看配置文件“*.kerberosKeytab”参数所指的keytab认证路径是否存在。
- 是,执行步骤20。
- 否,执行步骤19。
说明ketab路径查看方式:cat properties.properties | grep keytab
19.将步骤18中kerberosKeytab参数的值指定为用户自定的keytab路径,执行步骤21。
20.执行步骤18查看Flume Agent运行用户是否有访问keytab认证文件的权限,若返回为keytab路径,则表示有权限,否则无权限。
- 是,执行步骤22。
- 否,执行步骤21。
21.执行“chmod 755 ketab 文件 ”赋予步骤19中所指定的keytab文件的可读权限, 并重启Flume进程。
22.查看告警列表中该告警是否已清除。
- 是,处理完毕。
- 否,执行步骤23。
收集故障信息
23.在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
24.在“服务”框中勾选待操作集群的“Flume”。
25.单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后1小时,单击“下载”。
26.请联系运维人员,并发送已收集的故障日志信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。