首页 > 其他分享 >六条Prometheus最佳实践原则

六条Prometheus最佳实践原则

时间:2023-04-06 23:35:29浏览次数:28  
标签:六条 警报 直方图 最佳 Prometheus Pushgateway 控制台 度量

在Prometheus官网中对如何更好地使用该监控系统做了充分的说明,包括指标和标签命名、控制台和仪表盘、测量仪表、直方图和摘要、告警、用好PushGateway等。

1.指标与标签的命名指标命名必须符合数据模型的有效字符。应该有一个与度量所属的域相关的应用程序前缀(客户端库函数有时将前缀称为命名空间),特定应用程序前缀通常是应用程序名称本身。在所有标签维度上测量的逻辑内容要相同,包括请求持续时间、数据传输字节数、即时资源使用率(百分比)等。标签是用来区分正在测量的事物的特征,不要将标签名称放在度量名称中,这会导致冗余,将显著增加存储的数据量。Prometheus中没有任何单位是硬编码的,但为了更好地兼容,应该使用国际基本单位。

2.控制台和仪表盘不要试图在控制台展示每一种数据,而是要考虑最可能的故障模式以及如何区分。与其在单个大仪表盘上显示每个服务的信息,不如为每个服务构建单独的仪表盘,包括每个服务的延迟和错误。然后可以从顶部开始,一直钻取到有问题的服务。我们发现:控制台上的图形不超过5个;每个图表上的图(线)不超过5个;使用控制台模板展示时,在右侧表格中数据项不要超过30个。

3.测量仪表在使用同一个文件中创建的实例化度量类,在跟踪错误时,容易做到警报从控制台到代码进行切换。出于不同的监控目的,服务通常可以分为在线服务、离线处理和批处理作业三种类型。此外系统还有库接口、日志信息、失效、线程池、高速缓存、采集器等部分,这些也需要被监控。

4.直方图和摘要是更复杂的度量类型,要准确地使用这些度量类型难度很大。直方图和摘要两个样本的观测结果,通常是请求持续时间或响应大小,跟踪观测的数量和观测值的总和,然后计算观测的平均值。请注意,观测的数量本质上是一个计数器(它只会增加)。观测值之和也是计数器,如请求持续时间或响应大小从不为负数。原则上,可以使用摘要和直方图来观测负值(例如摄氏温度)。在这种情况下,观察值的总和会下降,这时不能再对其应用rate函数。

有两条经验法则

  • 如果需要聚合,请选择直方图。
  • 如果知道将要观察的值的范围和分布,请选择一个直方图;如果需要精确的分位数,不论值的范围和分布,请选择摘要。

5.告警确保警报的简单,准确发出告警,拥有良好的控制台,便于查明原因。发出警报时确保Prometheus服务、警报管理器、推送网关和其他监控基础设施是正常运行的。可以对根因发出警报,这有助于减少噪声。例如从Pushgateway到Prometheus再到Alertmanager最后到email的黑盒测试,比单个警报都要好。将Prometheus的白盒监控与外部黑盒监控相结合,可以捕捉到难以觉察的问题,并在内部系统完全失效的情况下作为备用手段。

6.使用PushGatewayPushgateway是一种中介服务,它允许你从无法抓取的作业中推送度量。建议在某些有情况下使用Pushgateway,当使用Pushgateway而不是Prometheus通常的Pull模型时,有几个陷阱需要注意:

  • 当通过一个Pushgateway监视多个实例时,Pushgateway既可以成为单一故障点,又可能成为潜在的瓶颈。
  • Prometheus实时采集Up状态度量来做健康监控会失效。
  • Pushgateway将信息永远暴露给Prometheus,除非手动删除信息。

标签:六条,警报,直方图,最佳,Prometheus,Pushgateway,控制台,度量
From: https://blog.51cto.com/key3feng/6174245

相关文章

  • 【云原生】Prometheus 之PromQL
    前言1.PromQL的简介2.PromQL数据样本信息的含义理解2.1Prometheus数据模型2.2样本数据格式2.3PromQL的数据类型2.4时间序列选择器(TimeseriesSelectors)(1)瞬时向量选择器(InstantVectorSelectors)(2)区间向量选择器(RangeVectorSelectors)2.5偏移向量选择器2.6Pr......
  • 分库分表索引设计:二级索引、全局索引的最佳设计实践(建议收藏)
    大家好,我是飘渺。分布式数据库架构下,索引的设计也需要做调整,否则无法充分发挥分布式架构线性可扩展的优势。今天我们就来聊聊“在分布式数据库架构下,如何正确的设计索引?”主键选择对主键来说,要保证在所有分片中都唯一,它本质上就是一个全局唯一的索引。如果用大部分同学喜欢的自增......
  • 分享8个最佳的代码片段在线测试网站
    Itsourpleasuretosharebestresources/toolsforwebdevelopersanddesigner.Todaywearegoingtosharebestsitesfortestingcodesnippets,thesesitesprovidethebestplacewherewebdeveloperscantesttheircodefastandeasily.Overtheinterne......
  • Golang 应用接入 Prometheus 监控
    前言Prometheus提供了官方版Golang库(https://github.com/prometheus/client_golang)用于采集并暴露监控数据,本文快速为你介绍如何使用官方版Golang库来暴露Golangruntime相关的数据,以及其它一些基本简单的示例,并使用Prometheus监控服务来采集指标展示数据。❝有关全面......
  • 分布式追踪的最佳工具:SigNoz
    分布式追踪的最佳工具:SigNozvsJaeger参考链接分布式追踪的最佳工具:SigNozvsJaeger_devops_weixin_0010034-DevPress官方社区(csdn.net)开源可观测性平台SigNoz参考链接开源可观测性平台SigNoz_JAVA序码的博客-CSDN博客使用开源工具监控全栈Nodejs应用参考链接使用开源工具监......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-会议笔记文档智能转摘要从0到1快速入门——官
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • 第二十三篇 最佳实践 - 可维护性
    bycaixin深圳可维护性在早期网站中,JavaScript主要用于实现一些小型动效或表单验证。今天的Web应用则动辄成千上万行JavaScript代码,用于完成各种各样复杂的处理。这些变化要求开发者把可维护能力放到重要位置上。正如更传统意义上的软件工程师一样,JavaScript工程师受雇......
  • 第二十四篇 最佳实践 - 性能
    bycaixin深圳前端性能优化最佳实践客户端性能、服务器端、网络性能1、页面内容减少HTTP请求数减少DNS查询避免重定向缓存Ajax请求延迟加载预先加载减少DOM元素数量划分内容到不同域名尽量减少iframe使用避免404错误2、服务器使用CDN添加Expi......
  • PrometheusAlert微信报警模板示例
    配置入口如下: 代码配置:{{$var:=.externalURL}}{{range$k,$v:=.alerts}}{{ifeq$v.status"resolved"}}[PROMETHEUS-恢复信息]({{$v.generatorURL}})>**[{{$v.labels.alertname}}]({{$var}})**><fontcolor="info">开......
  • 旅游APP大数据分析:带你找到最佳旅游路线
    如今,旅游App已经成为了现代旅游的必备工具,而在这个数字化的时代,大数据的应用已经成为了旅游App的重要手段。本文将介绍旅游App大数据分析的应用,带你找到最佳旅游路线。一、大数据在旅游App中的应用随着互联网的发展和普及,旅游App已经成为了一个全球性的行业。而在这个行业中,大......