Open-Falcon 之自定义 Flume 监控

本文档介绍了在Linux环境下,利用Python和Flume的Http接口进行监控的实现方法,包括系统需求、逻辑原理、监控告警设置以及监控指标采集脚本的详细步骤。监控指标主要包括SOURCE、CHANNEL和SINK的各个关键数据,用户需根据实际需求调整监控项的触发条件。
摘要由CSDN通过智能技术生成

目录

一、系统需求

二、逻辑原理

三、汇报字段

四、监控告警设置

五、Flume 监控指标采集脚本


一、系统需求

  • 操作系统:Linux
  • Python ≥ 2.6
  • python-requests

二、逻辑原理

通过 Flume 进程运行时暴露的 Http 接口获取 Flume 组件信息,通过 Python 解析组件信息,将得到的 json 数据格式的结果输出到标准输出。

启动 flume agent 时添加java环境变量:-Dflume.monitoring.type=http -Dflume.monitoring.port=10520,端口可以自己指定。

举个例子,编辑(Flume NG 之线上实际应用方案) supervise 的 run 文件:

#!/bin/bash
flume-ng agent --conf ${FLUME_HOME}/conf -Dflume.monitoring.type=http -Dflume.monitoring.port=10520 --conf-file /home/flume/flumeng/conf/flume-higo_nginx-hdfs.conf --name higo_nginx

将脚本(60_flume-monitor.py)放置到 falcon-agent 的 plugin/Base_Flume_plugin 目录,在 portal 上将 plugin 目录绑定到相应的 host group,falcon-agent 通过自身的调度器执行该脚本,由 falcon-agent 解析脚本的标准输出,将得到监控项推送到 falcon-judge 进行报警阀值判断判断。

三、汇报字段

Flume metrics页面内的数据分为三部分:

  1. SOURCE:Flume 的数据源组件,所有收集日志的第一个到达的地方;

  2. CHANNEL:Flume 的通道组件,对数据具有缓存的作用;

  3. SINK:数据离开 Flume 前的最后一个组件,负责从 channel 中取走数据,然后发送到缓存系统或者持久化数据库。

除去 StartTime、StopTime、Type 以及 ChannelCapacity(通道容量)之外,所有数据均汇报,上报的数据 metric 会添加对应名称(配置文件中的 source、channel、sink 的名称)前缀,并且在 tag 中上传 Flume 进程的监听端口号:

参考资料(flume官网):http://flume.apache.org/FlumeUserGuide.html#json-reporting

监控集群架构Flume NG 之线上实际应用方案

配置 名称(前缀) metric tag type note





SOURCE
 

Agent00、Agent01:

  • vlog_exec_source
  • waplog_exec_source
  • mainlog_exec_source
  • utmlog_exec_source
  • glklog_exec_source
  • othe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值