Prometheus监控
  • 介绍
  • 全书组织
  • Part I - Prometheus基础
    • 第1章 天降奇兵
      • Prometheus简介
      • 初识Prometheus
        • 安装Prometheus Server
        • 使用Node Exporter采集主机数据
        • 使用PromQL查询监控数据
        • 监控数据可视化
      • 任务和实例
      • Prometheus核心组件
      • 小结
    • 第2章 探索PromQL
      • 理解时间序列
      • Metrics类型
      • 初识PromQL
      • PromQL操作符
      • PromQL聚合操作
      • PromQL内置函数
      • 在HTTP API中使用PromQL
      • 最佳实践:4个黄金指标和USE方法
      • 小结
    • 第3章 Prometheus告警处理
      • Prometheus告警简介
      • 自定义Prometheus告警规则
      • 部署AlertManager
      • Alertmanager配置概述
      • 基于标签的告警处理路由
      • 使用Receiver接收告警信息
        • 集成邮件系统
        • 集成Slack
        • 集成企业微信
        • 集成钉钉:基于Webhook的扩展
      • 告警模板详解
      • 屏蔽告警通知
      • 使用Recoding Rules优化性能
      • 小结
  • Part II - Prometheus进阶
    • 第4章 Exporter详解
      • Exporter是什么
      • 常用Exporter
        • 容器监控:cAdvisor
        • 监控MySQL运行状态:MySQLD Exporter
        • 网络探测:Blackbox Exporter
      • 使用Java自定义Exporter
        • 使用Client Java构建Exporter程序
        • 在应用中内置Prometheus支持
      • 小结
    • 第5章 数据与可视化
      • 使用Console Template
      • Grafana的基本概念
      • Grafana与数据可视化
        • 变化趋势:Graph面板
        • 分布统计:Heatmap面板
        • 当前状态:SingleStat面板
      • 模板化Dashboard
      • 小结
    • 第6章 集群与高可用
      • 本地存储
      • 远程存储
      • 联邦集群
      • Prometheus高可用
      • Alertmanager高可用
      • 小结
    • 第7章 Prometheus服务发现
      • Prometheus与服务发现
      • 基于文件的服务发现
      • 基于Consul的服务发现
      • 服务发现与Relabel
      • 小结
  • Part III - Prometheus实战
    • 第8章 监控Kubernetes
      • 初识Kubernetes
      • 部署Prometheus
      • Kubernetes下的服务发现
      • 监控Kubernetes集群
      • 基于Prometheus的弹性伸缩
      • 小结
    • 第9章 Prometheus Operator
      • 什么是Prometheus Operator
      • 使用Operator管理Prometheus
      • 使用Operator管理监控配置
      • 在Prometheus Operator中使用自定义配置
      • 小结
    • 参考资料
Powered by GitBook
On this page

Was this helpful?

  1. Part II - Prometheus进阶
  2. 第5章 数据与可视化
  3. Grafana与数据可视化

当前状态:SingleStat面板

Previous分布统计:Heatmap面板Next模板化Dashboard

Last updated 5 years ago

Was this helpful?

Singlem Panel侧重于展示系统的当前状态而非变化趋势。如下所示,在以下场景中特别适用于使用SingleStat:

  • 当前系统中所有服务的运行状态;

  • 当前基础设施资源的使用量;

  • 当前系统中某些事件发生的次数或者资源数量等。

如下所示,是使用SingleStat进行数据可视化的显示效果:

使用SingleStat Panel

从Dashboardc创建Singlestat Panel,并进入编辑页面, 如下所示:

对于SingleStat Panel而言,其只能处理一条时间序列,否则页面中会提示“Multiple Series Error”错误信息。这里使用如下PromQL查询当前主机负载:

node_load1{instance="localhost:9100"}

默认情况下,当前面板中会显示当前时间序列中所有样本的平均值,而实际情况下,我们需要显示的是当前主机当前的负载情况,因此需要通过SingleStat Panel的Options选项控制当前面板的显示模式:

如上所示,通过Value配置项组可以控制当前面板中显示的值,以及字体大小等。对于主机负载而言,我们希望能够显示当前的最新值,因此修改Stat为Current即可。

如果希望面板能够根据不同的值显示不同的颜色的话,则可以定义Thresholds与Colors的映射关系,例如,定义Thresholds的分割区间值为“0,1”,则当Value的值落到不同的范围内时,将显示不同的颜色。

如果希望能够显示当前时间序列的样本值变化情况,则可以启用Spark lines配置。启用之后,Singlestat面板中除了会显示当前的最新样本值以外,也会同时将时间序列中的数据已趋势图的形式进行展示。

除了通过数字大小反应当前状态以外,在某些场景下我们可能更关心的是这些数字表示的意义。例如,在Promthues监控服务的健康状态时,在样本数据中会通过0表示不健康,1表示健康。 但是如果直接将0或1显示在面板中,那么可视化效果将缺乏一定的可读性。

为了提升数字的可读性,可以在Singlestat Panel中可以通过Value Mappings定义值的映射关系。Siglesta支持值映射(value to text)和区间映射(range to text)两种方式。 如下所示:

当面板中Value的值在0~0.99范围内则显示为Health,否则显示为Unhealth。这种模式特别适合于展示服务的健康状态。 当然你也可以将Value映射为任意的字符,甚至是直接使用Emoji()表情:

http://www.iemoji.com/
SingleStat Panel示例
SingleStat 编辑页面
SingleStat Option选项
Singlestat value mappings配置
在Singlestat中使用Emoji表情字符