Scraparr is a Prometheus exporter for the *arr suite (Sonarr, Radarr, Lidarr, etc.). It provides metrics that can be scraped by Prometheus to monitor and visualize the health and performance of your *arr applications.
- Exposes detailed *arr metrics
- Easy integration with Prometheus
- Lightweight and efficient
- Built for extensibility
- Clone this repository:
git clone https://github.com/thecfu/scraparr.git
cd scraparr/src
- Install dependencies:
pip install -r scraparr/requirements.txt
- Run the exporter:
python -m scraparr.scraparr
You can either Clone the Repo and build the Docker Image locally or you can use the Image published in the Github Registry You can also check the Docker-Compose.
Github Registry:
docker run -v ./config.yaml:/scraparr/config/config.yaml -p 7100:7100 ghcr.io/thecfu/scraparr
Docker Hub:
docker run -v ./config.yaml:/scraparr/config/config.yaml -p 7100:7100 thegameprofi/scraparr
Note
If your using any v1 Version check the Readme of the v1 Branch
Note
If you want to access new features before they are released, use the main
tag.
Deployment on Kubernetes is possible via the imgios/scraparr Helm Chart, which simplifies the process into two steps:
- Add the imgios/scraparr Helm Repository:
$ helm repo add imgios https://imgios.github.io/scraparr
- Run the installation command:
$ helm install <release-name> imgios/scraparr \
--namespace scraparr \
--create-namespace \
--values values.yaml
See the Helm Chart repository README for details on deployment and how to fill the values.
Note
If your using any v1 Version check the Readme of the v1 Branch
Scraparr need's to be configured using a config.yaml file. Ensure the configuration specifies the URLs and API keys for the *arr services you want to monitor.
Template for Service inside the config.yaml:
sonarr:
url: http://sonarr:8989
api_key: key
# alias: sonarr # Optional to Differentiate between multiple Services
# api_version: v3 # Optional to use a different API Version
# interval: 30 # Optional to set a different Interval in Seconds
# detailed: true # Get Data per Series
To Configure multiple Instances of the same Service you can configure them like this:
Caution
When using multiple Instances of the same Service you need to use the alias, else the metrics are getting overwritten
sonarr:
- url: http://sonarr:8989
api_key: key
alias: sonarr1
- url: http://sonarr2:8989
api_key: key
alias: sonarr2
Warning
If using the Docker Variant you need to use the IP or configure & use the extra_host host.docker.internal:host-gateway
Once the service is running, it will expose metrics at http://localhost:7100/metrics (default port). You can configure Prometheus to scrape these metrics by adding the following job to your Prometheus configuration:
scrape_configs:
- job_name: 'scraparr'
static_configs:
- targets: ['localhost:7100']
The Main Dashboard is also available under Grafana Dashboards: Scraparr
For example Grafana Dashboards have a look at Dashboards
Contributions are welcome! Please open an issue or submit a pull request. Make sure to follow the contribution guidelines.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
___________.__ _________ _____ ____ ___
\__ ___/| |__ ____ \_ ___ \_/ ____\ | \
| | | | \_/ __ \/ \ \/\ __\| | /
| | | Y \ ___/\ \____| | | | /
|____| |___| /\___ >\______ /|__| |______/
\/ \/ \/