Commit 1443ac21 authored by Javi Moreno's avatar Javi Moreno
Browse files

Kpi_id added to influxdb points

parent 23386d0d
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -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']))
+6 −9
Original line number Diff line number Diff line
@@ -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
@@ -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

@@ -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 :
@@ -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()

@@ -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):