Varken/README.md

85 lines
3.4 KiB
Markdown
Raw Normal View History

2018-04-17 09:53:57 -07:00
# Grafana Scripts
2018-02-09 23:49:01 -08:00
Repo for api scripts written (both pushing and pulling) to aggregate data into influxdb for grafana
2018-04-17 09:53:57 -07:00
Requirements /w install links: [Grafana](http://docs.grafana.org/installation/), [Python3](https://www.python.org/downloads/), [InfluxDB](https://docs.influxdata.com/influxdb/v1.5/introduction/installation/)
2018-04-17 09:53:57 -07:00
## Quick Setup
2018-08-06 10:41:31 -07:00
1. Install requirements `pip3 install -r requirements.txt`
1. Make a copy of `configuration.example.py` to `configuration.py`
2. Make the appropriate changes to `configuration.py`
1. Create your plex database in influx
2018-04-17 09:53:57 -07:00
```sh
user@server: ~$ influx
> CREATE DATABASE plex
> quit
```
2018-08-06 10:41:31 -07:00
1. After completing the [getting started](http://docs.grafana.org/guides/getting_started/) portion of grafana, create your datasource for influxdb. At a minimum, you will need the plex database.
1. Install `grafana-cli plugins install grafana-worldmap-panel`
1. Click the + on your menu and click import. Using the .json provided in this repo, paste it in and customize as you like.
## Scripts
`sonarr.py` Gathers data from Sonarr and pushes it to influxdb. Switches are mandatory.
- Notes:
- You cannot stack the arguments. ie. `sonarr.py --missing --queue`
- Arguments are mandatory
```
Script to aid in data gathering from Sonarr
optional arguments:
-h, --help show this help message and exit
--missing Get all missing TV shows
--missing_days MISSING_DAYS
Get missing TV shows in X pass days
--upcoming Get upcoming TV shows
--today Get TV shows on today
--queue Get movies in queue
```
`radarr.py` Gathers data from Radarr and pushes it to influxdb
- Notes:
- You cannot stack the arguments. ie. `radarr.py --missing --queue`
- Arguments are mandatory
```
Script to aid in data gathering from Radarr
optional arguments:
-h, --help show this help message and exit
--missing Get missing movies
--missing_avl Get missing available movies
--queue Get movies in queue
```
`ombi.py` Gathers data from Ombi and pushes it to influxdb
- Notes:
- You cannot stack the arguments. ie. `ombi.py --total --counts`
- Arguments are mandatory
```
Script to aid in data gathering from Ombi
optional arguments:
-h, --help show this help message and exit
--total Get the total count of all requests
--counts Get the count of pending, approved, and available requests
```
`tautulli.py` Gathers data from Tautulli and pushes it to influxdb
`sickrage.py` Gathers data from Sickrage and pushes it to influxdb
2018-04-17 09:53:57 -07:00
## Notes
2018-04-17 10:00:30 -07:00
To run the python scripts crontab is currently leveraged. Examples:
```sh
### Modify paths as appropriate. python3 is located in different places for different users. (`which python3` will give you the path)
### to edit your crontab entry, do not modify /var/spool/cron/crontabs/<user> directly, use `crontab -e`
### Crontabs require an empty line at the end or they WILL not run. Make sure to have 2 lines to be safe
### It is bad practice to run any cronjob more than once a minute. For timing help: https://crontab.guru/
2018-08-06 10:41:31 -07:00
* * * * * /usr/bin/python3 /path-to-grafana-scripts/ombi.py --total
2018-04-17 10:00:30 -07:00
* * * * * /usr/bin/python3 /path-to-grafana-scripts/tautulli.py
2018-08-06 10:41:31 -07:00
*/30 * * * * /usr/bin/python3 /path-to-grafana-scripts/radarr.py --missing
*/30 * * * * /usr/bin/python3 /path-to-grafana-scripts/sonarr.py --missing
2018-04-17 10:00:30 -07:00
*/30 * * * * /usr/bin/python3 /path-to-grafana-scripts/sickrage.py
```