Repo for api scripts written (both pushing and pulling) to aggregate data into influxdb for grafana
Requirements /w install links: Grafana, Python3, InfluxDB
- Install requirements
pip3 install -r requirements.txt
- Make a copy of
configuration.example.py
toconfiguration.py
- Make the appropriate changes to
configuration.py
- Create your plex database in influx
user@server: ~$ influx > CREATE DATABASE plex > quit
- After completing the getting started portion of grafana, create your datasource for influxdb. At a minimum, you will need the plex database.
- Install
grafana-cli plugins install grafana-worldmap-panel
- Click the + on your menu and click import. Using the .json provided in this repo, paste it in and customize as you like.
sonarr.py
Gathers data from Sonarr and pushes it to influxdb.
- Notes:
- You cannot stack the arguments. ie.
sonarr.py --missing --queue
- Arguments are mandatory
- You cannot stack the arguments. ie.
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 TV shows 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
- You cannot stack the arguments. ie.
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
- You cannot stack the arguments. ie.
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
To run the python scripts crontab is currently leveraged. Examples:
### 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/
* * * * * /usr/bin/python3 /path-to-grafana-scripts/ombi.py --total
* * * * * /usr/bin/python3 /path-to-grafana-scripts/tautulli.py
*/30 * * * * /usr/bin/python3 /path-to-grafana-scripts/radarr.py --missing
*/30 * * * * /usr/bin/python3 /path-to-grafana-scripts/sonarr.py --missing
*/30 * * * * /usr/bin/python3 /path-to-grafana-scripts/sickrage.py