真要落地Grok-1监控,其实是三步走的事儿:先让服务把指标暴露出来,然后让Prometheus去采集,最后在Grafana里把仪表盘搞起来。具体来说,就是启用了/metrics端点(记得加--metrics-enabled=true),配好Prometheus的抓取任务(grokai和nvidia-dcgm都得安排上),然后在Grafana里把ID 18608那个仪表盘导进来,顺带设好P95延迟和GPU显存的告警。
要是你已经把Grok-1这个分布式AI模型部署好了,但GPU显存蹭蹭往上涨、推理延迟突然翻个倍、专家模型调用动不动就失败,而你却啥也不知道——那说明你的监控仪表盘还没真正落地。指标暴露、采集、可视化这三个环节,肯定至少有哪个地方断了。

启用Grok-1服务的/metrics端点
先说第一步:确认服务启动时已经把指标导出功能打开了。Grok-1启动命令里,必须带上【--metrics-enabled=true】这个参数,不然/metrics路径直接给你返回404,后面所有监控步骤都白搭。
然后,检查一下HTTP服务端口(比如8000)是不是对外暴露的,能不能直接访问 http://grokai-service:8000/metrics。返回的内容应该是纯文本格式的Prometheus指标,里面得有gpu_memory_used_bytes、inference_latency_seconds、expert_call_count这些关键行;要是返回空页面或者HTML错误页,说明服务没正确加载指标中间件。
这一步其实很简单,直接curl一下就能验证。但关键在于,必须在部署完马上就测,千万别等到出了故障才想起来补。
配置Prometheus抓取Grok-1指标
方法一:直接改prometheus.yml文件,在scrape_configs段落末尾加个新任务:
- job_name: 'grokai'
static_configs:
- targets: ['grokai-service:8000']
方法二:如果想一块儿把Grok-1和GPU指标都采集了,那还得额外加个NVIDIA DCGM Exporter任务:
- job_name: 'nvidia-dcgm'
static_configs:
- targets: ['nvidia-docker-host:9100']
这里必须注意:【targets地址得用容器网络能解析的名字或者宿主机IP,千万别填localhost】,不然Prometheus因为网络不可达,会一直显示“down”状态。
在Grafana中接入Prometheus并导入仪表盘
① 打开Grafana Web界面(默认 http://your-ip:3000),用admin/admin登录,然后改下初始密码。
② 点左上角齿轮图标 → 「Data Sources」→ 「Add data source」→ 选 Prometheus。
③ 在URL栏填Prometheus服务地址,比如 http://prometheus:9090(Docker容器间通信)或者 http://192.168.1.139:9090(物理机直连)。
④ 点「Sa ve & test」,看到绿色提示「Data source is working」才算成。
⑤ 返回首页 → 「+」→ 「Import」→ 在「Import via grafana.com」框里输入模板ID 【18608】 → 点Load → 选刚才配好的Prometheus数据源 → Import。
手动创建关键指标面板
新建Dashboard → 点「Add new panel」→ 在Query字段输入:
gpu_memory_used_bytes / gpu_memory_total_bytes * 100
图例设成「GPU显存使用率(%)」,图表类型选「Gauge」,阈值设成 85/95/100 —— 超过85%就变黄,95%变红,这是防OOM的关键红线。
再建一个面板,Query写:
histogram_quantile(0.95, rate(inference_latency_seconds_bucket[5m]))
标题写「P95推理延迟(s)」,图表类型选「Stat」,单位设成 seconds。这个值要是持续超过2.5秒,说明模型调度或者GPU计算已经出瓶颈了。
注意:千万别用 a vg_over_time(inference_latency_seconds[5m]),它会掩盖长尾延迟,导致误判。
配置实时告警规则
进Grafana左侧菜单「Alerting」→ 「Alert rules」→ 「New alert rule」:
规则名称填「Grok-1 P95延迟超限」;
Expression填:
histogram_quantile(0.95, rate(inference_latency_seconds_bucket[5m])) > 2.5
评估频率设成「1m」,持续时间选「3m」;
通知渠道选Email或者Webhook,目标地址填运维邮箱或者企业微信机器人URL。
【告警条件必须绑 quantile="0.95",而不是a vg,不然单次毛刺就会触发误报】。
