rpc_view
rpc_view
了解 bRPC 的 rpc_view 工具。
rpc_view 可以转发端口受限的 server 的内置服务。像百度内部,如果一个服务的端口不在 8000-8999,就只能在命令行下使用 curl 查看它的内置服务,没有历史趋势和动态曲线,也无法点击链接,排查问题不方便。rpc_view 是一个特殊的 http proxy:把对它的所有访问都转为对目标 server 的访问。只要 rpc_view 的端口能在浏览器中被访问,我们就能通过它看到原本不能直接看到的 server 了。
获取工具
先按照Getting Started编译好 brpc,再去 tools/rpc_view 编译。
在 CentOS 6.3 上如果出现找不到 libssl.so.4 的错误,可执行ln -s /usr/lib64/libssl.so.6 libssl.so.4临时解决
访问目标 server
确保你的机器能访问目标 server,开发机应该都可以,一些测试机可能不行。运行 ./rpc_view 就可以了。
比如:
$ ./rpc_view 10.46.130.53:9970
TRACE: 02-14 12:12:20: * 0 src/brpc/server.cpp:762] Server[rpc_view_server] is serving on port=8888.
TRACE: 02-14 12:12:20: * 0 src/brpc/server.cpp:771] Check out http://XXX.com:8888 in web browser.打开 rpc_view 在 8888 端口提供的页面(在 SecureCRT 中按住 ctrl 点击 url):

这个页面正是目标 server 的内置服务,右下角的提示告诉我们这是 rpc_view 提供的。这个页面和真实的内置服务基本是一样的,你可以做任何操作。
更换目标 server
你可以随时停掉 rpc_view 并更换目标 server,不过你觉得麻烦的话,也可以在浏览器上操作:给 url 加上 ?changetarget= 就行了。
假如我们之前停留在原目标 server 的 /connections 页面:

加上 ?changetarge 后就跳到新目标 server 的 /connections 页面了。接下来点击其他 tab 都会显示新目标 server 的。

最后修改于 2022 年 5 月 17 日:更新 brpc 用户页面 (devlive-community/knowforge#71) (a31ce10d3)
评论
登录后参与评论
KnowForge