open falcon mysql参数_Open-falcon原理介绍
open-falcon是小米开源的监控工具。open-falcon有三种安装方式,一种是单机安装(分后端和前端安装,建议各一台服务器)、一种是Docker安装、最后一种是在多台机器上分布式安装。
重点:本案介绍第一种,单机安装(其实是分两台服务器,一台安装后端服务、一台是安装前端服务)。
分布式安装也很简单,就是把open-falcon二进制包git下来,每台服务器只留需要的模块文件夹和open-falcon执行脚本,然后更改模块文件夹下配置文件,最后启动即可。生成环境环境一般建议分布式部署,参考链接:https://book.open-falcon.org/zh_0_2/distributed_install/
open-falcon监控一般是用各种插件。
架构图:
open-falcon官网架构图
互联网上图
组件描述表:组件名称用途服务端口备注
Transfer数据接收端,转发数据到后端的Graph和Judgehttp: 6060
rpc: 8433
socket: 4444
Graph操作rrd文件存储监控数据http: 6071
rpc:6070
Query查询各个Graph数据,提供统一http查询接口http: 9966
Dashboard查询监控历史趋势图的webhttp: 8081需要python环境,需要连接数据库dashborad实例、graph组件
Task负载一些定时任务,索引全量更新、垃圾索引清理、自身组件监控等http: 8082需要连接数据库graph实例
Aggregator集群聚合模块http: 6055
Alarm告警http: 9912
ApiAPIhttp: 8080
GatewayGatewayhttp: 16060
Hbs心跳服务器6030
Judge告警判断http: 6081
rpc: 6080
Nodata告警异常处理http: 6090
Mysql数据库3306
Redis缓存服务器6379
工作原理:
Falcon-agent(客户端):
每台服务器,都有安装falcon-agent,falcon-agent是一个golang开发的daemon程序,用于自发现的采集单机的各种数据和指标,这些指标包括不限于以下几个方面,共计200多项指标。
CPU相关
磁盘相关
IO
Load
内存相关
网络相关
端口存活、进程存活
ntp offset(插件)
某个进程资源消耗(插件)
netstat、ss 等相关统计项采集
机器内核配置参数
只要安装了falcon-agent的机器,就会自动开始采集各项指标,主动上报,不需要用户在server做任何配置(这和zabbix有很大的不同),这样做的好处,就是用户维护方便,覆盖率高。当然这样做也会server端造成较大的压力,不过open-falcon的服务端组件单机性能足够高,同时都可以水平扩展,所以自动多采集足够多的数据,反而是一件好事情,对于SRE和DEV来讲,事后追查问题,不再是难题。
另外,falcon-agent提供了一个proxy-gateway,用户可以方便的通过http接口,push数据到本机的gateway,gateway会帮忙高效率的转发到server端。
Transfer(传输者):
falcon-agent将数据上报给transfer,它们之间建立的长链接。
transfer,接收客户端发送的数据,做一些数据规整,检查之后,转发到多个后端系统去处理。在转发到每个后端业务系统的时候,transfer会根据一致性hash算法,进行数据分片,来达到后端业务系统的水平扩展。
transfer 提供jsonRpc接口和telnet接口两种方式,transfer自身是无状态的,挂掉一台或者多台不会有任何影响,同时transfer性能很高,每分钟可以转发超过500万条数据。
transfer目前支持的业务后端,有三种,judge、graph、opentsdb。judge是我们开发的高性能告警判定组件,graph是我们开发的高性能数据存储、归档、查询组件,opentsdb是开源的时间序列数据存储服务。可以通过transfer的配置文件来开启。
transfer的数据来源,一般有三种:
falcon-agent采集的基础监控数据
falcon-agent执行用户自定义的插件返回的数据
client library:线上的业务系统,都嵌入使用了统一的perfcounter.jar,对于业务系统中每个RPC接口的qps、latency都会主动采集并上报
说明:上面这三种数据,都会先发送给本机的proxy-gateway,再由gateway转发给transfer。
Judge集群(告警判断):
falcon-agent将数据上报给transfer后,transfer转发给Judge集群,使用一致性hash做数据分片。一个实例只处理一部分数据。
Graph集群(数据存储、规定、查询接口):
falcon-agent将数据上报给transfer后,transfer转发给Graph集群,使用一致性hash做数据分片。一个实例只处理一部分数据。rrdtool的数据归档方式存储,同时提供RPC接口。
Alarm(告警):
Judge判断后,放到redis队列。alarm从redis队列读取报警事件做处理,该发短信发短信、该发邮件发邮件,该回调接口就回调。告警合并也在alarm里面做的,专门发送报警的sender模块,告警合并依赖的links模块。
Query:
因为Graph做过分片处理,query要采用和transfer一致的一致性hash数据分片。对外提供一个http接口。query是go写的后端模块。
Dashborad:
在dashborad里面查询监控数据,是python做的web。
Portal:
portal是python做的web,配置监控策略,然后写入数据库。
Heartbeat server:
心跳服务器,falcon-agent每分钟都会发送心跳给heartbeat server,上报自己的版本、hostname、ip等。从heartbeat拉取要执行的插件和特殊采集项等。这些信息需要heartbeat访问 Portal的数据库要获取。Judge要做告警判断,需要先从portal数据库中读取报警策略,但是Judge实例比较多,都去读取数据库会造成很大压力,所以可以让heartbeat成为db cache缓存,heartbeat从数据库中读取数据缓存到内存,Judge调用heartbeat的rpc接口,获取报警策略。
数据存储:
对于监控系统来讲,历史数据的存储和高效率查询,永远是个很难的问题!
数据量大:目前我们的监控系统,每个周期,大概有2000万次数据上报(上报周期为1分钟和5分钟两种,各占50%),一天24小时里,从来不会有业务低峰,不管是白天和黑夜,每个周期,总会有那么多的数据要更新。
写操作多:一般的业务系统,通常都是读多写少,可以方便的使用各种缓存技术,再者各类数据库,对于查询操作的处理效率远远高于写操作。而监控系统恰恰相反,写操作远远高于读。每个周期几千万次的更新操作,对于常用数据库(MySQL、postgresql、mongodb)都是无法完成的。
高效率的查:我们说监控系统读操作少,是说相对写入来讲。监控系统本身对于读的要求很高,用户经常会有查询上百个meitric,在过去一天、一周、一月、一年的数据。如何在1秒内返回给用户并绘图,这是一个不小的挑战。
open-falcon在这块,投入了较大的精力。我们把数据按照用途分成两类,一类是用来绘图的,一类是用户做数据挖掘的。
对于绘图的数据来讲,查询要快是关键,同时不能丢失信息量。对于用户要查询100个metric,在过去一年里的数据时,数据量本身就在那里了,很难1秒之类能返回,另外就算返回了,前端也无法渲染这么多的数据,还得采样,造成很多无谓的消耗和浪费。我们参考rrdtool的理念,在数据每次存入的时候,会自动进行采样、归档。我们的归档策略如下,历史数据保存5年。同时为了不丢失信息量,数据归档的时候,会按照平均值采样、最大值采样、最小值采样存三份。// 1分钟一个点存 12小时
c.RRA("AVERAGE", 0.5, 1, 720)
// 5m一个点存2d
c.RRA("AVERAGE", 0.5, 5, 576)
c.RRA("MAX", 0.5, 5, 576)
c.RRA("MIN", 0.5, 5, 576)
// 20m一个点存7d
c.RRA("AVERAGE", 0.5, 20, 504)
c.RRA("MAX", 0.5, 20, 504)
c.RRA("MIN", 0.5, 20, 504)
// 3小时一个点存3个月
c.RRA("AVERAGE", 0.5, 180, 766)
c.RRA("MAX", 0.5, 180, 766)
c.RRA("MIN", 0.5, 180, 766)
// 1天一个点存1year
c.RRA("AVERAGE", 0.5, 720, 730)
c.RRA("MAX", 0.5, 720, 730)
c.RRA("MIN", 0.5, 720, 730)
对于原始数据,transfer会打一份到hbase,也可以直接使用opentsdb,transfer支持往opentsdb写入数据。
open falcon mysql参数_Open-falcon原理介绍相关推荐
- open falcon mysql参数_open-falcon 监控MySQL及自定义监控指标
1. open-falcon安装 2. 监控MySQL MySQL的监控完全可以自己写程序采集,然后调用open-falcon agent提供的上报接口进行上报.然而网上已经有开源的MySQL监控脚本 ...
- 水质七参数传感器的原理介绍与安装选点
一.产品概述 1.水质pH传感器CK-PH-A1 pH传感器用于环境水质监测.酸/碱/盐溶液.化学反应过程中.工业生产过程中,能够满足大多数工业应用对在线pH测量的要求. 采用双高阻抗差动放大器,抗干 ...
- 海思Hi3511芯片参数和工作原理介绍
Hi3511芯片参数 处理器系统: Hi3511/Hi3512处理器系统是基于高性能的ARM926EJ-S处理器平台搭建,处理器系统主要包含以下几个部分: ARM926 处理器:Hi3511/Hi35 ...
- 水质便携式常规五参数测定分析仪原理介绍
水质检测中的常规五参数,包括:温度.pH.溶解氧.电导率.浊度.是水质污染检测的基本指标,在中国生态环境部发布的<环境监测仪器发展指南>中提出,"水质自动监测项目分为水质常规五参 ...
- FALCON组装参数学习
FALCON组装参数学习 (2017-06-27 13:15:32) 转载▼ 分类: 三代 ############################################ pa_DBsp ...
- LVS原理介绍及安装过程
一.ARP技术概念介绍 为什么讲ARP技术,因为平常工作中有接触.还有就是LVS的dr模式是用到arp的技术和数据. 1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolutio ...
- 《深入理解分布式事务》第二章 MySQL 事务的实现原理
shua# <深入理解分布式事务>第二章 MySQL 事务的实现原理 文章目录 一.Redo Log 1.Redo Log 基本概念 2.Redo Log 基本原理 3.Redo Log ...
- online-DDL详细原理介绍及gh-ost讲解
文章目录 1. MySQL online DDL 各版本介绍 1.1 online DDL in mysql 5.5 1.2 online DDL in mysql5.6 1.3 online DDL ...
- mysql的备份恢复原理_MySQL备份恢复-mysqldump原理
+++++++++++++++++++++++++++++++++++++++++++ 标题:mysqldump对MySQL数据库备份恢复原理 时间:2019年2月23日 内容:mysqldump工具 ...
最新文章
- Oracle 数据库EM访问多个Instance
- DuiC 统一配置管理 2
- Vuex 2.0 源码分析
- java迭代器的原理_小学生之Java中迭代器实现的原理
- Spring Cloud 版本支持
- tab enter键出现
- C语言 判断一个数是否为素数
- 固件升级_洛达1562a固件升级支持空间音频
- shell初级-----更多结构化命令
- vue的自定义指令的坑
- 计算机科学导论的学习
- 最全勒索病毒解密工具
- 海龟交易法的“道”和“术”
- JVM3-类文件结构
- 计算机蓝屏了 怎么维修,电脑蓝屏怎么解决
- js中的_poto_和prototype的问题
- 智能手环的软硬件与产业
- 野火学习笔记(8) —— RCC —— 使用 HSE/HSI 配置时钟
- 【网络编程开发系列】好端端的MQTT-broker重新部署后居然出现TLS握手失败了
- 《算法图解》学习笔记(五):哈希表,小名散列表(附代码)