0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Prometheus与Grafana实现MindIE服务可视化监控功能

OSC开源社区 ? 来源:OSC开源社区 ? 2025-04-21 11:48 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者 | 孙晓 李锋

1相关概念

1.1 MindIE 服务化监控指标查询接口

在 MindIE 服务化运行过程中,为了及时掌握服务的运行状态、性能表现以及发现潜在问题,提供了服务监控指标查询接口(普罗 (Prometheus) 格式)。该接口能够帮助开发者和运维人员获取丰富的服务监控指标数据,为优化服务配置、保障服务质量提供有力支持。

本文将介绍如何使用 Prometheus 与 Grafana 来实现 MindIE 服务可视化监控功能。

当前接口支持以下指标监控,详情可以参考:服务监控指标查询接口(普罗格式)

名称 描述
请求相关指标
request_received_total 服务端接收到的推理请求总数。通过该指标可了解服务的访问热度。
request_success_total 推理成功的请求个数,用于衡量服务的推理成功率。
request_failed_total 推理失败的请求个数,结合成功请求数可计算失败率,评估服务的稳定性。
num_requests_running 当前正在运行的请求个数,反映服务当前的负载情况。
num_requests_waiting 当前等待处理的请求个数,可用于判断服务的处理能力是否满足需求。
num_requests_swapped 当前被交换到 CPU 上的请求个数,帮助了解资源调度情况。
num_preemptions_total 累计触发请求抢占的次数,用于分析服务资源竞争和调度策略的合理性。
Token 相关指标
prompt_tokens_total 处理的所有请求的输入 prompt token 总数,反映输入数据量。
generation_tokens_total 推理后生成的 token 总数,体现服务的输出量。
avg_prompt_throughput_toks_per_s 平均 Prefill 吞吐量,衡量输入阶段的处理速度。
avg_generation_throughput_toks_per_s 平均 token 吞吐量,反映整体的推理生成速度。
request_prompt_tokens 请求输入的 token 数量,用于分析单个请求的输入规模。
request_generation_tokens 请求输出的 token 数量,帮助了解单个请求的输出规模。
性能和资源指标
failed_request_perc 推理失败的请求率,直观反映服务的可靠性。
npu_cache_usage_perc KV Cache 的 NPU 显存利用率,监控 NPU 资源使用情况。
cpu_cache_usage_perc KV Cache 的 CPU 利用率,掌握 CPU 资源使用状况。
npu_prefix_cache_hit_rate NPU 卡上 prefix cache 的命中率,评估缓存的使用效率。
时延指标
time_to_first_token_seconds 首 token 时延,衡量请求推理生成首个 token 的速度,对实时性要求较高的场景至关重要。
time_per_output_token_seconds token 生成时延,反映连续生成 token 之间的时间间隔,影响服务的响应流畅度。
e2e_request_latency_seconds 端到端时延,代表请求从接收到执行完成的总耗时,综合体现服务的整体性能。

1.2Prometheus 是什么

Prometheus 是一个开源的系统监控和报警工具包,最初由 SoundCloud 开发,现在是 Cloud Native Computing Foundation(CNCF)的一部分。Prometheus 以其强大的数据收集和查询能力、易于扩展和高可用性在行业内得到了广泛应用。以下是 Prometheus 的核心概念:

时间序列数据库:Prometheus 主要用于存储时间序列数据,即带有时间戳的指标数据。每个时间序列由一个指标名和一组标签(key-value 对)标识。

多维数据模型:Prometheus 的数据模型基于指标名称和标签,可以灵活地对监控数据进行分类和过滤,从而实现复杂的查询和分析。

PromQL:Prometheus 查询语言(PromQL)用于实时查询和分析存储在 Prometheus 中的数据。它支持丰富的运算符和函数,能够满足多种监控和报警需求.

1.3 Grafana 是什么

Grafana 是一个开源的可视化和监控平台,广泛应用于数据分析、监控和报警。它支持多种数据源,提供丰富的可视化工具,使用户能够创建交互式的仪表盘。以下是 Grafana 的核心功能:

数据可视化:Grafana 提供了多种图表类型,包括折线图、柱状图、饼图、热图等,用户可以通过拖拽的方式轻松创建和自定义仪表盘。

支持多种数据源:Grafana 支持从多种数据源获取数据,包括 Prometheus、InfluxDB、Graphite、Elasticsearch、MySQL、PostgreSQL 等。

灵活的查询和过滤:通过集成的数据源查询语言,Grafana 允许用户灵活地对数据进行过滤、聚合和转换。每种数据源都有专门的查询编辑器,帮助用户编写查询语句。

报警和通知:Grafana 提供强大的报警功能,允许用户基于查询结果设置报警规则。当条件满足时,可以通过邮件、Slack、PagerDuty 等多种渠道发送通知。

用户管理和权限控制:Grafana 提供详细的用户管理和权限控制功能,支持用户、团队和组织的管理。用户可以根据需要设置不同的访问权限,保护敏感数据。

2 实践记录

2.1 Prometheus 安装

Prometheus 安装方法参考:

https://prometheus.cloudnative.io/di-san-zhang-prometheus/di-2-jie-an-zhuang/installation

为方便起见,本次实践笔者采用预编译二进制文件安装方法,在 Windows PC 上安装。

安装地址:https://prometheus.io/download/

7eb4e734-1c0c-11f0-9310-92fbcf53809c.png

2.2 Grafana 安装

Grafana 同样支持在不同操作系统安装,详见教程https://grafana.com/docs/grafana/latest/setup-grafana/installation/

本次实践选择在 Windows 安装,安装地址https://grafana.com/grafana/download?platform=windows

7ed5c5bc-1c0c-11f0-9310-92fbcf53809c.png

2.3 MindIEService 服务部署启动

需在服务器启动 MindIE-Service 服务,服务启动教程不做赘述。

由于 MindIE 服务和 Prometheus+Grafana 在不同主机启动,因此注意配置 config.json 文件。修改 ipAddress 和 managementIpAddress 为服务器 IP,保证 Prometheus+Grafana 服务可访问该 IP 地址。同时需要注意端口设置。

7eef39fc-1c0c-11f0-9310-92fbcf53809c.png

另外,需要确保启动服务前开启服务化监控开关,开启服务化监控功能的命令如下:

export MIES_SERVICE_MONITOR_MODE=1

参考:https://www.hiascend.com/document/detail/zh/mindie/10RC3/mindieservice/servicedev/mindie_service0251.html

7f01b370-1c0c-11f0-9310-92fbcf53809c.png

尝试使用 curl 命令验证 metricsPort 输出正常:curl http://{ip}:{port}/metrics

发现能返回普罗格式 metric 输出

7f11e9ac-1c0c-11f0-9310-92fbcf53809c.png

2.4 启动 Prometheus 和 Grafana

Step1修改 prometheus 安装目录下的 promethues.yml 文件,添加 MindIE 服务的 IP 和 metricsport

7f269960-1c0c-11f0-9310-92fbcf53809c.png

点击 Prometheus 安装目录下的 promethrus.exe 和 Grafana 安装目录下的 bin/grafana-server.exe 启动 Prometheus 和 Grafana

Step2打开 Grafana http://localhost:3000 ,预设账号密码是 admin@admin,第一次登录会需要修改密码。

7f3b06c0-1c0c-11f0-9310-92fbcf53809c.png

Step3点击 Connection > Data sources > Add new data source,选择 prometheus,之后把 prometheus 的 URL http://localhost:9090 / 填上去,点击最下面 Save & test。

7f54b49e-1c0c-11f0-9310-92fbcf53809c.png

Step4之后可以在 Grafana 页面建立 dashboard,在 Home-Dashboards-New dashboard 建立 dashboard, Dashboard 手动构建较麻烦,可以参考一些 Grafana 教程 https://imageslr.com/2024/grafana.html

7f67d2ae-1c0c-11f0-9310-92fbcf53809c.png

好在可以通过 json 格式输入或 json 文件 import 快速构建 dashboard

这里选择参考下面 vllm 的 grafana json 文件,将其中的 vllm: 字段去掉(因为 MindIE 的 metrics 字段和 vllm 的 metric 有区别)

http://www.gitpp.com/digiman/vllm/-/blob/main/examples/production_monitoring/grafana.json?ref_type=heads

7f82219a-1c0c-11f0-9310-92fbcf53809c.png

最终得到 MindIE 指标监控看板界面

7f99eac8-1c0c-11f0-9310-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    9032

    浏览量

    153953
  • 开源
    +关注

    关注

    3

    文章

    3754

    浏览量

    43968
  • 可视化
    +关注

    关注

    1

    文章

    1266

    浏览量

    21928
  • 服务端
    +关注

    关注

    0

    文章

    68

    浏览量

    7253

原文标题:MindIE服务化部署实现监控功能

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用协议分析仪进行数据分析与可视化

    分析与可视化需结合工具功能与业务场景: 快速诊断:依赖内置统计和IO Graph。 深度分析:导出数据至Python/R进行统计建模。 长期监控:集成至SIEM/APM系统实现自动
    发表于 07-16 14:16

    阿里云容器Kubernetes监控(二) - 使用Grafana展现Pod监控数据

    摘要: 简介 在kubernetes的监控方案中,Heapster+Influxdb+Grafana的组合相比prometheus等开源方案而言更为简单直接。而且Heapster在
    发表于 05-10 15:28

    可视化MES系统软件

    和客户都会造成损失,为了更好的满足客户需求、实现企业信息,目前企业制造过程中主要还存在以下需求:(1)数据可视化方面。MES系统软件之所以能有效的监控整个车间的生产过程,主要是通过对
    发表于 11-30 19:55

    三维可视化的应用和优势

    。  数据统计分析可视化:目前应用较为广泛,此功能普遍应用于商业智能、***决策、公众服务、市场营销等等领域。借助可视化的管理系统,可以更加清晰的进行信息传达与沟通。  三维
    发表于 12-02 11:52

    prometheus监控服务的整个流程介绍

    Prometheus,Graphite,InfluxDB等各种数据源中获取数据,并通过精美的图形将其可视化Prometheus UI主界面大致如下:所有注册的Exporter都可以在UI查看,告警也可以在
    发表于 12-23 17:34

    简述linux-arm64 UOS安装开源Grafana的步骤

    (linux-arm64)UOS安装开源Grafana-7.2.0,和CentOS安装步骤一样Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警
    发表于 06-16 15:00

    使用Thanos+Prometheus+Grafana构建监控系统

    对于弹性伸缩和高可用的系统来说,一般有大量的指标数据需要收集和存储,如何为这样的系统打造一个监控方案呢?本文介绍了如何使用 Thanos+Prometheus+Grafana 构建监控系统。
    的头像 发表于 05-05 21:14 ?3049次阅读

    通过Grafana实现OVL数据可视化的两种方法

    本文以MySQL数据库为例介绍如何通过Grafana实现OVL数据的可视化,其中有两种方法,一种是通过OVL的REST API来实现数据可视化
    的头像 发表于 05-27 17:52 ?1731次阅读

    互动仓库物流监控管理可视化服务

    智能仓库的优势在于3D智能可视化服务,使仓库物流监控和管理能够实时显示并自动识别,智能决策可以与各个环节的物流信息系统集成。广州华锐互动利用3D可视化和3D建模技术,为智能仓库创建3D
    发表于 06-24 17:40 ?900次阅读

    Grafana 9泰酷了吧

    Grafana 9.0 的主要重点是改善 Grafana 的用户体验,使可观察性和数据可视化更易用也更容易获得。无论是通过 Prometheus 和 Loki
    的头像 发表于 05-30 11:30 ?785次阅读
    <b class='flag-5'>Grafana</b> 9泰酷了吧

    如何使用Grafana轻松实现OVL数据可视化

    前言本文以MySQL数据库为例介绍如何通过Grafana实现OVL数据的可视化,其中有两种方法,一种是通过OVL的RESTAPI来实现数据可视化
    的头像 发表于 06-01 18:23 ?1218次阅读
    如何使用<b class='flag-5'>Grafana</b>轻松<b class='flag-5'>实现</b>OVL数据<b class='flag-5'>可视化</b>

    虹科干货 | 虹科教您使用Grafana轻松实现OVL数据可视化

    虹科IIoT虹科教您使用Grafana轻松实现OVL数据可视化前言本文以MySQL数据库为例介绍如何通过Grafana实现OVL数据的
    的头像 发表于 05-27 10:34 ?1128次阅读
    虹科干货 | 虹科教您使用<b class='flag-5'>Grafana</b>轻松<b class='flag-5'>实现</b>OVL数据<b class='flag-5'>可视化</b>

    物联网可视化监控大屏如何实现?有什么功能

    在物联网飞速发展的时代,可视化监控大屏成为了众多企业和机构实现智能管理和监控的重要工具。它将各种各样设备的运行状态和数据以图形、图表、动画
    的头像 发表于 04-11 09:25 ?1424次阅读

    如何实现园区大屏可视化

    如何实现园区大屏可视化? 1.建立孪生模型:首先需要建立园区的孪生模型,即一个数字的虚拟模型,反映了园区的实际情况、结构、设备、人员等信息。这个模型可以通过传感器、监控设备、GIS
    的头像 发表于 06-19 15:39 ?809次阅读
    如何<b class='flag-5'>实现</b>园区大屏<b class='flag-5'>可视化</b>?

    服务器 Flexus X 实例,Docker 集成搭建 Grafana 开源数据可视化平台

    Grafana 是一个开源数据可视化平台,广泛用于监控和分析系统性能、应用程序指标和其他数据。它支持多种数据源,如 Prometheus、Graphite、InfluxDB 和 MyS
    的头像 发表于 01-13 15:50 ?497次阅读
    云<b class='flag-5'>服务</b>器 Flexus X 实例,Docker 集成搭建 <b class='flag-5'>Grafana</b> 开源数据<b class='flag-5'>可视化</b>平台