Grafana监控可视化实战:Prometheus数据源接入与仪表盘告警配置

网站运维用Grafana做监控可视化的核心价值

Prometheus负责指标采集与存储,查询结果是一堆数字,直接看Prometheus自带界面很难发现趋势和异常。Grafana把Prometheus数据源变成可视化仪表盘,提供图表、告警、团队协作的集中入口,是网站运维/SRE搭建监控告警体系的常用组合。这篇文章讲清楚Grafana接入Prometheus、常用查询语法、仪表盘设计和告警配置的完整流程。

Grafana接入Prometheus数据源配置步骤

在Grafana左侧菜单进入Connections添加数据源,选择Prometheus,填入HTTP URL(如http://prometheus:9090),Prometheus type选Prometheus,保存后可用Explore验证。访问地址:

# docker-compose 起一套最小环境
services:
  prometheus:
    image: prom/prometheus:latest
    ports: ["9090:9090"]
  grafana:
    image: grafana/grafana:latest
    ports: ["3000:3000"]
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin123

默认账号admin/admin。数据源接入后,用Explore面板执行PromQL(如up、rate(http_requests_total[5m])),能出图说明链路通。

Grafana监控仪表盘模板与PromQL面板配置

仪表盘由一行行面板组成,每个面板绑定一条PromQL。常用指标模板:

# 请求QPS
sum(rate(http_requests_total{job="api"}[5m])) by (instance)
# 错误率
sum(rate(http_requests_total{status=~"5.."}[5m])) by (instance)
  / sum(rate(http_requests_total[5m])) by (instance)
# P99延迟(配合histogram_quantile)
histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))
# 节点内存使用率
100 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100

面板选Time series类型配PromQL即可。官方Dashboards社区(ID如1860、8919等)可以导入通用模板,但注意导入后核对数据源名称是否匹配,生产环境导入模板务必改掉无关指标。

Grafana告警规则配置与通知渠道接入

告警在Alerting里配置:创建Alert rule,选数据源和查询(如max(rate(…))>0.1持续5分钟),设置通知策略与联系人,告警接入钉钉/企微/飞书webhook或邮件。Grafana告警与Prometheus告警(Alertmanager)二选一,Grafana告警在告警规则界面操作更直观,便于给非运维同事做可视化授权。注意告警规则执行间隔和For时长要配合,避免瞬时抖动误报;告警消息模板里带上实例标签和当前值,值班人员不用跳页面就能判断严重程度。

Grafana监控大屏权限管理与高可用部署

多团队共用Grafana时用Team+Folder隔离权限,Dashboard归属按文件夹管理;只读账号给Viewer角色,禁止匿名可写。生产环境Grafana通过环境变量注入配置:GF_SERVER_ROOT_URL用于反向代理,GF_AUTH_LDAP_ENABLED对接统一登录。Grafana本身多实例部署时把告警状态存入PostgreSQL/MySQL,避免单机崩溃丢告警;在Kubernetes里用StatefulSet挂载持久卷,把Provisioning配置放在挂载目录自动加载。

原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/grafana-jian-kong-ke-shi-hua-shi-zhan-prometheus-shu-ju/

(0)
小编小编
上一篇 5小时前
下一篇 5小时前

相关推荐