open-falcon详解

先扔出一张官方的架构图,
agent是用于采集机器的监控指标,然后每60秒就会push给transfer,agent与transfer是建立了长连接的,传输速度会比较快;
transfer接受到数据后,会按照哈希规则对数据进行处理分片,并把hash后的数据push给Judge和Graph;
Judge接受到hash数据后,就会根据设置的策略判断是否触发告警,如果触发告警就会把数据写入redis中;
Alarm会从redis中读取报警事件,然后通过各种媒介发送出;(redis的存活关乎着告警是否能够发出)
Graph接收到数据,会响应api中的查询请求,返回给绘图数据;
API会针对用户请求,到Graph中拿取数据组合后一起返回到Dashboard;
Dashboard服务的前端,可以查询图形化数据;也可以设置监控策略、报警策略等;与后端交互,可以将策略写入数据库;
HBS心跳机制,所有的agent都会连接到HBS,每分钟发一次心跳请求,Portal的数据库中有一个host表,记录了机器的信息,可以从CMDB中同步公司机器的信息,但小公司一般没有CMDB;所以HBS就赋予了一个搜集功能,agent发送心跳信息给HBS的时候,会把hostname、ip、agent version、plugin version等信息告诉HBS,HBS负责更新host表;第二个功能就是下发监控策略,端口监控和进程数监控,默认不会监控任何端口,只采集用户配置的端口,agent会向HBS索取这些用户配置,而HBS会在protal的数据库中读取;HBS还有一个功能就是,反正HBS会去数据库中读取端口策略,就让它把报警策略从数据库中缓存到内存,这样Judge只需向HBS请求,缓解数据库的压力。
open-falcon详解的更多相关文章
- MySQL详解--锁,事务
http://www.cnblogs.com/jukan/p/5670950.html http://blog.csdn.net/xifeijian/article/details/20313977 ...
- Mysql加锁过程详解(6)-数据库隔离级别(2)-通过例子理解事务的4种隔离级别
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- MySQL详解--锁,事务(转)
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...
- MVCC详解
参考: https://blog.csdn.net/SnailMann/article/details/94724197 https://blog.csdn.net/DILIGENT203/artic ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
随机推荐
- 同事写得Python对页面压测脚本
#!/usr/bin/env python # *-* coding:utf-8 *-* import threading import requests import time # headers ...
- 配置nginx反向代理服务器,解决浏览器跨域调用接口的限制问题
配置nginx反向代理服务器,解决浏览器跨域调用接口的限制问题 - 大venn的博客 - CSDN博客https://blog.csdn.net/u011135260/article/details/ ...
- 理解根目录,classpath, getClass().getResourceAsStream和getClass().getClassLoader().getResourceAsStream的区别
一: 理解根目录 <value>classpath*:/application.properties</value> <value>classpath:/appli ...
- sqlyog Can't connect to MySQL server on localhost (0)
https://blog.csdn.net/l1336037686/article/details/78940223
- jenkins了解一下,讲一下jenkins这个鬼东西
一.jenkins是干什么的? jenkins是一个免费的集成工具,它是基于java开发的.用来做自动化部署,傻瓜化操作. 一般的项目部署流程: 开发代码——>功能测试——>打包(使用ma ...
- linux的一些基本命令
一.linux的一些基本命令(使用的是CentOS7系统): 1.创建用户组,创建新用户并添加到用户组 添加用户,添加用户组命令: 增加用户:useradd -d /usr/username -m u ...
- select2 简单解析
<select name="supplierId" class="customsBrokerSel select2 absOpacity select2-hidde ...
- python爬虫之线程池和进程池
一.需求 最近准备爬取某电商网站的数据,先不考虑代理.分布式,先说效率问题(当然你要是请求的太快就会被封掉,亲测,400个请求过去,服务器直接拒绝连接,心碎),步入正题.一般情况下小白的我们第一个想到 ...
- NIO和经典IO
NIO未必更快,在Linux上使用Java6完成的测试中,多线程经典I/O设计胜出NIO30%左右 异步I/O强于经典I/O:服务器需要支持超大量的长期连接,比如10000个连接以上,不过各个客户端并 ...
- RocketMQ消息队列安装
一.官方安装文档 http://rocketmq.apache.org/docs/quick-start/ 下载地址 https://github.com/apache/rocketmq/releas ...