内置服务
内置服务
了解 bRPC 的内置服务。
内置服务
内置服务从不同角度暴露服务器的内部状态,使基于 brpc 的开发和调试更加高效。brpc 通过 HTTP 提供内置服务,可以很方便地用 curl 和浏览器访问。服务器会根据请求头中的 User-Agent 响应纯文本或 HTML,你也可以在 URI 后追加 ?console=1 来强制服务器返回纯文本。更多详情请查看示例(运行在我们的开发机上,仅百度内网可访问)。如果你运行 curl 或浏览器的位置无法访问该端口(例如百度内部并非所有端口都能从浏览器访问),可以使用 rpc_view 进行代理转发。
下面两张截图分别展示了从浏览器和终端访问内置服务的界面。注意 logo 是百度内部的代号,在开源版本中已改为 brpc。
来自浏览器

来自终端

安全模式
为了避免潜在的攻击和信息泄露,内置服务必须在可能被公网访问的服务器上隐藏,包括由 nginx 或其他 HTTP 服务器代理的服务器。点击此处查看更多详情。
主要服务
/status:显示所有服务的简要状态。
/vars:列出各项指标上用户可自定义的计数器。
/connections:列出所有连接及其统计信息。
/flags:列出所有 gflags,其中部分可在运行时修改。
/rpcz:追踪所有 RPC。
cpu profiler:分析 CPU 热点。
heap profiler:展示内存的分配情况。
contention profiler:分析锁竞争。
其他服务
/version 显示服务器的版本。调用 Server::set_version() 可指定服务器版本,否则 brpc 会生成类似 brpc_server_<service-name1>_<service-name2> ... 的默认版本。

/health 显示该服务器是否存活。

/protobufs 显示服务器内所有 protobuf 消息的结构。

/vlog 显示所有可开启的 VLOG(与 glog 不兼容)。

/dir:浏览服务器上的所有文件,使用方便但过于危险,默认禁用。
/threads:显示进程内所有线程的信息,开启后会显著影响性能,默认禁用。
最后修改于 2022 年 2 月 26 日:[brpc website 1.0 修复概览页面链接跳转问题 (14eec1ac1)]](https://github.com/apache/brpc-website/commit/14eec1ac1805c1dde9f10d0353984bde2127294c)
评论
登录后参与评论
KnowForge