文章目录
- 1.背景介绍
- 2.RTPEngine 支持的 HTTP 请求
- 3.通过 HTTP 请求获取指标的方法
- 3.1 脚本配置
- 3.2 请求方式
1.背景介绍
RTPEngine
是常用的媒体代理服务器,通常被集成到 SIP 代理注册服务器中实现媒体传输的功能以减小 SIP 代理服务器的压力,其架构如下图所示。这种使用方式相当于将 RTPEngine 隐藏在 SIP 代理服务器后面,我们虽然可以借助 SIP 代理服务器提供的相关接口有限操作 RTPEngine,但是对 RTPEngine 实例的相关数据缺乏控制
2.RTPEngine 支持的 HTTP 请求
实际上 RTPEngine 提供了一套供外部使用的 HTTP 接口,读者如有兴趣可前往 官方传送门。简单来说,RTPEngine 主要支持以下几种 HTTP 的请求路径:
CLI 控制接口: /cli/
这部分主要是通过 HTTP 请求使用rtpengine-ctl
的功能,其支持的命令可以参考 RTPEngine源码cli.c文件ng 协议接口: /ng
这部分主要和 ng 相关,支持的命令可以参考 RTPEngine源码control_ng.c文件Prometheus 指标上报: /metrics
这部分比较简单,直接请求该 URI 即可,没有特殊参数
3.通过 HTTP 请求获取指标的方法
3.1 脚本配置
要使用 HTTP 协议和 RTPEngine 交互,需要在 RTPEngine 的启动脚本中开启以下配置绑定监听的端口和 IP:
listen-http = 127.0.0.1:2225
3.2 请求方式
修改配置启动 RTPEngine 后,直接通过 curl 发送 HTTP 请求即可完成交互,以下为一个示例:
curl --location --request GET 'http://127.0.0.1:2225/cli/list+numsessions'