功能

query组件,提供统一的绘图数据查询入口。query组件接收查询请求,根据一致性哈希算法去相应的graph实例查询不同metric的数据,然后汇总拿到的数据,最后统一返回给用户。

配置文件


{"debug": "false",   // 是否开启debug日志"http": {"enabled":  true,          // 是否开启http.server"listen":   "0.0.0.0:9966" // http.server监听地址&端口},"graph": {"connTimeout": 1000, // 单位是毫秒,与后端graph建立连接的超时时间,可以根据网络质量微调,建议保持默认"callTimeout": 5000, // 单位是毫秒,从后端graph读取数据的超时时间,可以根据网络质量微调,建议保持默认"maxConns": 32,      // 连接池相关配置,最大连接数,建议保持默认"maxIdle": 32,       // 连接池相关配置,最大空闲连接数,建议保持默认"replicas": 500,     // 这是一致性hash算法需要的节点副本数量,应该与transfer配置保持一致"cluster": {         // 后端的graph列表,应该与transfer配置保持一致;不支持一条记录中配置两个地址"graph-00": "test.hostname01:6070","graph-01": "test.hostname02:6070"}},"api": {  // 适配grafana需要的API配置"query": "http://127.0.0.1:9966",     // query的http地址"dashboard": "http://127.0.0.1:8081", // dashboard的http地址"max": 500                            //API返回结果的最大数量}}

默认端口

  • http:9966 提供一组查询接口API

API接口

  • http://127.0.0.1:9966/graph/info 查看endpoint 和counter数据属性 method:POST

  • http://127.0.0.1:9966/graph/history 查询历史数据 method:POST

  • http://127.0.0.1:9966/graph/last 查询最新上报的一个点数据 method:POST

  • http://127.0.0.1:9966/counter/all 获取所有counter method:GET

查询流程

  1. 从query中查询数据需要提供endpoint和counter

  2. query收到查询请求,根据提供的endpoin和counter进行一致性hash,在hash环上找到对应的graph

3.向对应的graph 发送查询数据的请求

4.重新组合规整graph返回额的数据,最后返回给用户

转载于:https://www.cnblogs.com/pycode/p/6722396.html

open-falcon之query相关推荐

  1. Hive SQL 监控系统 - Hive Falcon

    1.概述 在开发工作当中,提交 Hadoop 任务,任务的运行详情,这是我们所关心的,当业务并不复杂的时候,我们可以使用 Hadoop 提供的命令工具去管理 YARN 中的任务.在编写 Hive SQ ...

  2. falcon存储引擎入门(一)

    MySQL在6.0中新增加了一个存储引擎falcon,中文翻译为猎鹰,这个存储引擎的开发显然和innodb被oracle收购相关,也许在不久的将来,falcon将会完全会替代innodb. 在 mys ...

  3. 开源运维监控工具open falcon

    小米发布的运维监控工具:open falcon 项目地址:http://open-falcon.org/ Introduction 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时 ...

  4. 使用JPA进行Update操作 @Query注解的用法,JPL

    使用jpa进行update操作有两种,第一种就是先查询,set,再进行save更新.这种做法过于繁杂,我只是要进行一个更新操作却变成了三步,所以我推荐使用第二种: @Modifying @Query( ...

  5. Retrofit 网络请求参数注解@Path @Field @Query 等使用

    请求参数呢大致如下,到个别人的图, 下面就说下这些内容使用 其中 @Path.@Query.@QueryMap 使用 Get 请求 , 加入使用了Post 请求注解使用@Path  一般都会是项目崩溃 ...

  6. mysql query browswer_MySQL数据库新特性之存储过程入门教程

    MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...

  7. android contentresolver权限,求助关于getcontentresolver().query()

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天搞了一天,用getcontentresolver().query()l来获取音乐列表,却啥也没有,是不是需要什么权限啊,代码如下,请大神帮帮忙啊. p ...

  8. python 查询 elasticsearch 常用方法(Query DSL)

    2019独角兽企业重金招聘Python工程师标准>>> 1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsea ...

  9. ContentResolver.query()—buildQueryString()

    Cursor cursor = context.getContentResolver().query(Sms.CONTENT_URI,         new String[]{"threa ...

  10. spring jpa @Query中使用in

    jpa @Query中使用in,需要注意参数一定要是List<>,不然无法查询出数据. @Query(value = "select count(*) from financia ...

最新文章

  1. 计算机用英语bos,宏基电脑boss界面英文翻译,不知道的可以看看。
  2. 28篇标志性论文见证「自然语言处理NLP」2019-2020年度亮点进展
  3. mysql insert 返回0
  4. python修改excel数据-python之实现对excel表格数据的修改
  5. Java-Java反射
  6. flask 开发接口测试平台
  7. 3-5 获取命令行参数
  8. linux vim五则运算编程,第3章--vi-vim编辑器的使用.ppt
  9. android自定义alertdialog不现实输入法,自定义的dialog中的EditText无法弹出输入法解决方案...
  10. java后台保存base64图片数据
  11. js的tree数组对象扁平化思否_js 中的tree型数组如何去重与合并?
  12. 最终幻想14钓鱼辅助脚本(非外挂)
  13. pdf转word思路和方法
  14. 比赛对阵表(女排世界杯对阵表)
  15. android 横屏录制视频,MediaRecorder怎么在竖屏的时候录像结果是横屏录的结果
  16. 测试转开发,真有那么好?
  17. 单一职责原则(SIngel Responsibility Principle  SRP)
  18. 高瓴资本+张磊+价值
  19. python计算球的体积的函数设计
  20. MariaDB源码分析——CONNECT类

热门文章

  1. 大众1.4t可以一直加92号汽油吗?有哪些需要注意的问题?
  2. 工业品器械设备怎么做宣传和推广?
  3. win10家庭版与专业版有什么区别?
  4. 家里电脑是win10,但开机都要3分钟,请问怎么提快电脑速度?
  5. 电脑cpu和手机cpu的差距有多大?
  6. sql简介_SQL简介
  7. ssis for循环容器_SSIS Foreach循环与For循环容器
  8. tcp码流中查找rtp头_跟踪数据流中的时间以查找性能问题
  9. 使用和执行SQL Server Integration Services包的方法
  10. sql server重命名_在Linux上SQL Server中重命名逻辑和物理文件名