A prometheus exporter for Blackmagic Videohubs using the TCP ethernet protocol.
Download binary from releases
./videohub_exporter <flags>
View all available configuration options
./videohub_exporter -h
docker run --rm \
-p 9990:9990 \
--name videohub_exporter \
registry.gitlab.com/patopest/videohub-exporter:latest
Metric | Description | Labels |
---|---|---|
videohub_scrape_success | Successful connection to videohub | |
videohub_scrape_duration_seconds | Duration to connect and read videohub data | |
videohub_device_info | General device info (model, name, ...etc) | model_name, name, version, inputs, outputs, processing_units, monitoring_ouputs |
videohub_inputs_total | Number of SDI inputs | |
videohub_outputs_total | Number of SDI outputs | |
videohub_input_labels | List of each input's label | input, input_label |
videohub_output_labels | List of each output's label | output, output_label |
videohub_routing | The input connected to each output | output, output_label, input, input_label |
This exporter implements the multi-target exporter pattern similar to Blackbox exporter. Read the guide Understanding and using the multi-target exporter pattern to get the general idea about the configuration.
The videohub exporter needs to be passed the target as a parameter, this can be done with relabelling.
Example config:
scrape_configs:
- job_name: 'videohub'
metrics_path: /scrape
static_configs:
- targets:
- 10.0.0.1 # IP address of videohub
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9990 # The videohub exporter's real hostname:port.
- job_name: 'videohub_exporter' # Collect videohub exporter's operational metrics.
static_configs:
- targets: ['127.0.0.1:9990']
If you do not have videohub hardware available, you can use this great mockup server by William Viker for Bitfocus
go run . <flags>
go build