diff --git a/firewall.py b/cisco_asa.py similarity index 53% rename from firewall.py rename to cisco_asa.py index b5c669e..f80b76c 100644 --- a/firewall.py +++ b/cisco_asa.py @@ -1,25 +1,18 @@ +# Do not edit this script. Edit configuration.py import requests - from datetime import datetime, timezone - from influxdb import InfluxDBClient -# noinspection PyUnresolvedReferences -from requests.packages.urllib3.exceptions import InsecureRequestWarning -# noinspection PyUnresolvedReferences -requests.packages.urllib3.disable_warnings(InsecureRequestWarning) +import configuration current_time = datetime.now(timezone.utc).astimezone().isoformat() stats = { - "name": 'router', - "ip": 'X.X.X.X' + 'token': requests.post('{}/api/tokenservices'.format(configuration.asa_url), + auth=(configuration.asa_username, configuration.asa_password), verify=False) } - -stats['token'] = requests.post('https://{}/api/tokenservices'.format(stats['ip']), auth=('username', 'password'), - verify=False) stats['headers'] = {'X-Auth-Token': stats['token'].headers['X-Auth-Token']} -stats['outside_interface'] = requests.get('https://{}/api/monitoring/device/interfaces/Outside'.format(stats['ip']), +stats['outside_interface'] = requests.get('{}/api/monitoring/device/interfaces/Outside'.format(configuration.asa_url), headers=stats['headers'], verify=False).json() influx_payload = [ @@ -36,7 +29,8 @@ influx_payload = [ } ] -influx = InfluxDBClient('grafana.domain.tld', 8086, 'root', 'root', 'firewall') +influx = InfluxDBClient(configuration.grafana_url, configuration.grafana_port, configuration.grafana_username, + configuration.grafana_password, configuration.asa_grafana_db_name) influx.write_points(influx_payload) diff --git a/configuration.py b/configuration.py new file mode 100644 index 0000000..c406e6f --- /dev/null +++ b/configuration.py @@ -0,0 +1,27 @@ +# Domains should be either http(s)://subdomain.domain.com or http(s):// domain.com/url_suffix + +grafana_url = 'grafana.domain.tld' +grafana_port = 8086 +grafana_username = 'root' +grafana_password = 'root' + +sonarr_url = 'https://radarr.domain.tld' +sonarr_api_key = 'xxxxxxxxxxxxxxx' +sonarr_grafana_db_name = 'plex' + +radarr_url = 'https://sonarr.domain.tld' +radarr_api_key = 'xxxxxxxxxxxxxxx' +radarr_grafana_db_name = 'plex' + +ombi_url = 'https://ombi.domain.tld' +ombi_api_key = 'xxxxxxxxxxxxxxx' +ombi_grafana_db_name = 'plex' + +tautulli_url = 'https://tautulli.domain.tld' +tautulli_api_key = 'xxxxxxxxxxxxxxx' +tautulli_grafana_db_name = 'plex' + +asa_url = 'https://firewall.domain.tld' +asa_username = 'cisco' +asa_password = 'cisco' +asa_grafana_db_name = 'asa' diff --git a/ombi.py b/ombi.py index 3a35f6a..60c88fa 100644 --- a/ombi.py +++ b/ombi.py @@ -1,26 +1,24 @@ +# Do not edit this script. Edit configuration.py import requests from datetime import datetime, timezone from influxdb import InfluxDBClient -# noinspection PyUnresolvedReferences -from requests.packages.urllib3.exceptions import InsecureRequestWarning -# noinspection PyUnresolvedReferences -requests.packages.urllib3.disable_warnings(InsecureRequestWarning) +import configuration current_time = datetime.now(timezone.utc).astimezone().isoformat() -headers = {'Apikey': 'xxxxxxxxxxxxxxxxxxxxxxx'} -get_tv_requests = requests.get('https://request.domain.tld/api/v1/Request/tv', headers=headers).json() -get_movie_requests = requests.get('https://request.domain.tld/api/v1/Request/movie', headers=headers).json() +headers = {'Apikey': configuration.ombi_api_key} +get_tv_requests = requests.get('{}/api/v1/Request/tv'.format(configuration.ombi_url), headers=headers).json() +get_movie_requests = requests.get('{}/api/v1/Request/movie'.format(configuration.ombi_url), headers=headers).json() count_movie_requests = 0 count_tv_requests = 0 for show in get_tv_requests: - count_tv_requests +=1 + count_tv_requests += 1 for movie in get_movie_requests: - count_movie_requests +=1 + count_movie_requests += 1 influx_payload = [ { @@ -35,6 +33,7 @@ influx_payload = [ } ] -influx = InfluxDBClient('grafana.domain.tld', 8086, 'root', 'root', 'plex') +influx = InfluxDBClient(configuration.grafana_url, configuration.grafana_port, configuration.grafana_username, + configuration.grafana_password, configuration.ombi_grafana_db_name) influx.write_points(influx_payload) diff --git a/radarr.py b/radarr.py index 7c070dd..fe0dc10 100644 --- a/radarr.py +++ b/radarr.py @@ -1,17 +1,14 @@ +# Do not edit this script. Edit configuration.py import requests from datetime import datetime, timezone from influxdb import InfluxDBClient -# noinspection PyUnresolvedReferences -from requests.packages.urllib3.exceptions import InsecureRequestWarning -# noinspection PyUnresolvedReferences -requests.packages.urllib3.disable_warnings(InsecureRequestWarning) +import configuration current_time = datetime.now(timezone.utc).astimezone().isoformat() -api_key = 'xxxxxxxxxxxxxxxxxxxxxxxx' -headers = {'X-Api-Key': api_key} -get_movies = requests.get('https://radarr.domain.tld/api/movie', headers=headers).json() +headers = {'X-Api-Key': configuration.radarr_api_key} +get_movies = requests.get('{}/api/movie'.format(configuration.radarr_url), headers=headers).json() movies = {d['tmdbId']: d for d in get_movies} missing = [] influx_payload = [] @@ -35,6 +32,7 @@ for movie, id in missing: } ) -influx = InfluxDBClient('grafana.domain.tld', 8086, 'root', 'root', 'plex') +influx = InfluxDBClient(configuration.grafana_url, configuration.grafana_port, configuration.grafana_username, + configuration.grafana_password, configuration.radarr_grafana_db_name) influx.write_points(influx_payload) diff --git a/sonarr.py b/sonarr.py index 4d30f12..d311c38 100644 --- a/sonarr.py +++ b/sonarr.py @@ -1,17 +1,13 @@ +# Do not edit this script. Edit configuration.py import requests from datetime import datetime, timezone from influxdb import InfluxDBClient -# noinspection PyUnresolvedReferences -from requests.packages.urllib3.exceptions import InsecureRequestWarning -# noinspection PyUnresolvedReferences -requests.packages.urllib3.disable_warnings(InsecureRequestWarning) +import configuration current_time = datetime.now(timezone.utc).astimezone().isoformat() - -api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxx' -headers = {'X-Api-Key': api_key} -get_tv_shows = requests.get('https://sonarr.domain.tld/api/wanted/missing/?pageSize=1000', +headers = {'X-Api-Key': configuration.sonarr_api_key} +get_tv_shows = requests.get('{}/api/wanted/missing/?pageSize=1000'.format(configuration.sonarr_url), headers=headers).json()['records'] tv_shows = {d['id']: d for d in get_tv_shows} missing = [] @@ -37,6 +33,7 @@ for show, id in missing: } ) -influx = InfluxDBClient('grafana.domain.tld', 8086, 'root', 'root', 'plex') +influx = InfluxDBClient(configuration.grafana_url, configuration.grafana_port, configuration.grafana_username, + configuration.grafana_password, configuration.sonarr_grafana_db_name) influx.write_points(influx_payload) diff --git a/tautulli.py b/tautulli.py index 7ecc521..b448e0f 100644 --- a/tautulli.py +++ b/tautulli.py @@ -1,17 +1,13 @@ +# Do not edit this script. Edit configuration.py import requests -import geohash - from datetime import datetime, timezone from influxdb import InfluxDBClient -# noinspection PyUnresolvedReferences -from requests.packages.urllib3.exceptions import InsecureRequestWarning -# noinspection PyUnresolvedReferences -requests.packages.urllib3.disable_warnings(InsecureRequestWarning) +import configuration current_time = datetime.now(timezone.utc).astimezone().isoformat() -payload = {'apikey': 'xxxxxxxxxxxxxx', 'cmd': 'get_activity'} -activity = requests.get('https://plexpy.domain.tld/api/v2', params=payload).json()['response']['data'] +payload = {'apikey': configuration.tautulli_api_key, 'cmd': 'get_activity'} +activity = requests.get('{}/api/v2'.format(configuration.tautulli_url), params=payload).json()['response']['data'] sessions = {d['session_id']: d for d in activity['sessions']} @@ -49,6 +45,7 @@ for session in sessions.keys(): } ) -influx = InfluxDBClient('grafana.domain.tld', 8086, 'root', 'root', 'plex') +influx = InfluxDBClient(configuration.grafana_url, configuration.grafana_port, configuration.grafana_username, + configuration.grafana_password, configuration.tautulli_grafana_db_name) influx.write_points(influx_payload)