From 12a3a5d52f883e276922d26fc46e28d918de3cd0 Mon Sep 17 00:00:00 2001 From: Rousseau Vincent <vincent.rousseau@irstea.fr> Date: Mon, 1 Apr 2019 16:54:42 +0200 Subject: [PATCH] Enable python log and fix query to csv duration --- influxdb/Dockerfile | 2 +- influxdb/influx_to_csv.py | 16 +++++++++++----- sensors/ads1115/Dockerfile | 2 +- sensors/ads1115/ads1115_influx.py | 1 + sensors/bme280/Dockerfile | 2 +- sensors/bme280/bme280_influx.py | 1 + sensors/cpu_load/Dockerfile | 2 +- sensors/cpu_load/cpu_load.py | 1 + 8 files changed, 18 insertions(+), 9 deletions(-) diff --git a/influxdb/Dockerfile b/influxdb/Dockerfile index df44a82..25bf740 100644 --- a/influxdb/Dockerfile +++ b/influxdb/Dockerfile @@ -7,4 +7,4 @@ COPY requirements.txt /usr/src/app RUN python3 -m pip install -r requirements.txt COPY influx_to_csv.py /usr/src/app -CMD ["python3", "/usr/src/app/influx_to_csv.py"] \ No newline at end of file +CMD ["python3", "-u", "/usr/src/app/influx_to_csv.py"] \ No newline at end of file diff --git a/influxdb/influx_to_csv.py b/influxdb/influx_to_csv.py index 2e40139..80760b8 100644 --- a/influxdb/influx_to_csv.py +++ b/influxdb/influx_to_csv.py @@ -3,34 +3,40 @@ import os from datetime import datetime, timedelta from pathlib import Path import csv - from influxdb import InfluxDBClient +from random import uniform + +# Start sensors at different time after +time.sleep(uniform(10,60)) +print('Starting influx_to_csv') influx_host = os.getenv("INFLUX_HOST", "localhost") influx_client = InfluxDBClient(host=influx_host, database="multi-sense") write_time_interval = 60 start_time = datetime.utcnow() -begin = start_time - timedelta(seconds=100) +begin = start_time - timedelta(seconds=3*write_time_interval) end = begin + timedelta(seconds=write_time_interval) csv_folder_path = os.getenv("CSV_FOLDER_PATH", "./data") data_folder = Path(csv_folder_path) data_folder.mkdir(parents=True, exist_ok=True) +measurement = 'bme280' while True: begin += timedelta(seconds=write_time_interval) end += timedelta(seconds=write_time_interval) - query = 'select * from "bme280" where time > \'' + begin.isoformat() + "Z' AND time <= '" + end.isoformat() + "Z' tz('Europe/Paris')" + query = 'select * from "' + measurement + '" where time > \'' + begin.isoformat() + "Z' AND time <= '" + end.isoformat() + "Z' tz('Europe/Paris')" result = influx_client.query(query, epoch="ms") + #print(query) try: n = next(result.get_points()) except StopIteration: print('Influxdb result query is empty') else: - file_date = datetime.now().strftime('%Y_%m_%d_%H_%M') - file_name = data_folder/str('bme280_' + file_date + '.csv') + file_date = datetime.now().strftime('%Y_%m_%d') + file_name = data_folder/str(measurement + '_' + file_date + '.csv') with file_name.open('a') as csvfile: fieldnames = list(next(result.get_points()).keys()) writer = csv.DictWriter(csvfile, fieldnames) diff --git a/sensors/ads1115/Dockerfile b/sensors/ads1115/Dockerfile index 54a2a8f..55ec583 100644 --- a/sensors/ads1115/Dockerfile +++ b/sensors/ads1115/Dockerfile @@ -7,4 +7,4 @@ COPY requirements.txt /usr/src/app RUN python3 -m pip install -r requirements.txt COPY ads1115_influx.py /usr/src/app -CMD ["python3", "/usr/src/app/ads1115_influx.py"] \ No newline at end of file +CMD ["python3", "-u", "/usr/src/app/ads1115_influx.py"] \ No newline at end of file diff --git a/sensors/ads1115/ads1115_influx.py b/sensors/ads1115/ads1115_influx.py index 06479f8..0bae594 100644 --- a/sensors/ads1115/ads1115_influx.py +++ b/sensors/ads1115/ads1115_influx.py @@ -8,6 +8,7 @@ from random import uniform # Start sensors at different time after time.sleep(uniform(10,60)) +print('Starting ads1115') influx_host = os.getenv('INFLUX_HOST', 'localhost') influx_dbname = os.getenv('INFLUX_DBNAME', 'multi-sense') diff --git a/sensors/bme280/Dockerfile b/sensors/bme280/Dockerfile index cff513a..c92733e 100644 --- a/sensors/bme280/Dockerfile +++ b/sensors/bme280/Dockerfile @@ -7,4 +7,4 @@ COPY requirements.txt /usr/src/app RUN python3 -m pip install -r requirements.txt COPY bme280_influx.py /usr/src/app -CMD ["python3", "/usr/src/app/bme280_influx.py"] +CMD ["python3", "-u", "/usr/src/app/bme280_influx.py"] diff --git a/sensors/bme280/bme280_influx.py b/sensors/bme280/bme280_influx.py index 4028143..316309c 100644 --- a/sensors/bme280/bme280_influx.py +++ b/sensors/bme280/bme280_influx.py @@ -7,6 +7,7 @@ from random import uniform # Start sensors at different time after time.sleep(uniform(10,60)) +print('Starting bme280') influx_host = os.getenv('INFLUX_HOST', 'localhost') influx_dbname = os.getenv('INFLUX_DBNAME', 'multi-sense') diff --git a/sensors/cpu_load/Dockerfile b/sensors/cpu_load/Dockerfile index 8e84dc4..e475c8e 100644 --- a/sensors/cpu_load/Dockerfile +++ b/sensors/cpu_load/Dockerfile @@ -7,4 +7,4 @@ COPY requirements.txt /usr/src/app RUN python3 -m pip install -r requirements.txt COPY cpu_load.py /usr/src/app -CMD ["python3", "/usr/src/app/cpu_load.py"] \ No newline at end of file +CMD ["python3", "-u", "/usr/src/app/cpu_load.py"] \ No newline at end of file diff --git a/sensors/cpu_load/cpu_load.py b/sensors/cpu_load/cpu_load.py index 66378e6..4f11444 100644 --- a/sensors/cpu_load/cpu_load.py +++ b/sensors/cpu_load/cpu_load.py @@ -6,6 +6,7 @@ from random import uniform # Start sensors at different time after time.sleep(uniform(10,60)) +print('Starting cpu_load') influx_host = os.getenv('INFLUX_HOST', 'localhost') influx_dbname = os.getenv('INFLUX_DBNAME', 'multi-sense') -- GitLab