Prometheus instrumentation service for the NGINX RTMP module.

Overview

nginx-rtmp-exporter Deploy

Prometheus instrumentation service for the NGINX RTMP module.

Usage

    nginx-rtmp-exporter [OPTIONS] --scrape-url <SCRAPE_URL>

OPTIONS:
        --format <FORMAT>            An optional format for the metadata file [default: json]
    -h, --help                       Print help information
        --host <HOST>                The host to listen on [default: 127.0.0.1]
        --metadata <METADATA>        An optional path to a metadata file
    -p, --port <PORT>                The port to listen on [default: 9114]
        --scrape-url <SCRAPE_URL>    The RTMP statistics endpoint of NGINX

Metrics

The exporter provides the following metrics:

  • nginx_build_info - The build information of NGINX, including version, RTMP module version, and compiler.
  • nginx_rtmp_application_count - The total number of active applications, as defined in the NGINX rtmp {} block.
  • nginx_rtmp_active_streams - The total number of active live streams currently being processed by the RTMP server.
  • nginx_rtmp_incoming_bytes_total - The total number of incoming bytes processed by the RTMP server since it was started.
  • nginx_rtmp_outgoing_bytes_total - The total number of outgoing bytes processed by the RTMP server since it was started.
  • nginx_rtmp_incoming_bandwidth - The incoming bandwidth of the RTMP server, in bytes per second.
  • nginx_rtmp_outgoing_bandwidth - The outgoing bandwidth of the RTMP server, in bytes per second.
  • nginx_rtmp_stream_incoming_bytes_total - The total number of incoming bytes processed by the RTMP server, labelled by stream.
  • nginx_rtmp_stream_outgoing_bytes_total - The total number of outgoing bytes processed by the RTMP server, labelled by stream.
  • nginx_rtmp_stream_incoming_bandwidth - The incoming bandwidth of the RTMP server, in bytes per second, labelled by stream.
  • nginx_rtmp_stream_outgoing_bandwidth - The outgoing bandwidth of the RTMP server, in bytes per second, labelled by stream.
  • nginx_rtmp_stream_bandwidth_video - The incoming video bandwidth of the RTMP server, in bytes per second, labelled by stream.
  • nginx_rtmp_stream_bandwidth_audio - The incoming audio bandwidth of the RTMP server, in bytes per second, labelled by stream.
  • nginx_rtmp_stream_publisher_avsync - The AV-sync value if audio data is present, labelled by stream.
  • nginx_rtmp_stream_total_clients - The total connected clients to the RTMP server, labelled by stream.

By default, all bandwidth measurements are taken over a period of 10 seconds. This is done internally by NGINX and cannot be configured by the exporter.

Metadata

The exporter also supports supplying metadata to streams. Using the --metadata flag, a metadata file can be parsed to the exporter, in the following format:

As JSON

{
	"fields": ["<field>"],
	"metadata": {
		"<stream>": {
			"<field>": "<value>"
		}
	}
}

As TOML

fields = ["<field>"]

[metadata.<stream>]
field = "<value>"

Any metadata provided for each stream is passed through to Prometheus as labels.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more information.

You might also like...
A minimal, allocation-free Prometheus/OpenMetrics metrics implementation for `no-std` and embedded Rust.

tinymetrics a minimal, allocation-free Prometheus/OpenMetrics metrics implementation for no-std and embedded projects. why should you use it? you may

Parse, edit and merge Prometheus metrics exposition format

promerge Promerge provides minimalistic and easy to use API to parse and manipulate Prometheus metrics. A simple usecase could be collecting metrics f

🔍 Fully-featured metrics collection agent for First Tech Challenge competitions. Supports Prometheus.

Scout Scout is a fully-featured free and open source metrics collector for FTC competitions. The project is licensed under the GNU LGPLv3 license. Fea

A simple configuration-based module for inter-network RPC in Holochain hApps.

DNA Auth Resolver A simple configuration-based module for inter-network RPC in Holochain hApps. About Usage In the origin zome In the destination DNA

Leaksignal Proxy-Wasm Filter Module
Leaksignal Proxy-Wasm Filter Module

Website | Docs | Blog | Slack 🔍 There are all kinds of sensitive data flowing through my services, but I don’t know which ones or what data. 🤷 LeakS

ZeroNS: a name service centered around the ZeroTier Central API

ZeroNS: a name service centered around the ZeroTier Central API ZeroNS provides names that are a part of ZeroTier Central's configured networks; once

Modular IPC-based desktop launcher service

Pop Launcher Modular IPC-based desktop launcher service, written in Rust. Desktop launchers may interface with this service via spawning the pop-launc

Open Internet Service to store transaction history for NFTs/Tokens on the Internet Computer
Open Internet Service to store transaction history for NFTs/Tokens on the Internet Computer

CAP - Certified Asset Provenance Transaction history & asset provenance for NFT’s & Tokens on the Internet Computer CAP is an open internet service pr

Cover is an open internet service for canister code verification on the Internet Computer
Cover is an open internet service for canister code verification on the Internet Computer

Cover Cover (short for Code Verification) is an open internet service that helps verify the code of canisters on the Internet Computer. Visit our webs

Owner
kaylen ✨
Master procrastinator & full-stack developer in TypeScript + React, Go, Python, Kotlin & Rust.
kaylen ✨
An asynchronous Prometheus exporter for iptables

iptables_exporter An asynchronous Prometheus exporter for iptables iptables_exporter runs iptables-save --counter and scrapes the output to build Prom

Kevin K. 21 Dec 29, 2022
A Prometheus Aggregation Gateway for FAAS applications

Gravel Gateway Gravel Gateway is a Prometheus Push Gateway for FAAS applications. In particular it allows aggregation to be controlled by the incoming

Colin Douch 85 Nov 23, 2022
A Prometheus Aggregation Gateway for FAAS applications

Gravel Gateway Gravel Gateway is a Prometheus Push Gateway for FAAS applications. In particular it allows aggregation to be controlled by the incoming

Colin Douch 85 Nov 23, 2022
A Prometheus exporter for WireGuard

wireguard_exporter An asynchronous Prometheus exporter for wireguard wireguard_exporter runs wg show [..] and scrapes the output to build Prometheus m

Kevin K. 15 Dec 29, 2022
Export statistics of Mosquitto MQTT broker (topic: $SYS) to Prometheus

Preface The Mosquitto MQTT broker provides a number of statistics on the special $SYS/# topic (see mosquitto(8)). Build requirements As a Rust program

Bobobo-bo Bo-bobo 2 Dec 15, 2022
An asynchronous dumb exporter proxy for prometheus. This aggregates all the metrics and exposes as a single scrape endpoint.

A dumb light weight asynchronous exporter proxy This is a dumb lightweight asynchronous exporter proxy that will help to expose multiple application m

Dark streams 3 Dec 4, 2022
⏱ Cross-platform Prometheus style process metrics collector of metrics crate

⏱ metrics-process This crate provides Prometheus style process metrics collector of metrics crate for Linux, macOS, and Windows. Collector code is man

Alisue 12 Dec 16, 2022
`prometheus` backend for `metrics` crate

metrics + prometheus = ❤️ API Docs | Changelog prometheus backend for metrics crate. Motivation Rust has at least two ecosystems regarding metrics col

Instrumentisto Team 2 Dec 17, 2022
Easily add metrics to your system -- and actually understand them using automatically customized Prometheus queries

Autometrics ?? ✨ Autometrics is a macro that makes it trivial to add useful metrics to any function in your codebase. Easily understand and debug your

Fiberplane 341 Feb 6, 2023
Easily add metrics to your system -- and actually understand them using automatically customized Prometheus queries

A Rust macro that makes it easy to understand the error rate, response time, and production usage of any function in your code. Jump from your IDE to

Autometrics 462 Mar 6, 2023