Grafana 系列-统一展示-3-Prometheus 仪表板

这篇具有很好参考价值的文章主要介绍了Grafana 系列-统一展示-3-Prometheus 仪表板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章

  • Grafana 系列文章

知识储备

Prometheus Template Variables

你可以使用变量来代替硬编码的细节,如 server、app 和 pod_name 在 metric 查询中。Grafana 在仪表盘顶部的下拉选择框中列出这些变量,帮助你改变仪表盘中显示的数据。Grafana 将这类变量称为模板变量。

Query Variables

使用 Query 类型的变量来查询 Prometheus 的指标 (metrics)、标签 (labels) 或标签值 (label values) 的列表。

选择一个 Prometheus 数据源查询类型并输入所需的输入:

Variable Syntax

Prometheus 数据源支持在 Query 字段中使用两种变量语法:

  • $<varname>, 如:rate(http_requests_total{job=~"$job"}[$_rate_interval]), 它更容易读和写,但不允许你在词的中间使用变量。一般使用这种变量就够用了。
  • [[varname]], 如:rate(http_requests_total{job=~"[[job]]"}[$_rate_interval])

如果你启用了 Multi-valueInclude all 选项,Grafana 会将标签从纯文本转换为与 regex 兼容的字符串,这需要你使用=~而不是=。所以推荐在 Grafana 中使用 PromQL 组合 Grafana 变量时,首选 =~.

Annotations

注释 (Annotations) 在图表上面叠加丰富的事件信息。你可以在 Dashboard 菜单的 Annotations 视图中添加注释查询。

Prometheus 支持两种方式来查询注释。

  • 一个常规的 metric 查询
  • 一个 Prometheus 的 pending 和 firing 的告警(详见 在运行期间检查警报), 示例为:ALERTS{alertname="<alert name>", alertstate="<pending or firing>", <additional alert labels>}

Step 选项对于限制从你的查询中返回的事件数量很有用。

Ad Hoc Filters Variable

Prometheus 支持特殊的 ad hoc filters 变量类型,你可以用它来临时指定任何数量的 标签/值 过滤器。这些过滤器会自动应用于你所有的 Prometheus 查询。

实战

我们直接从 Grafana Dashboards 中选择一个 Dashboard - JVM(Micrometer) (ID: 4701) 来进行说明演示。

📝Notes:

这就是选择使用 Grafana 的一个巨大好处,它拥有丰富的生态。
我们一般不需要从零开始构建仪表板,可以站在巨人的肩上,再进行部分调整。

最终效果如下:

Grafana 系列-统一展示-3-Prometheus 仪表板

细节优化

这里有一些小的仪表板优化细节和大家分享:

  • 对于变量,谨慎启用:Multi-valueInclude all 选项。避免查询数据量过大。
  • 对于展示 Panel 数量特别多的单一 Dashboard, 可以根据 Panel 的类型添加 Row, 并将部分 Row 收起。实现 Lazy Load, 减少查询数据量,优化用户体验。
  • 对于右上角时间范围,建议在合理范围内尽可能小;同时如果查询数据量特别大,建议禁用 auto refresh

配置 JVM Restart Annotation

在这个 Dashboard 里,可以配置关于 JVM Restart 的 Annotation, 具体配置示例如下:

Grafana 系列-统一展示-3-Prometheus 仪表板

  • Name: Restart Detection
  • Data source: Prometheus
  • Enabled: ✔️
  • Color: Red
  • Query
    • Expr: resets(process_uptime_seconds{app="$app", pod_name="$pod_name"}[1m]) > 0, 这里是基于 process_uptime_seconds 来实现。
    • Step: 1m
  • Field formats, 这里 title 和 text 字段,可以使用变量,如:{{instance}}
    • Title: Restart
    • Tags: restart-tag
    • Text: uptime reset

最终效果如下(这里一直没有复现 JVM Restart), 用 Grafana Play 的 Demo 演示:

Grafana 系列-统一展示-3-Prometheus 仪表板

变量

Label Value

具体配置如下,如需要根据 app 的值进行选择,则配置如下:

Grafana 系列-统一展示-3-Prometheus 仪表板

Name: app
Type: Query
Query: label_values(app)

如果要新增另一个变量 pod_name, 需要基于 app 的结果进行过滤,则配置如下:

Name: pod_name
Query: label_values(jvm_memory_used_bytes{app="$app"}, pod_name)

如果需要对变量根据自己的实际情况进行调整,如,需要将 pod_name 变量改为 instance 变量。
Instance 变量如下:

Name: instance
Query: label_values(jvm_memory_used_bytes{app="$app"}, instance)

则可以进入该 Dashboard 的 Settings -> JSON Model, 中,对pod_name pod_name=\"$pod_name\" 等批量替换为 instance instance=\"$instance\"

Interval

也可以设置时间间隔 (Interval) 作为变量。具体如下:

  • Name: interval
  • Type: Interval
  • Values: 不同的时间间隔用,, 如:5s,10s,30s,1m,10m,30m,1h,6h,12h,1d,7d,14d,30d

然后 Dashboard 下的 Query 可以通过 $__interval$__interval_ms 来使用。

EOF

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.文章来源地址https://www.toymoban.com/news/detail-436327.html

到了这里,关于Grafana 系列-统一展示-3-Prometheus 仪表板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 仪表板展示 | DataEase看中国:2023年中国电影市场分析

    随着《消失的她》、《变形金刚:超能勇士崛起》、《蜘蛛侠:纵横宇宙》、《我爱你》等国内外影片的上映,2023年上半年的电影市场也接近尾声。据国家电影专资办初步统计,上半年全国城市院线票房达262亿元,已经超过了2022年同期总票房的一半以上(2022年同期为171.81亿

    2024年02月12日
    浏览(30)
  • Grafana 系列-统一展示-2-Prometheus 数据源

    Grafana 系列文章 Grafana 提供了对 Prometheus 的内置支持。本文会介绍 Grafana Prometheus(也包括 Prometheus 的兼容实现,如 Thanos, Mimir 等) 数据源的部分选项、变量 (Variable)、查询 (Query) 和其他针对 Prometheus 数据源的功能。 这里选择几项重要的部分进行说明: URL : Prometheus Server 的

    2024年02月03日
    浏览(37)
  • Solidbi仪表板介绍

    效果图 设计界面 首先配置数据源连接(如数据不是关系型数据库的不需要配置) 新建数据集,编写sql查询数据;系统数据集支持SQL、EXCEL、SPL、RPX、JAVA等数据集。数据集中支持查询后的数据再次进行计算,满足复杂业务数据应用需求。 设计仪表板,拖拽左侧组件至右侧设计

    2024年01月18日
    浏览(40)
  • 构建一个动态数据可视化仪表板

    在现代Web开发中,JavaScript不仅是网页交互的核心,而且已经成为实现复杂前端功能的重要工具。在本篇博客中,我将展示如何使用JavaScript构建一个动态数据可视化仪表板。该仪表板能够实时展示从服务器获取的数据,并通过图表和统计信息为用户提供直观的数据概览。 在开

    2024年02月22日
    浏览(41)
  • Kibana:创建你的第一个仪表板

    了解从你自己的数据创建仪表板的最常用方法。 本教程将从分析师查看网站日志的角度使用示例数据,但这种类型的仪表板适用于任何类型的数据。 完成后,你将全面了解示例 Web 日志数据。 在本次的展示中,我将使用最新的 Elastic Stack 8.7.1 来进行展示。 Kibana:创建你的第

    2024年02月06日
    浏览(65)
  • 观测云产品更新 | 日志、场景仪表板、监控器等

    用户访问监测 (RUM ) 公网 Dataway 支持 ip 转换成地理位置信息。 日志 查看器详情页 1、新增 BPF 网络日志采集及日志详情页,支持 Json 格式转化; 2、上述 1 中的日志详情页中新增可读的展示模式,即您可以快速直观了解客户端与服务端之间的网络情况;同时,也支持切换绝

    2024年02月02日
    浏览(40)
  • OpenStack(T版)——仪表板(Horizon)服务介绍与安装

    Openstack项目中的Horrizon仪表板服务组件是以Web界面形式展示各项服务的,Openstack云系统管理员和终端用户可以通过仪表板管理各项资源和服务 Horrizon仪表板服务通过 Openstack APIs与控制节点通信,分配资源和同步状态 官方文档 编辑 /etc/openstack-dashboard/local_settings 文件并完成以下

    2024年02月12日
    浏览(35)
  • 【大数据】可视化仪表板 - Superset的安装和使用

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二

    2024年02月03日
    浏览(49)
  • Grafana系列-统一展示-9-Jaeger数据源

    Grafana 系列文章 Grafana内置了对Jaeger的支持,它提供了开源的端到端分布式跟踪。本文解释了针对Jaeger数据源的配置和查询。 关键的配置如下: URL: Jaeger 实例的 URL, 如: http://localhost:16686 或 http://localhost:16686/trace/ Enable Node Graph: ✔️. 一旦启用,Grafana会在 trace 视图上方显示 Nod

    2024年02月04日
    浏览(32)
  • Grafana系列-统一展示-7-ElasticSearch数据源

    Grafana 系列文章 Grafana内置了对Elasticsearch的支持。你可以进行多种类型的查询,以可视化存储在Elasticsearch中的日志或指标,并使用存储在Elasticsearch中的日志事件对图表进行注释。 关键的几项配置如下: URL: 设置你的Elasticsearch服务器的HTTP协议、IP和端口。如: http://192.168.2.1:92

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包