RTPEngine 通过 HTTP 获取指标的方式

文章目录

  • 1.背景介绍
  • 2.RTPEngine 支持的 HTTP 请求
  • 3.通过 HTTP 请求获取指标的方法
      • 3.1 脚本配置
      • 3.2 请求方式

1.背景介绍

RTPEngine 是常用的媒体代理服务器,通常被集成到 SIP 代理服务器中以减小代理服务器媒体传输的压力,其架构如下图所示。这种使用方式相当于将 RTPEngine 隐藏在 SIP 代理服务器后面,我们虽然可以借助 SIP 代理服务器提供的相关接口有限操作 RTPEngine,但是对 RTPEngine 实例的相关数据缺乏控制

RTPEngine 通过 HTTP 获取指标的方式_第1张图片

2.RTPEngine 支持的 HTTP 请求

实际上 RTPEngine 提供了一套供外部使用的 HTTP 接口,读者如有兴趣可前往 官方传送门。简单来说,RTPEngine 主要支持以下几种 HTTP 的请求路径:

  1. CLI 控制接口: /cli/
    这部分主要是通过 HTTP 请求使用 rtpengine-ctl 的功能,其支持的命令可以参考 RTPEngine源码cli.c文件
  2. ng 协议接口: /ng
    这部分主要和 ng 相关,支持的命令可以参考 RTPEngine源码control_ng.c文件
  3. 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'

RTPEngine 通过 HTTP 获取指标的方式_第2张图片

你可能感兴趣的:(工具配置,SIP,SIP,RTP,代理,RTPEngine)