Loading src/monitoring/service/influx_tools.py +11 −3 Original line number Diff line number Diff line Loading @@ -4,17 +4,25 @@ class Influx(): def __init__(self, host, port, username, password, database): self.client = InfluxDBClient(host=host, port=port, username=username, password=password, database=database) def write_KPI(self,time,device_id,kpi_sample_type,kpi_value): def write_KPI(self,time,kpi_id,device_id,kpi_sample_type,kpi_value): data = [{ "measurement": "samples", "time": time, "tags": { "kpi_id" : kpi_id, "device_id" : device_id, "kpi_sample_type": kpi_sample_type }, "fields": { "kpi_value": kpi_value } }] self.client.write_points(data) def read_KPI_points(self): results = self.client.query('select * from samples;') print(results.raw) points = results.get_points(tags={'kpi_id' : '1','device_id': '1', 'kpi_sample_type': '101'}) for point in points: print("Time: %s, Value: %i" % (point['time'], point['kpi_value'])) src/monitoring/service/monitoring_server.py +6 −9 Original line number Diff line number Diff line Loading @@ -7,9 +7,8 @@ from ..client.monitoring_client import MonitoringClient from ..proto import context_pb2 import grpc from . import sqlite_tools as sqltools # from . import influx_tools as influxtools # from . import influx_tools #import numpy import time from ..proto import monitoring_pb2 Loading @@ -24,8 +23,6 @@ from ..logger import getJSONLogger LOGGER = getJSONLogger('monitoringservice-server') LOGGER.setLevel('DEBUG') import threading from prometheus_client import start_http_server, Summary from prometheus_client import Counter, Gauge Loading @@ -43,7 +40,7 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService self.sql_db = sqltools.SQLite('monitoring.db') # Create influx_db client # self.influx_db = influxtools.Influx() # self.influx_db = influx_tools.Influx("host",port,"user","pass","database") # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi(self, request : monitoring_pb2.CreateKpiRequest, context) -> monitoring_pb2.KpiId : Loading Loading @@ -97,10 +94,12 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService kpi = self.get_Kpi(request.kpi_id) time_stamp = request.time_stamp kpi_value = request.kpi_value kpi_value = request.kpi_value.intVal # Build the structure to be included as point in the influxDB # self.influx_db.write_KPI(time_stamp,kpi.device_id.device_id.uuid,kpi.kpi_sample_type,kpi_value) # self.influx_db.write_KPI(time_stamp,kpi.kpi_id.kpi_id.uuid,kpi.device_id.device_id.uuid,kpi.kpi_sample_type,kpi_value) # self.influx_db.read_KPI_points() return context_pb2.Empty() Loading @@ -127,8 +126,6 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService kpi.device_id.device_id.uuid = kpi_db[2] kpi.kpi_sample_type = kpi_db[3] print(kpi) return kpi def start_server(address='[::]', port=PORT, max_workers=10): Loading Loading
src/monitoring/service/influx_tools.py +11 −3 Original line number Diff line number Diff line Loading @@ -4,17 +4,25 @@ class Influx(): def __init__(self, host, port, username, password, database): self.client = InfluxDBClient(host=host, port=port, username=username, password=password, database=database) def write_KPI(self,time,device_id,kpi_sample_type,kpi_value): def write_KPI(self,time,kpi_id,device_id,kpi_sample_type,kpi_value): data = [{ "measurement": "samples", "time": time, "tags": { "kpi_id" : kpi_id, "device_id" : device_id, "kpi_sample_type": kpi_sample_type }, "fields": { "kpi_value": kpi_value } }] self.client.write_points(data) def read_KPI_points(self): results = self.client.query('select * from samples;') print(results.raw) points = results.get_points(tags={'kpi_id' : '1','device_id': '1', 'kpi_sample_type': '101'}) for point in points: print("Time: %s, Value: %i" % (point['time'], point['kpi_value']))
src/monitoring/service/monitoring_server.py +6 −9 Original line number Diff line number Diff line Loading @@ -7,9 +7,8 @@ from ..client.monitoring_client import MonitoringClient from ..proto import context_pb2 import grpc from . import sqlite_tools as sqltools # from . import influx_tools as influxtools # from . import influx_tools #import numpy import time from ..proto import monitoring_pb2 Loading @@ -24,8 +23,6 @@ from ..logger import getJSONLogger LOGGER = getJSONLogger('monitoringservice-server') LOGGER.setLevel('DEBUG') import threading from prometheus_client import start_http_server, Summary from prometheus_client import Counter, Gauge Loading @@ -43,7 +40,7 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService self.sql_db = sqltools.SQLite('monitoring.db') # Create influx_db client # self.influx_db = influxtools.Influx() # self.influx_db = influx_tools.Influx("host",port,"user","pass","database") # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi(self, request : monitoring_pb2.CreateKpiRequest, context) -> monitoring_pb2.KpiId : Loading Loading @@ -97,10 +94,12 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService kpi = self.get_Kpi(request.kpi_id) time_stamp = request.time_stamp kpi_value = request.kpi_value kpi_value = request.kpi_value.intVal # Build the structure to be included as point in the influxDB # self.influx_db.write_KPI(time_stamp,kpi.device_id.device_id.uuid,kpi.kpi_sample_type,kpi_value) # self.influx_db.write_KPI(time_stamp,kpi.kpi_id.kpi_id.uuid,kpi.device_id.device_id.uuid,kpi.kpi_sample_type,kpi_value) # self.influx_db.read_KPI_points() return context_pb2.Empty() Loading @@ -127,8 +126,6 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService kpi.device_id.device_id.uuid = kpi_db[2] kpi.kpi_sample_type = kpi_db[3] print(kpi) return kpi def start_server(address='[::]', port=PORT, max_workers=10): Loading