2.6 KiB
Prometheus exporter
The goal of this version is to offer a few basic metrics for initial testing. The set of supported metrics can be extended.
The current implementation is partly
unconventional
in that it creates new metrics each time but does not register a
custom collector. Reasons are that the exporter should
clear out metrics
for closed connections but that prom-client
does not yet support
custom collectors.
This version has been ported from an earlier Python version that was not part
of multiparty-meeting but connected as an interactive client.
Configuration
See prometheus in server/config/config.example.js for options and
applicable defaults.
If multiparty-meeting was installed with
mm-absible
it may be necessary to open the iptables firewall for incoming TCP traffic
on the allocated port (see /etc/ferm/ferm.conf).
Metrics
| metric | value |
|---|---|
edumeet_peers |
|
edumeet_rooms |
|
mediasoup_consumer_byte_count_bytes |
byteCount |
mediasoup_consumer_score |
score |
mediasoup_producer_byte_count_bytes |
byteCount |
mediasoup_producer_score |
score |
Architecture
+-----------+ +---------------------------------------------+
| workers | | server observer API |
| | sock | +------o------+----o-----+
| +------+ | int. server | exporter |
| | | | | |
| mediasoup | | express socket.io | net | express |
+-----+-----+ +----+---------+-----+-----+-------+-----+----+
^ min-max ^ 443 ^ 443 ^ sock ^ PROM_PORT
| RTP | HTTPS | ws | | HTTP
| | | | |
| +-+---------+-+ +------+------+ +---+--------+
+---------------+ app | | int. client | | Prometheus |
+-------------+ +-------------+ +------------+