Grafana

下载安装

rpm

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-12.0.1-1.x86_64.rpm

yum localinstall grafana-enterprise-12.0.1-1.x86_64.rpm

RPM 包安装完成后,需要手动管理服务

一、验证安装是否成功

# 检查服务是否存在
systemctl list-unit-files | grep grafana

# 检查二进制文件
which grafana-server  # 应输出:/usr/sbin/grafana-server

# 检查配置文件
ls /etc/grafana/grafana.ini

systemctl start grafana-server
systemctl enable grafana-server

tar

tar zxvf grafana-enterprise-12.0.1.linux-amd64.tar.gz -C /usr/local/

vi /etc/systemd/system/grafana.service

[Unit]
Description=grafana
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/usr/local/grafana-v12.0.1/bin
ExecStart=/usr/local/grafana-v12.0.1/bin/grafana-server
[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start grafana-server
systemctl enable grafana-server

配置Data Source

Home > Connectins > Data Sources > Add data source > prometheus
img
点击img
显示以下内容就是OK了

Successfully queried the Prometheus API.

Home > Connectins > Data Sources
点击
img
选一个 <node_cpu_seconds_total>试一下
img

仪表盘

实例

以 container_memory_usage_bytes{} 为例
img

添加过滤

  1. 创建命名空间变量
    Settings > Variables > Add variable
配置项 取值 / 说明
Name This_is_Name(自定义,建议简洁好记)
Type Query(查询型变量,从 Prometheus 拉取命名空间列表)
Data source 选择你的 Prometheus 数据源(如 Prometheus-xxx)
Query label_values(container_label_io_kubernetes_pod_namespace)(拉取所有命名空间)
Regex 留空(如需只显示指定命名空间,可填 `/^(monitor
Selection options 勾选「Multi-value」(支持多选)、「Include All option」(显示 “全部” 选项)
Sort 选择「Alphabetical (asc)」(按字母升序排列)
Refresh 选择「On Dashboard Load」(仪表盘加载时刷新)
  1. 修改查询表达式
    container_memory_usage_bytes{container_label_io_kubernetes_pod_name!="",container_label_io_kubernetes_pod_namespace=~"$This_is_Name"}

图例表格

img

模板

node exporter:9276、12884

  • Legend # 图例
    img

  • Axis # 轴标签

  • Graph styles # 图形样式

  • Standard options # 标准选项
    Unit > Percent(1-100)

  • Data links and actions # 数据链接和操作

  • Value mappings # 值映射

!!!
settings >> 变量 >> 添加变量 >> Ad hoc filters # 即时过滤器
Use static key dimensions # 使用静态键维度,一个变量只能配置一个维度,如果要多个维度,需要添加多个变量。
(.*:9113) # 匹配所有端口为9113的实例

img

Query

  • prometheus
topk(10, process_cpu_usage)  # code模式
{{name}} CPU使用率- {{pid}} - {{instance}}  # legend 格式化显示

topk(10, process_memory_usage)  # code模式
{{name}} 内存使用率- {{pid}} - {{instance}}  # legend 格式化显示
  • PGsql

img

SELTCT product, disk FROM productcvminfo WHERE timestamp >= CURRENT_DATE ORDER BY product

img

SELECT timestamp, product, sum(cpu) AS CPU 
FROM productcvminfo 
WHERE product IS NOT NULL
GROUP BY timestamp, product
ORDER BY timestamp

img

Virables

Variable type: Custom[自定义变量]

Name: product # 变量名
Values separated by comma # 值用逗号分隔

Variable type: Query

Name: product # 变量名
Query:

SELECT DISTINCT product FROM productcvminfo WHERE product IS NOT NULL ORDER BY product

SQL应用Virables

SELECT timestamp, product, sum(disk) AS DISK 
FROM productcvminfo 
WHERE product IS NOT NULL
  AND product IN ($product)  -- 新增这一行
GROUP BY timestamp, product
ORDER BY timestamp

备份

Export > 导出为JSON >

问题

grafana的查询条件不生效?
解决办法:
1.需要配置变量
2.在查询中使用变量,例如:topk(10, process_memory_usage{name="$name", instance="$instance"})。

为什么变量勾上Multi-value或Include All option后,反而无法查询到数据
解决办法:
查询中修改匹配模式,例如:topk(10, process_memory_usage{name=~"$name", instance=~"$instance"})。

忘记密码
解决办法:
grafana-cli admin reset-admin-password 新密码
systemctl restart grafana-server

搜索框选择分类后,图表没有显示,需要鼠标点击后才显示
解决办法:
把override的删掉

posted @ 2026-09-09 16:03  WiseHYH  阅读(17)  评论(0)    收藏  举报