如何将Dify运行指标接入Prometheus与Grafana进行监控详细步骤
通过设置环境变量开启Dify的 metrics端点,再配置Prometheus抓取指标,支持单实例或Kubernetes动态发现。此外可部署Exporter获取更细粒度Token消耗数据。最后导入Grafana看板并配置告警规则,从而实现实时监控与异常告警闭环。
在生产环境中,当Dify突然变慢、请求频繁报错、或者Token用量疯狂飙升却找不到源头的时候,那种无力感确实让人头疼。这时候,你得让系统自己“交代”状态——通过Prometheus实时抓取Dify的指标,然后在Grafana上一目了然地呈现出来,形成一个可量化、能告警、还能下钻排查的监控闭环。整个过程不需要改Dify的源码,全靠它本身暴露的/metrics端点和标准的OpenMetrics协议来对接。

确认Dify是否已启用指标暴露功能
默认情况下,Dify v0.7.0以上的镜像其实已经内置了Prometheus兼容的metrics中间件,但不会自动开启。你得让系统知道要暴露这些指标——设置环境变量 【ENABLE_METRICS=true】。如果没设置,容器启动后访问/metrics路径会直接返回404,后续的采集动作全都白搭。
验证方法很简单:在能访问Dify API服务的机器上执行 curl http://你的-dify-api地址:8080/metrics。如果返回的内容里包含类似 # HELP http_request_duration_seconds HTTP请求处理耗时分布 的OpenMetrics文本,那就说明指标已经成功暴露了。
配置Prometheus抓取Dify指标
方法一:静态配置(适用于单实例或测试环境)
如果只是单实例或者测试环境玩一玩,静态配置足够了。编辑 prometheus.yml,在 scrape_configs 下添加以下内容:
- job_name: 'dify-api'
static_configs:
- targets: ['dify-api:8080']
labels:
app: 'dify'
env: 'prod'
需要注意:target地址必须跟Prometheus所在网络能直连。Docker Compose环境下可以直接用服务名,K8s里要用Service的完整DNS名(比如 dify-api.default.svc.cluster.local)。
方法二:Kubernetes动态发现(推荐用于生产集群)
生产集群规模大了以后,用Pod标签自动发现Dify实例会更省心:
- job_name: 'dify-otel'
kubernetes_sd_configs:
- role: pod
selectors:
- matchExpressions:
- key: app.kubernetes.io/name
operator: In
values: [dify-api]
metrics_path: '/metrics'
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance]
target_label: instance
- source_labels: [__meta_kubernetes_pod_container_name]
target_label: container
这种配置确保了只抓取带 app.kubernetes.io/name=dify-api 标签的Pod,不会误采其他服务的指标。
部署并验证Dify Exporter(可选增强方案)
Dify原生的/metrics端点虽然够用,但如果你需要更细粒度的维度——比如按模型、按应用名、按LLM provider拆分Token消耗——那就得引入一个独立的Exporter来补全这个短板。
第一步:启动Dify Exporter服务,执行以下命令:
docker run -d --name dify-exporter \
-p 9876:9876 \
-e DIFY_API_URL=http://dify-api:8080 \
-e DIFY_API_KEY=sk-xxx \
ghcr.io/dify-ai/exporter:latest
第二步:在Prometheus中新增一个抓取任务,指向这个Exporter:
- job_name: 'dify-exporter'
static_configs:
- targets: ['dify-exporter:9876']
这个Exporter会主动调用Dify的Admin API,拉取应用级的统计信息,然后转换为Prometheus格式的指标,比如 dify_app_token_usage_total{app_name="hr-bot",model="gpt-4o"}。这样一来,你就能看到每个应用、每个模型的具体消耗情况了。
导入Grafana看板并配置核心告警
① 先到Grafana里添加一个Prometheus数据源,URL填 http://prometheus:9090(或者你实际的地址)。
② 导入官方提供的Dify Dashboard(ID: 21872),这个看板里已经预置了“每秒Token消耗TOP5模型”“P95请求延迟趋势”“缓存命中率变化”这些关键视图,不需要自己从头画。
③ 配置告警规则——在Prometheus的 alerts.yml 中添加以下内容:
- alert: DifyHighTokenUsage
expr: sum(increase(dify_token_usage_total[1h])) > 1000000
for: 5m
labels:
severity: critical
annotations:
summary: "Token usage exceeded 1M in last hour"
④ 启用Alertmanager,配置好企业微信或钉钉的webhook,这样告警就能直接推送到你日常用的群里。
完成这一步之后,Grafana仪表盘就可以实时展示Dify各个维度的运行状态,告警规则也开始生效了。整个监控链路跑通后,无论是性能瓶颈还是资源异常,都能第一时间感知并快速定位。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:如何将Dify运行指标接入Prometheus与Grafana进行监控详细步骤要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点度加剪辑是百度官方出品的剪辑工具,面向口播自媒体创作者。支持视频剪辑、智能识别字幕,并与百度网盘打通,可快速导入素材。适用于泛知识类创作者制作高质量视频,覆盖从素材导入到成品输出的完整流程。
WorkoutMaster是一款基于AI的个性化锻炼计划生成工具,能根据用户目标、偏好及历史训练记录,动态输出专属方案,并实时自适应调整负重、组次等参数。支持定制目标与器械偏好,借助机器学习持续优化,随时随地即可接入使用,确保训练高效安全。
Calorielens是一款利用AI分析餐食照片的卡路里追踪应用。用户只需拍照,AI即可自动识别食物种类和分量并估算卡路里,省去手动输入步骤。应用还提供历史记录追踪功能,帮助把握热量趋势。AI估算精度可满足日常健康管理需求。
百度旗下“简单搜索”AI搜索引擎集成语音、图像、多媒体搜索及实时翻译,支持多模态交互与智能推荐。基于大模型技术,用户可通过对话式交互直接获取精准答案,适用于学习、旅行、生活、职业发展等场景,高效满足信息需求。
- 日榜
- 周榜
- 月榜
热点快看
