open-falcon架构详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了open-falcon架构详解相关的知识,希望对你有一定的参考价值。

一、介绍
小米开源的监控工具,基于go语言实现
二、架构图
技术图片

1.falcon-agent:
数据采集组件,内置http接口,采集定义好的数据上报给transfer
2.transfer
agent与transfer建立长链接,将数据汇报给transfer,transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来,transfer将数据传递给judge,和graph
3.graph
graph组件存储绘图数据,历史数据.transfer会将接收的数据传给graph,监听端口为6071
4.query
绘图数据的查询接口,因为graph分片存储,如果要传输给dashboard,需要query搜集数据并聚合在展示给用户
5.dashboard
dashboard是面向用户的查询界面,在这里,用户可以看到push到graph中的所有数据,并查看其趋势图
6.judge
Judge要做告警判断,需要先从portal数据库中读取报警策略,但是Judge实例比较多,都去读取数据库会造成很大压力,所以可以让heartbeat成为db cache缓存,heartbeat从数据库中读取数据缓存到内存,Judge调用heartbeat的rpc接口,获取报警策略,告警事件存入redis
7.alarm
处理judge存入redis的告警事件
8.sender
调用各个公司提供的mail-privider和sms-privider,按照某个并发度,从redis读取邮件,短信并发送,alarm生成的报警短信和报警邮件是直接写入redis即可,由sender来发送
9.portal
配置报警策略写入数据库
10.hbs
心跳服务器,falcon-agent每分钟都会发送心跳给heartbeat server,上报自己的版本、hostname、ip等。从heartbeat拉取要执行的插件和特殊采集项等。这些信息需要heartbeat访问 Portal的数据库要获取。Judge要做告警判断,需要先从portal数据库中读取报警策略,但是Judge实例比较多,都去读取数据库会造成很大压力,所以可以让heartbeat成为db cache缓存,heartbeat从数据库中读取数据缓存到内存,Judge调用heartbeat的rpc接口,获取报警策略

以上是关于open-falcon架构详解的主要内容,如果未能解决你的问题,请参考以下文章

运维架构服务监控Open-Falcon

运维架构服务监控Open-Falcon

运维监控系统之Open-Falcon

open-falcon简介

open-falcon监控windows机器

Open-Falcon install script(Open-Falcon监控一键安装脚本)