组件介绍
graph:
在数据每次存入的时候,自动采样、归档。归档策略如下,历史数据保存5年;按照平均值采样、最大值采样、最小值采样存三份。
agent:
每隔60秒push给Transfer
falcon-agent有一个很大的特点,就是自发现,不用配置它应该采集什么数据,就自动去采集了。 比如cpu、内存、磁盘、网卡流量等等都会自动采集。
若要自定义监控项目:向HBS(心跳检测那个组件)要,HBS去读取Portal的数据库,返回给agent。
Transfer
transfer是数据转发服务。它接收agent上报的数据,然后按照哈希规则进行数据分片、并将分片后的数据分别push(主动)给graph&judge等组件。
opentsdb:
集群做中间件,后面接的是hbase真正存数据(hbase大数据管),grafana可从optsdb拿数据,其他和官网图一样
nodata:
用于检测监控数据的上报异常,防止granfana上面没数据也不知道
web端的 模版Templates就是配置报警信息
api组件:
接收查询请求,根据一致性哈希算法去相应的graph实例查询不同metric的数据
API详解(写脚本要用的字段):
metric: 最核心的字段,代表这个采集项具体度量的是什么, 比如是cpu_idle呢,还是memory_free, 还是qps
endpoint: 标明Metric的主体(属主),比如metric是cpu_idle,那么Endpoint就表示这是哪台机器的cpu_idle
timestamp: 表示汇报该数据时的unix时间戳,注意是整数,代表的是秒
value: 代表该metric在当前时间点的值,float64
step: 表示该数据采集项的汇报周期,这对于后续的配置监控策略很重要,必须明确指定。
counterType: 只能是COUNTER或者GAUGE二选一,前者表示该数据采集项为计时器类型,后者表示其为原值 (注意大小写)
GAUGE:即用户上传什么样的值,就原封不动的存储
COUNTER:指标在存储和展现的时候,会被计算为speed,即(当前值 - 上次值)/ 时间间隔
tags: 一组逗号分割的键值对, 对metric进一步描述和细化, 可以是空字符串. 比如idc=lg,比如service=xbox等,多个tag之间用逗号分割
说明:这7个字段都是必须指定
open-faclon文档
https://www.zhihu.com/column/c_1223243618602958848
https://zhuanlan.zhihu.com/p/114235842
https://book.open-falcon.org/zh_0_2/distributed_install/hbs.html