Honeycomb 是用于观察和关联分布式系统中各事件的工具。它的方法与现有工具(例如Zipkin)不同。Honeycomb由原有的单一请求跟踪模型转变为更自由形式的模型,能够跨层(layers)、跨维度(dimensions)地收集和查询数据。

Honeycomb与Zipkin这样的软件有什么区别?Zipkin是基于Google Dapper paper的分布式跟踪系统,由Twitter编写和开放源代码。InfoQ近日与Honeycomb联合创始人Charity Majors联系,了解到该产品的更多信息。Majors指出,与使用全球唯一的UUID进行请求跟踪不同,“对大家来说通常更有用的是某种用户ID或应用程序ID,以及其他类型的ID。这些请求ID便于将具有您可能想要计算或聚合的共同特征进行分组。”

这在实践中意味着什么?基于如Zipkin之类的跟踪工具的请求,假设每个请求都附有唯一的ID。从请求进入系统的时间起,ID通过各种子系统调用(可用于微服务)来传递,而子系统调用是由初始调用的结果触发的。如果在每个步骤都记录下此ID,并且设定中心区域来聚合和索引这些日志,那么在请求ID已知的前提下,在系统中搜索和跟踪特定请求将变得很容易。这种日志聚合器的一个典型例子是ELK(Elasticsearch/Logstash/Kibana)。

Honeycomb打破了这种模式,尽量在每个级别分别获取数据(如负载均衡器、微服务和数据库),标记数据,便于用户今后对这些数据进行混合匹配(mix-an-match)和即时查询(ad-hoc queries)。Majors解释说,Honeycomb采用这种方法是因为跟踪本身给你留下一个亟待解决的问题。这个问题就是“哪些是有代表性,值得首先研究的请求”。一旦用Honeycomb展示数据,用户可以跨系统、跨时间,将不同层的数据联系整合,进行运算,从而理解它的性能。例如,跨越多个系统的请求响应时间的增加可能是由于来自多个因素(包括时间)的集体效应。这不利于请求跟踪,因为请求一般代表的是给定时间段内相关事件的单个线程。

数据一般可以通过API调用发送到Honeycomb。以下示例表示如何用API调用来记录Web请求数据:

curl https://api.honeycomb.io/1/events/Quickstart -X POST -H "X-Honeycomb-Team: YOUR_WRITE_KEY" -d '{"status":200,"path":"/docs/","latency_ms":13.1,"cached":false}'
在这个例子里, “-d”参数可用于获取JSON对象。这个JSON对象具有便于以后查询的任何应用程序特定信息。数据收集为一系列事件,对于其中每个事件都应该进行跟踪。这些事件可以捆绑成名为“数据集”的单个实体。Honeycomb可以通过所谓的“连接器”与应用程序集成。连接器是从特定软件中提取数据并将其发送到Honeycomb的适配器。用户还可以使用SDK以及名为honeytail的工具将数据从现有日志集成到Honeycomb。

为了:给正在收集的数据添加上下文,Honeycomb还标记各事件是由谁触发的:是操作员还是像计划任务cron之类的什么(部署、脚本或一次性动作)。这些操作垂直排列,上面附加了一些信息,例如谁运行脚本以及指向部署代码的链接。这有点类似于Etsy的运营团队使用Graphite的情况(但Graphite缺乏相应的背景信息)。

Honeycomb收集了大量数据,那它是如何处理大规模查询的呢?Majors说,由于接近100%用户发出的查询都是关于最近一两个星期的,他们现在正专注于近期的调试任务,以便于采用有效的抽样保留技巧。

为了处理大量的数据,Honeycomb使用自己的列存储:

Majors说,我们开始构建Honeycomb时研究了大量现有的解决方案,但没有一个能完美解决问题。我们最终发现,绝大多数的预构建解决方案都需要对功能性进行权衡,在那些我们不需要的功能(例如事务)和牺牲那些我们认为至关重要的功能(例如能够快速访问原始输入事件)之间取舍。

Honeycomb目前还不支持与其他告警系统集成,如Nagios、Zabbix、PagerDuty。目前只有受邀请者可以注册该服务。

本文转自d1net(转载)

Honeycomb - 调试复杂系统的工具相关推荐

  1. Linux 之八 完整嵌入式 Linux 环境、(交叉)编译工具链、CPU 体系架构、嵌入式系统构建工具

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,由于之前对嵌入式 Linux 环境并不是很了解,因此,第一步就是需要了解如何搭建一个完整的嵌入式 Linux 环境.现在将学习心得记录 ...

  2. Linux内核调试的方式以及工具集锦

    Linux内核调试的方式以及工具集锦 CSDN GitHub Linux内核调试的方式以及工具集锦 LDD-LinuxDeviceDrivers/study/debug  本作品采用知识共享署名-非商 ...

  3. Linux系统检测工具

    通过检测系统,可以获取一些基准数据,进行分析,根据不同的业务特点系统不同组件的压力,可以有cpu密集型,内存密集型,网络吞吐密集性型,io密集型 一  系统检测工具 Free,Top,ps,Vmsta ...

  4. Golang程序调试 -- 内存泄漏pprof工具

    Golang程序调试 -- 内存泄漏pprof工具 代码引入pprof WEB访问模式 命令行模式定位内存 命令行模式定位耗时 命令行模式定位内存分配 代码引入pprof import (" ...

  5. Debug Hacks中文版——深入调试的技术和工具

    关键词:gdb.strace.kprobe.uprobe.objdump.meminfo.valgrind.backtrace等. <Debugs Hacks中文版--深入调试的技术和工具> ...

  6. CleanMyMac x for Mac系统清理工具简单安装,彻底清理!

    CleanMyMac x for Mac系统清理工具简单安装,彻底清理!CleanMyMac x for Mac是应用在MacOS上的一款系统清理工具,释放RAM,运行维护脚本,管理登录项,启动代理和 ...

  7. 每个Linux管理员应该知道的20个Linux系统监视工具

    需要监视Linux服务器的性能?试试这些内置的命令和一些附加的工具吧.大多数Linux发行版都集成了一些监视工具.这些工具可以获取有关系统活动的信息的详细指标.通过这些工具,你可以发现产生系统性能问题 ...

  8. 系统清理工具(Wise Care 365)绿色版

    2019独角兽企业重金招聘Python工程师标准>>> Wise Care 365 具有强大的多分类"系统清理"功能模块,找准了您想要清理的垃圾或者冗余,安全性不 ...

  9. 【Vista中系统准备工具存在隐患,自动清除用户资料】

    新闻来源:创景网 Sysprep.exe 是Windows 的"系统准备工具",OEM和企业部署中,安装完所有必须的应用程序和工具之后,可以用它来重新封装运行过的预安装Window ...

最新文章

  1. /sys目录下其他几个目录的生成
  2. java管理系统用怎么框架做_java 使用servlet做学生管理系统(无框架)
  3. Jenkins持续集成输出html测试报告
  4. AUTOSAR专业知识篇(五)-“敏捷”适用于汽车软件开发吗?当我们谈“敏捷”,到底在谈什么?
  5. time是python的标准库吗_python3关于date和time的标准库
  6. 查看linux硬核上的线程,给大家分享一点基础硬核知识哦 Linux的基础指令操作Lin...
  7. Django中类视图的几实现方式
  8. 华为5G折叠屏手机,外媒猜长这样
  9. ajax只能局部刷新吗,ajax有哪几种方法可以实现局部刷新
  10. 在计算机上没有找到w3svc_困扰数学家90年的猜想,被计算机搜索30分钟解决了
  11. 数据降维——因子分析
  12. C++ | (struct)结构体变量作为函数参数调用的方法小结
  13. 反射——Reflection
  14. mysql数据库合库数据库合并心得
  15. CSP-J1 CSP-S2第1轮 初赛资料集(2022.09.09)
  16. 把我给另外一个朋友的炒股劝告发给你一遍,希望你可以得到帮助!
  17. 微信小程序跳转第三方页面
  18. Python实现ARMA模型
  19. 菊花台-中国朝代歌[摘]
  20. 视频监控网络使用PON网络传输解决方案相关问题解答

热门文章

  1. 柔宇科技发售全球首款可折叠柔性屏手机,平板、手机从此二合一
  2. FoxitReader3.0注册码和foxit pdf creator key
  3. React仿大众点评外卖app
  4. 2014(马年)学年总结
  5. 转换器max1166相关文章
  6. 同济大学计算机科学研究生几月毕业,同济大学毕业5年月薪最高的十大专业介绍...
  7. 成熟的 XMOS 方案 ——「 XMOS USB Audio 」
  8. 蔡徐坤游戏HTML,JS制作蔡徐坤打篮球小游戏(鸡你太美?)
  9. Powershell批量修改用户的UPN后缀
  10. 教程:腾讯云使用WordPress从零开始建站-黑科鸡Blog(六)