热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

devops.net_Takipi2.0:趋势和DevOps集成

devops.net直接从JVM可视化生产中的所有日志事件和异常–将度量作为指标发送到20多种图形和警报工具中。我们想分享我们要介绍的两个值得分享的主要功能-趋势和DevOps集成

devops .net

直接从JVM可视化生产中的所有日志事件和异常–将度量作为指标发送到20多种图形和警报工具中。

我们想分享我们要介绍的两个值得分享的主要功能-趋势和DevOps集成。 我们开始构建Takipi是因为我们已经厌倦了使用传统日志来了解生产中软件内部的内容。 我们希望能够“观察”登台或生产中的每一个错误。

我们还希望具有更好的检测功能,以知道什么时候由于代码或环境变化而导致故障-无需连续扫描和分析大量日志文件。 这套新功能使我们更接近该愿景,这就是我们对此感到非常兴奋的原因。 所以让我们开始吧:)

发展趋势

趋势使您可以可视化生产JVM中日志错误,警告和异常的任何组合,而无需修改代码,也无需发送日志文件进行分析。 JVM代理检测并跟踪所有日志事件和异常,而不管它们是否以及如何记录到文件中。 可以使用Takipi的前端或使用的任何图形或警报工具(例如Graphite,PagerDuty)将事件可视化并发出警报。 下面的更多内容。

由于这些指标已被JVM代理今天跟踪,因此此功能没有额外的开销( 在此处了解有关Takipi的工作方式的更多信息 )。 最新消息是,该信息现在已从代理程序报告到Takipi的前端(或与此有关的任何前端,更多内容在下面)。

Screen-Shot-2015-08-26-at-6.34.43-PM

在JVM级别,事件会自动减少为指标。 您可以确切地看到事件发生了多少次,以及有多少次调用代码。 您可以根据事件的类型过滤事件-捕获的/未捕获的异常,记录的错误,警告等。 您可以根据事件在代码中的位置,事件的开始时间或频率来进一步过滤事件。

另一个方便的功能使您可以关联相关事件。 如果您发现日志错误或警告数量激增,这将非常有用。 您可以选择峰值期间的前5个错误,并将它们添加到图表中,并查看每个人的贡献。 这为您提供了功能强大的运营分析形式,而无需调整日志记录或分析大量日志。

Screen-Shot-2015-08-17-at-5.48.57-PM

您可以缩小信息范围以关注来自特定计算机或JVM的事件。 例如,您可以比较在多租户体系结构或应用程序的不同版本中服务于不同客户的JVM遇到的错误数。

一旦专注于目标事件,就可以在代码中深入了解其根本原因。 对于每个事件,您都可以查看其最近的错误分析 -包含导致错误的堆栈,源和变量状态。

整合方式

这项新功能可将JVM代理捕获的数据打开到任何图形和警报工具。 这是通过StatsD (一种由Etsy开发的开源协议和实现)来完成的,该协议和实现使应用程序能够以非阻塞方式将指标传输到任何监视工具中。 我们选择StatsD是因为它被广泛使用,开源并且使用Javascript与市场上几乎所有监视工具进行通信。

这样一来,您就可以跟踪应用程序中的一系列严重错误,例如“所有未捕获的异常”,“后台任务中的数据库错误”或“ Spark RDD中的记录的错误”,并使JVM代理将这些指标作为度量标准传输到Graphite中,或如果它们超过目标阈值,则通过PagerDuty或Zabbix接收有关它们的警报。

让我们看一个真实的例子:

在此配置中,我们将针对记录的警告和错误跟踪Grafana中的业务指标。 您可以看到log.warn的增加如何开始减少吞吐量。 超过特定阈值后,应用程序开始崩溃,处理的RPM数量突然减少,错误数量增加。 我们可以实时可视化来自JVM的数百万个日志事件,这些事件覆盖在关键业务指标上,而无需连续解析大量日志。 将这些指标连接到Zabbix或Nagios等警报系统后,我们可以进行实时响应。

D-2

Takipi提供了将近20个盒子的后端集成 ,您可以轻松添加自己的盒子。 我们期待看到您将如何使用这些新功能 ,并在下面的评论部分中听到您的问题和反馈。

翻译自: https://www.javacodegeeks.com/2015/09/takipi-2-0-trends-and-devops-integrations.html

devops .net



推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
author-avatar
在这里啊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有