Webman集成Grafana展示业务监控大屏

夜辰小哥_5555

夜辰小哥_5555

2026-07-29

698人浏览

原创

webman暴露/metrics端点需单例collectorregistry、标准openmetrics文本格式(#help开头,name{label} value timestamp)、响应头content-type: text/plain; version=0.0.4,且禁止多worker重复初始化或传入非法标签。

webman集成grafana展示业务监控大屏

Webman 本身不直接提供指标采集和可视化能力,要集成 Grafana 展示业务监控大屏,本质是让 Webman 暴露可观测指标(如请求量、响应时间、错误率),再由 Prometheus 抓取,最后在 Grafana 中建模展示。这不是“Webman 插件式接入”,而是标准的云原生监控链路。

Webman 如何暴露 Prometheus 兼容的 metrics 端点

Webman 没有内置 metrics 中间件,需手动实现或借助 workerman/metrics 扩展。核心是注册一个 HTTP 路由,返回符合 Prometheus 文本格式的指标数据(Content-Type: text/plain; version=0.0.4)。

  • 推荐使用 workerman/metrics:安装后在启动文件中调用 Metric::init(),并注册路由如 /metrics,它会自动聚合连接数、请求计数、响应延迟直方图等基础指标
  • 自定义业务指标必须手动注册:例如用 Metric::counter('api_login_total', 'login success count') 记录登录次数,并在登录逻辑中调用 Metric::inc('api_login_total')
  • 注意:所有指标名、标签值必须符合 Prometheus 命名规范(只含字母、数字、下划线,不能以数字开头),否则 prometheus 抓取时会报 invalid metric name
  • 不要在控制器里实时计算耗时指标——应在中间件或全局事件钩子(如 onWorkerStart)中初始化计数器/直方图,否则高并发下会严重拖慢响应

Grafana 中配置 Webman 指标数据源与查询

确保 Prometheus 已将 Webman 的 /metrics 端点加入 scrape_configs,并在 Grafana 中添加该 Prometheus 为数据源后,才能开始写查询。

Webman 2.2.0
Webman 2.2.0

Webman 2.2.0版本强化了 TCP/UDP 服务支持,优化路由组管理,并增强异步任务处理能力。结合协程与连接池技术,Webman 能轻松应对高并发场景,适用于网站、接口服务、即时通讯、物联网及游戏开发,兼具高性能、灵活扩展与稳定可靠,是多场景 PHP 服务开发的理想选择。

下载
  • 面板查询语言必须用 PromQL,不是 SQL 或 JS:例如查每秒登录请求数,写 rate(api_login_total[1m]),不是 SELECT COUNT(*) FROM logs
  • 标签过滤要带引号:想看特定环境的指标,写 api_login_total{env="prod"},漏掉引号会导致语法错误
  • 避免直接展示原始计数器:api_login_total 是单调递增的,应始终配合 rate()、increase() 或 sum by() 使用,否则图表会是一条垂直上升的直线
  • Webman 的 HTTP 延迟指标默认是直方图类型(http_request_duration_seconds_bucket),要用 histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[1m])) by (le)) 计算 P95 延迟

Webman 日志如何进 Grafana(非 metrics 场景)

如果想把 Webman 的 access log 或 error log 推送到 Grafana,不能走 Prometheus(它不处理日志),得用 Loki + Promtail 链路。

  • Webman 日志需输出到文件(如 runtime/log/app.log),且格式尽量结构化(JSON 最佳),避免纯文本解析困难
  • Promtail 配置中,scrape_configs 的 static_config 必须指向 Webman 日志路径,并用 pipeline_stages 提取字段(如 status_code、uri)
  • Grafana 查询 Loki 时,用 LogQL:例如查 5xx 错误,写 {job="webman"} | json | status_code >= 500;若没启用 json 解析器,只能用正则 |~ "5\d\d",但不可靠
  • Loki 不支持复杂聚合(如按 URI 分组统计 404 次数),这类需求得回退到 ELK 或用 Grafana + Prometheus + 自定义 exporter 折中实现

真正卡住人的地方不在 Webman 侧,而在于 Prometheus 抓取间隔(scrape_interval)和 Grafana 刷新频率的错配——比如设了 15s 抓取,却在 Grafana 里用 1s 刷新面板,结果看到的是重复旧数据或空白。这个细节没有文档会强调,但实际调试时八成问题出在这儿。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

webman webman框架

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Grafana重置admin密码
Grafana重置admin密码

本专题整合了grafana admin密码相关教程,阅读专题下面的文章了解更多详细内容。

2025.09.02

2134

12

Grafana admin密码
Grafana admin密码

本专题整合了Grafana密码相关教程,阅读专题下面的文章了解更多详细内容。

2025.12.09

710

9

Webman入门教程合集
Webman入门教程合集

本专题聚焦Webman高性能PHP框架,为您提供零基础入门的一站式全攻略。内容涵盖开发环境搭建全流程、核心原理解析(如目录结构、生命周期)及API接口实战开发。无论您是初次接触还是进阶巩固,都能在此找到实用的教程合集,助您快速掌握这款“常驻内存”的PHP利器,实现高性能后端应用的高效构建。

2026.05.21

237

12

Webman框架集成与数据库配置
Webman框架集成与数据库配置

本专题聚焦 Webman 高性能 PHP 框架,为您提供一站式后端开发全攻略。内容深度涵盖框架快速入门、多数据库进阶配置(Eloquent & ThinkORM)、以及企业级核心组件集成(如 JWT 鉴权、RabbitMQ 消息队列、Elasticsearch 全文搜索)。

2026.05.21

187

16

Webman常见问题与错误排查
Webman常见问题与错误排查

本专区深度聚焦 Webman 高性能框架常见故障与性能调优,为您提供一站式全能排查攻略。内容精准覆盖 404/500 核心报错修复、内存溢出(Memory Limit)深度排查、以及 Redis 连接与 Session 失效等开发者高频痛点。

2026.05.21

329

15

Webman框架功能开发全指南
Webman框架功能开发全指南

本专题深度聚焦 Webman 高性能 PHP 框架全功能模块开发,为您提供一站式实战全攻略。内容深度涵盖从基础的 RESTful API 规范化设计到高阶的即时通讯(WebSocket)、多语言国际化(i18n)及定时任务系统等等。

2026.05.21

364

32

Webman部署与运维指南
Webman部署与运维指南

本专区聚焦 Webman 高性能框架生产级部署与运维实战,为您提供一站式全攻略。内容深度涵盖 Linux/Windows 多端环境搭建、核心架构方案(如 Docker 容器化扩容、负载均衡下的 Session 共享、集群一致性部署)及自动化运维体系。

2026.05.21

338

14

Webman协程与高性能优化
Webman协程与高性能优化

本专区聚焦 Webman 协程与高性能优化教程,为您提供一站式学习攻略。内容涵盖框架协程机制详解、性能优化策略、实战示例及常见问题解析。无论您是 PHP 开发初学者,还是追求高并发优化的进阶开发者,都能在此找到实用指南,助您全面掌握 Webman 高性能 PHP 框架,实现高效、可扩展的 Web 应用开发。

2026.05.21

297

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Webman和FastAPI的性能对比
Webman和FastAPI的性能对比

共0课时 | 314人学习

Webman中文手册
Webman中文手册

共0课时 | 0人学习

webman初步使用及后台搭建
webman初步使用及后台搭建

共15课时 | 2.7万人学习