用普罗米修斯和格拉法纳乐器来刺豪猪
Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易。 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息。 我们还可以通过Prometheus和Grafana仪表板使仪器可见。
进行此扩展的原因是我们希望对Porcupine线程池的检测进行简单的集成(即插入)。 Grafana允许创建和共享仪表板,这些仪表板可以通过指标变量进行动态配置。 目标是创建类似于以下内容的仪表板,而无需进行大量手动配置:
为了实现这一点,您需要执行以下操作:
- 公开Java EE豪猪统计信息,例如Prometheus格式
- 在Prometheus实例中擦除Prometheus指标
- 在Grafana仪表板中查询并显示Prometheus指标
要通过Prometheus公开Porcupine的统计信息,您可以采用多种方法以Prometheus格式发出指标。 我使用的是MicroProfile Metrics,为此我创建了一个小的扩展 ,可以将其添加到项目中:
<dependency><groupId>com.sebastian-daschner</groupId><artifactId>porcupine-metrics</artifactId><version>1.0</version>
</dependency>
该扩展公开了PorcupineMetrics
bean,该bean每次应更新指标时都需要通过其updateMetrics()
方法调用。 我们可以使用类似于以下内容的计时器:
@Singleton
@Startup
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
public class ExecutorStatisticsUpdater {@InjectPorcupineMetrics porcupineMetrics;@ResourceManagedScheduledExecutorService scheduler;@PostConstructpublic void init() {scheduler.scheduleAtFixedRate(porcupineMetrics::updateMetrics,0, 5, TimeUnit.SECONDS);}}
这将每5秒更新一次指标。 由于Porcupine的统计信息内部,当前需要例如通过计时器明确触发更新机制。 这将在Metrics端点中包括以下管道指标:
vendor:porcupine_pipelines_<pipeline-name>_active_thread_count 2
vendor:porcupine_pipelines_<pipeline-name>_core_pool_size 4
vendor:porcupine_pipelines_<pipeline-name>_current_thread_pool_size 4
vendor:porcupine_pipelines_<pipeline-name>_largest_thread_pool_size 4
vendor:porcupine_pipelines_<pipeline-name>_maximum_pool_size 8
vendor:porcupine_pipelines_<pipeline-name>_min_queue_capacity 60
vendor:porcupine_pipelines_<pipeline-name>_remaining_queue_capacity 100
vendor:porcupine_pipelines_<pipeline-name>_tasks_completed 3034
vendor:porcupine_pipelines_<pipeline-name>_tasks_rejected 30
vendor:porcupine_pipelines_<pipeline-name>_tasks_total 3036
除了使用MicroProfile指标或这个扩展,你可以同样通过其他机制使用普罗米修斯的Java API作为解释暴露的指标,例如这里 。
然后,我们通过Prometheus抓取暴露的指标,并创建Grafana仪表板,以通过变量为每个管道动态查询和显示统计信息。
首先,我已经共享了豪猪仪表板,类似于您在连接至Prometheus数据源的Grafana.com上的屏幕快照中看到的内容。
您可以看一下使用Porcupine Metrics的instrument-craft-shop项目。
如果您想知道为什么我使用豪猪而不是MicroProfile Fault Tolerance隔板,请观看以下有关隔板和Java EE反压的视频。
发现帖子有用吗? 订阅我的时事通讯,获取有关IT和Java的更多免费内容,技巧和窍门:
成功! 现在检查您的电子邮件以确认您的订阅。
翻译自: https://www.javacodegeeks.com/2018/10/instrumenting-porcupine-prometheus-grafana.html
用普罗米修斯和格拉法纳乐器来刺豪猪相关推荐
- 普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪
普罗米修斯使用es数据库 Adam Bien的Porcupine库使配置充当应用程序隔板的专用执行程序服务变得容易. 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息. ...
- 普罗米修斯_用普罗米修斯和格拉法纳仪来豪猪
普罗米修斯 Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易. 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息. 我们还可以通 ...
- 普罗米修斯 监控_完美的分布式监控系统——普罗米修斯
DevOps工程师或SRE工程师,可能都知道Prometheus普罗米修斯.Prometheus于2012年由SoundCloud创建,目前已经已发展为最热门的分布式监控系统.Prometheus完全 ...
- 普罗米修斯 监控_接近完美的监控系统—普罗米修斯
普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...
- 普罗米修斯java_springboot集成普罗米修斯(Prometheus)的方法
Prometheus 是一套开源的系统监控报警框架.它由工作在 SoundCloud 的 员工创建,并在 2015 年正式发布的开源项目.2016 年,Prometheus 正式加入 Cloud Na ...
- 当ABAP遇见普罗米修斯
Jerry每次在工作场合中同Prometheus(普罗米修斯)打交道时,都会"出戏",因为这个单词给我的第一印象,并不是用go语言实现的微服务监控利器,而是名导雷德利·斯科特(Ri ...
- 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建
导读 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据.比如 ...
- springboot 接口404_资深架构带你学习Springboot集成普罗米修斯
这篇文章主要介绍了springboot集成普罗米修斯(Prometheus)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 ...
- metrics类型 普罗米修斯_AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控...
原标题:AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控 概述 Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由S ...
最新文章
- android组件化架构 书,Android MVVM组件化架构方案
- 参加51CTO培训,华为HCNP认证考试通过啦
- 知识图谱论文阅读(十八)【KDD2019】AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommend
- Latex的subcaption横向插入两张子图的的用法
- 很巧妙的进程防杀方法[秋镇菜原创]
- 2016 java二级试题_2016计算机二级考试Java试题及答案
- CHtmlCtrl在VC中的使用
- 随想录(机器学习的生产应用)
- ANDROID模拟器不能启动
- Mybatis-学习笔记(5)动态SQL
- 支付安全不能说的那些事
- 【ManageEngine】IP地址扫描的作用
- 计算机软硬件故障排除知识,计算机软硬件基础知识及常见故障排除方法
- 人工智能已经沦为刷榜,刷论文的时代了? 新一代人工智能,认知智能已经来临。道翰天琼。
- 无法删除文件夹的“只读”属性
- WHQL认证资讯:关于Windows硬件开发者仪表盘
- 左旋右旋问题一次搞定!!!
- Spatial Pyramid Pooling(SPP)原理简介
- 计算机是如何执行程序的(转)
- 【重磅】人民网:分布式存储打开千亿级市场,深入推动行业数字化转型