Leider bietet der AntMedia Server bisher keinen eigenen Prometheus Exporter an um die Statistiken über die aktuellen Zuschauerzahlen etc. in Prometheus zu übertragen und so für die Nachwelt und eine nachträgliche Auswertung zu speichern. Da der AntMedia Server allerdings eine eigene REST API anbietet, die die entsprechenden Daten bereitstellt, kann man diese per json_exporter für Prometheus abrufbar machen.

Hierzu muss im AntMedia Server der Zugriff von der jeweiligen IP-Adresse auf die API erlaubt werden. Nachfolgenden kann der json_exporter mit folgender Konfiguration gestartet werden.

---
metrics:
- name: antmedia
  type: object
  help: AntMedia Server broadcast statistics
  path: $[*]
  labels:
    streamId: $.streamId
    name: $.name
    status: $.status
    type: $.type
  values:
    speed: $.speed
    bitrate: $.bitrate
    hlsViewerCount: $.hlsViewerCount
    webRTCViewerCount: $.webRTCViewerCount
    rtmpViewerCount: $.rtmpViewerCount
    mp4Enabled: $.mp4Enabled
    webMEnabled: $.webMEnabled

In Prometheus kann der Exporter dann mit folgender Konfiguration eingebunden werden. Leider ist es bisher nicht möglich alle in AntMedia Server erstellten Applikationen über einen zentralen API Endpunkt abzurufen.

scrape_configs:
  - job_name: json
    static_configs:
    - targets:
      - http://localhost:5080/LiveApp/rest/v2/broadcasts/list/0/9999
    metrics_path: /probe
    scrape_interval: 15s
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: localhost:7979

Die in Prometheus vorliegenden Daten lassen sich dann z.B. per Grafana entsprechned aufbereiten und darstellen.

Grafana Prometheus AntMedia Statistiken