Varken/README.md
2018-08-06 21:28:42 -04:00

3.7 KiB

Grafana Scripts

Repo for api scripts written (both pushing and pulling) to aggregate data into influxdb for grafana

Requirements /w install links: Grafana, Python3, InfluxDB

Quick Setup

  1. Install requirements pip3 install -r requirements.txt
  2. Make a copy of configuration.example.py to configuration.py
  3. Make the appropriate changes to configuration.py
  4. Create your plex database in influx
    user@server: ~$ influx
    > CREATE DATABASE plex
    > quit
    
  5. After completing the getting started portion of grafana, create your datasource for influxdb. At a minimum, you will need the plex database.
  6. Install grafana-cli plugins install grafana-worldmap-panel
  7. 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.

  • 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 past X days
  --upcoming            Get upcoming TV shows
  --future FUTURE       Get TV shows on X days into the future. Includes today.
                        i.e. --future 2 is Today and Tomorrow
  --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
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. On initial run it will download the geoip2 DB and use it for locations.

sickrage.py Gathers data from Sickrage and pushes it to influxdb

Notes

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
* * * * * /usr/bin/python3 /path-to-grafana-scripts/radarr.py --queue
* * * * * /usr/bin/python3 /path-to-grafana-scripts/sonarr.py --queue
*/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