https://github.com/thecfu/scraparr
Scraparr is a Prometheus Exporter for various components of the *arr Suite
https://github.com/thecfu/scraparr
metrics monitoring
Last synced: 3 months ago
JSON representation
Scraparr is a Prometheus Exporter for various components of the *arr Suite
- Host: GitHub
- URL: https://github.com/thecfu/scraparr
- Owner: thecfu
- License: gpl-3.0
- Created: 2025-02-05T14:51:49.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-24T12:43:17.000Z (3 months ago)
- Last Synced: 2025-02-24T13:34:48.189Z (3 months ago)
- Topics: metrics, monitoring
- Language: Python
- Homepage:
- Size: 1.17 MB
- Stars: 190
- Watchers: 0
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
![]()
![]()
### A Exporter for the *arr Suite[]() [](https://github.com/TheCfU/scraparr/actions/workflows/pylint.yml)
---
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.
## Features
- Exposes detailed *arr metrics
- Easy integration with Prometheus
- Lightweight and efficient
- Built for extensibility## Installation
### Local Setup
1. Clone this repository:
```sh
git clone https://github.com/thecfu/scraparr.git
cd scraparr/src
```
2. Install dependencies:
```sh
pip install -r scraparr/requirements.txt
```3. Run the exporter:
```sh
python -m scraparr.scraparr
```### Docker Setup
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](compose.yaml).Github Registry:
`docker run -v ./config.yaml:/scraparr/config/config.yaml -p 7100:7100 ghcr.io/thecfu/scraparr`> [!NOTE]
> If your using any v1 Version check the Readme of the [v1 Branch](https://github.com/thecfu/scraparr/tree/v1#readme)### Kubernetes
Deployment on Kubernetes is possible via the [imgios/scraparr](https://github.com/imgios/scraparr) Helm Chart, which simplifies the process into two steps:
1. Add the imgios/scraparr Helm Repository:
```shell
$ helm repo add imgios https://imgios.github.io/scraparr
```2. Run the installation command:
```shell
$ helm install imgios/scraparr \
--namespace scraparr \
--create-namespace \
--values values.yaml
```See the [Helm Chart repository README](https://github.com/imgios/scraparr) for details on deployment and how to fill the values.
## Configuration
> [!NOTE]
> If your using any v1 Version check the Readme of the [v1 Branch](https://github.com/thecfu/scraparr/tree/v1#readme)Scraparr need's to be configured using a [config.yaml](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:
```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```yaml
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`## Usage
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:
```yaml
scrape_configs:
- job_name: 'scraparr'
static_configs:
- targets: ['localhost:7100']
```### Grafana Dashboards
For example Grafana Dashboards have a look at [Dashboards](dashboards)
## Contributing
Contributions are welcome! Please open an issue or submit a pull request. Make sure to follow the contribution guidelines.
## License
This project is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details.
---
```
___________.__ _________ _____ ____ ___
\__ ___/| |__ ____ \_ ___ \_/ ____\ | \
| | | | \_/ __ \/ \ \/\ __\| | /
| | | Y \ ___/\ \____| | | | /
|____| |___| /\___ >\______ /|__| |______/
\/ \/ \/
```