夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
夜莺专业版
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

图表配置

本小节将对夜莺仪表盘的功能进行详细介绍,这里以时序值为例,介绍下图表是否配置。创建好一个仪表盘之后,进去仪表盘编辑页面,点击右上角的 添加图标 按钮,弹出图表编辑视图,如下图

image-20230427173825299

图表配置主要分三个区域,左上是预览图区域,展示了图表配置的最终效果,左下是数据筛选区,可以设置展示哪些数据,右边是图表的各种样式配置

左下是数据筛选部分

夜莺的仪表盘也支持配置变量,如果仪表盘配置了变量,可以写 promql 时使用 $+变量名 的方式配置,这样后续再查询大盘的时候,可以通过切换变量快速查看不同对象的多个监控图表。

除了自定义的大盘变量,还有些内置变量,以获取大盘时间间隔为例,可以用$__interval,例如 cpu_usage_active[$__interval], 另外文本卡片暂不支持内置变量。

可用的内置变量如下:

    { name: '__from', value: from },
    { name: '__from_date_seconds', value: fromDateSeconds },
    { name: '__from_date_iso', value: fromDateISO },
    { name: '__from_date', value: fromDateISO },
    { name: '__to', value: to },
    { name: '__to_date_seconds', value: toDateSeconds },
    { name: '__to_date_iso', value: toDateISO },
    { name: '__to_date', value: toDateISO },
    { name: '__interval', value: `${interval}s` },
    { name: '__interval_ms', value: `${interval * 1000}ms` },
    { name: '__rate_interval', value: `${interval * 4}s` },
    { name: '__range', value: `${toDateSeconds - fromDateSeconds}s` },
    { name: '__range_s', value: `${toDateSeconds - fromDateSeconds}s` },
    { name: '__range_ms', value: `${(toDateSeconds - fromDateSeconds) * 1000}ms` }

右边是样式配置参数

  • 标题:每个图表可以配置一个标题,方便更直观地知道图表的用途
  • 链接:有的场景我们可以先配置一个总览的图表,比如某个应用的健康度,当健康度异常时,点击点击这里配置的链接,进入另一个仪表盘,查看更详细的信息
  • 备注:对图表更详细的说明
  • Tooltip 模式: 设置为 Single 时,鼠标移动到图表上时显示单个图例,All 时显示全部的图例
  • Legand: 图例展示设置,提供了表格、列表、隐藏三种
  • 图表样式:可以配置折线图、柱状图、颜色是否渐变、是否堆叠、透明度、曲线宽度等
  • 高级配置:可以配置Y轴的上界和下界、数值的单位等
  • 阈值:可以在Y轴的某个位置标记红线阈值

通过上面这些配置,可以灵活的配置出用户想要的图表效果,除了时序值,夜莺图表还支持指标值、表格、饼图、蜂窝图、排行榜、文字卡片、仪表盘、内嵌文档等多种图表,未来还会继续支持更多图表类型。

大盘变量

大盘变量是夜莺仪表板中的一种动态元素,通过使用大盘变量,用户可以根据所选变量值快速查看和比较数据,增加仪表板的灵活性和易维护性。

举个具体的例子,当我们需要配置多个 MySQL 实例的仪表盘时,通过创建一个查询变量,从数据源中获取所有可用的 MySQL 实例名称。我们可以在仪表板中轻松选择所需实例,查看其性能指标、资源使用情况等。例如,使用以下 PromQL 查询作为变量来源:label_values(mysql_global_status_threads_connected, instance) ,可以把 instance 作为变量,在仪表板中,用户可以根据 instance(实例名称)快速切换,查看每个实例的连接数、查询速率、缓冲池使用情况等指标。

image-20230427231741585

开源版
Flashcat
Flashduty