A Prometheus exporter for Livepeer orchestrator metrics.
897
Livepeer Exporter is a lightweight tool designed to enhance the monitoring capabilities of Livepeer. As a Prometheus exporter, it fetches various metrics from different Livepeer endpoints and exposes them via an HTTP server, ready for Prometheus to scrape. This tool is the perfect companion to the Livepeer monitoring service, extending the range of Livepeer metrics that can be monitored. By providing deeper insights into Livepeer's performance, Livepeer Exporter helps users optimize their streaming workflows and ensure reliable service delivery. Witness it in action by exploring the Grafana dashboards of the transcode.eth orchestrator.
This exporter comprises the following sub-exporters, each responsible for fetching specific metrics:
| Sub-Exporter | Description |
|---|---|
| orch_info_exporter | Collects metrics pertaining to the Livepeer orchestrator. |
| orch_score_exporter | Retrieves metrics concerning the Livepeer orchestrator's score. |
| orch_delegators_exporter | Gathers metrics related to the delegators of the designated Livepeer orchestrator. |
| orch_test_streams_exporter | Procures metrics about the Livepeer orchestrator's test streams. |
| orch_tickets_exporter | Fetches metrics about the Livepeer orchestrator's tickets. |
| orch_reward_exporter | Retrieves metrics about the Livepeer orchestrator's rewards. |
| crypto_prices_exporter | Fetches and exposes the prices of different cryptocurrencies used in the Livepeer ecosystem. |
For enhanced performance, these sub-exporters operate concurrently in separate goroutines. They fetch metrics from various Livepeer endpoints and expose them via the 9153/metrics endpoint. For detailed information about these sub-exporters and the metrics they provide, refer to the GitHub README.
Before using the Livepeer Exporter, you must configure it using environment variables. These variables allow you to customize the behaviour of the exporter to suit your specific needs. Below, you'll find a list of all the environment variables you can set, a description of what they do, and their default values if they are not specified.
LIVEPEER_EXPORTER_ORCHESTRATOR_ADDRESS: The address of the orchestrator to fetch data from.LIVEPEER_EXPORTER_ORCHESTRATOR_ADDRESS_SECONDARY: The address of the secondary orchestrator to fetch data from. Used to calculate the 'livepeer_orch_stake' metric. When set, the LPT stake of this address is added to the LPT stake that the orchestrator bonds.LIVEPEER_EXPORTER_INFO_FETCH_INTERVAL: How often to fetch general orchestrator information. Defaults to 2m.LIVEPEER_EXPORTER_SCORE_FETCH_INTERVAL: How often to fetch score data for the orchestrator. Defaults to 15m.LIVEPEER_EXPORTER_DELEGATORS_FETCH_INTERVAL: How often to fetch delegators data for the orchestrator. Defaults to 15m.LIVEPEER_EXPORTER_TEST_STREAMS_FETCH_INTERVAL:How often to fetch the test streams data for the orchestrator. Defaults to 15m.LIVEPEER_EXPORTER_TICKETS_FETCH_INTERVAL: How often to fetch ticket data for the orchestrator. Defaults to 15m.LIVEPEER_EXPORTER_REWARDS_FETCH_INTERVAL: How often to fetch rewards data for the orchestrator. Defaults to 15m.LIVEPEER_EXPORTER_CRYPTO_PRICES_FETCH_INTERVAL: How often to fetch the crypto prices. Defaults to 1m.LIVEPEER_EXPORTER_INFO_UPDATE_INTERVAL: How often to update the orchestrator info metrics. Defaults to 1m.LIVEPEER_EXPORTER_SCORE_UPDATE_INTERVAL: How often to update the orchestrator score metrics. Defaults to 1m.LIVEPEER_EXPORTER_DELEGATORS_UPDATE_INTERVAL: How often to update the orchestrator delegators metrics. Defaults to 1m.LIVEPEER_EXPORTER_TEST_STREAMS_UPDATE_INTERVAL: How often to update the orchestrator test streams metrics. Defaults to 1m.LIVEPEER_EXPORTER_TICKETS_UPDATE_INTERVAL: How often to update the orchestrator tickets metrics. Defaults to 1m.LIVEPEER_EXPORTER_REWARDS_UPDATE_INTERVAL: How often to update the orchestrator rewards metrics. Defaults to 1m.LIVEPEER_EXPORTER_CRYPTO_PRICES_UPDATE_INTERVAL: How often to update the crypto prices metrics. Defaults to 1m.All intervals are specified as a string representation of a duration, e.g., 5m for 5 minutes, 2h for 2 hours, etc. See time#ParseDuration for format details.
ℹ️ Note: Please be respectful when setting the fetch intervals. Setting these values to low will cause unnecessary load on the Livepeer infrastructure. If you are unsure what values to use, please use the defaults. Thanks for your understanding ❤️!
You can run the exporter using the Docker image available on Docker Hub. To pull and run the exporter from Docker Hub, use the following command:
docker run --name livepeer-exporter \
-e "LIVEPEER_EXPORTER_ORCHESTRATOR_ADDRESS=<your-orchestrator-address>" \
-p 9153:9153 \
transcodeninja/livepeer-exporter:latest
Replace <your-orchestrator-address> with the address of your orchestrator. This command will start the exporter and expose the metrics on port 9153 for Prometheus to scrape. This command will start the exporter and expose the metrics on port 9153 for Prometheus to scrape. Additional environment variables can be passed to the exporter by adding them to the command above.
This exporter is licensed under the MIT License. For more information, see the license file in the GitHub repository
Content type
Image
Digest
sha256:2fc5482ed…
Size
10 MB
Last updated
almost 3 years ago
docker pull transcodeninja/livepeer-exporter