From 2a1599a746c0ff8adecf91857bde864d28616094 Mon Sep 17 00:00:00 2001 From: Sean Corrigan Date: Tue, 14 Sep 2021 16:49:19 -0400 Subject: [PATCH] Ready for testing --- dockerfile | 10 ++++++++ main.py | 64 ++++++++++++++++-------------------------------- requirements.txt | 2 ++ 3 files changed, 33 insertions(+), 43 deletions(-) create mode 100644 dockerfile create mode 100644 requirements.txt diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..3cb953e --- /dev/null +++ b/dockerfile @@ -0,0 +1,10 @@ +# set base image (host OS) +FROM python:3.8 +# copy the dependencies file to the working directory +COPY require.txt . +# install dependencies +RUN pip install -r require.txt +# copy the content of the local src directory to the working directory +COPY main.py . +# command to run on container start +CMD [ "python", "./telegramMiddleman.py" ] diff --git a/main.py b/main.py index 08dce01..89ede86 100644 --- a/main.py +++ b/main.py @@ -9,17 +9,8 @@ from influxdb import InfluxDBClient from time import sleep - - -### telegram logging -# API Key -apikey = '1857016076:AAGVag6tEtEpJHNpPtLyHYU-JsnN7arwDRk' -# Key of your chat. -chatid = '840699197' - -def logTelegram(message): - os.system("curl --silent -X POST https://api.telegram.org/bot" + apikey + "/sendMessage -d chat_id=" + chatid +" -d text=\""+ message +"\"") -### end telegram logging +hostList = os.environ["hosts"] +hostList = hostList.split(",") def uploadInflux(data, host='192.168.0.13', port=8086): # Main upload @@ -47,41 +38,28 @@ def uploadInflux(data, host='192.168.0.13', port=8086): # Main upload +def main(): + upslist = {} -# try: -# hostList = os.environ["hosts"] -# hostList = hostList.replace(" ","").split(",") -# except: -# print("error with hosts entry, please make sure in format -> 10.x.x.1, 10.x.x.2") + ## pull all the UPSes froom each host into a nice dict + for host in hostList: + upslist[host] = [] + client = PyNUTClient(host, '3493') + for UPS in client.list_ups(): + upslist[host].append(UPS) -# host -hostList = ['10.0.5.2', '10.0.5.181'] + # print(upslist) -upslist = {} + data = {} -## pull all the UPSes froom each host into a nice dict -for host in hostList: - upslist[host] = [] - client = PyNUTClient(host, '3493') - for UPS in client.list_ups(): - upslist[host].append(UPS) + ## Pull whatever data we would like into a dict of each ups + for host in upslist: + client = PyNUTClient(host, '3493') + for UPS in upslist[host]: + data[UPS] = client.list_vars(UPS) -# print(upslist) + uploadInflux(data) -data = {} - -## Pull whatever data we would like into a dict of each ups -for host in upslist: - client = PyNUTClient(host, '3493') - for UPS in upslist[host]: - data[UPS] = client.list_vars(UPS) - -uploadInflux(data) - - - - -# client = PyNUTClient('10.0.5.181', '3493') - -# # print(client.list_ups()) -# print(client.list_vars("Net-UPS1")) \ No newline at end of file +while True: + main() + sleep(15) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f1c23f9 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +influxdb +nut2 \ No newline at end of file