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

点击
显示以下内容就是OK了
Successfully queried the Prometheus API.
Home > Connectins > Data Sources
点击

选一个 <node_cpu_seconds_total>试一下

仪表盘
实例
以 container_memory_usage_bytes{} 为例

添加过滤
- 创建命名空间变量
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」(仪表盘加载时刷新) |
- 修改查询表达式
container_memory_usage_bytes{container_label_io_kubernetes_pod_name!="",container_label_io_kubernetes_pod_namespace=~"$This_is_Name"}
图例表格

模板
node exporter:9276、12884
-
Legend # 图例

-
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的实例

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

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

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

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的删掉

浙公网安备 33010602011771号