2018-12-17 17:12:37 -08:00
|
|
|
from logging import getLogger
|
2018-12-04 08:45:18 -08:00
|
|
|
from influxdb import InfluxDBClient
|
|
|
|
|
|
|
|
|
|
|
|
class DBManager(object):
|
|
|
|
def __init__(self, server):
|
|
|
|
self.server = server
|
|
|
|
self.influx = InfluxDBClient(self.server.url, self.server.port, self.server.username, self.server.password,
|
|
|
|
'varken')
|
|
|
|
databases = [db['name'] for db in self.influx.get_list_database()]
|
2018-12-17 17:12:37 -08:00
|
|
|
self.logger = getLogger()
|
2018-12-04 08:45:18 -08:00
|
|
|
|
|
|
|
if 'varken' not in databases:
|
2018-12-17 17:12:37 -08:00
|
|
|
self.logger.info("Creating varken database")
|
2018-12-04 08:45:18 -08:00
|
|
|
self.influx.create_database('varken')
|
2018-12-17 17:12:37 -08:00
|
|
|
|
|
|
|
self.logger.info("Creating varken retention policy (30d/1h)")
|
2018-12-04 08:45:18 -08:00
|
|
|
self.influx.create_retention_policy('varken 30d/1h', '30d', '1', 'varken', False, '1h')
|
|
|
|
|
|
|
|
def write_points(self, data):
|
2018-12-04 19:17:33 -08:00
|
|
|
d = data
|
2018-12-17 17:12:37 -08:00
|
|
|
self.logger.debug('Writing Data to InfluxDB %s', d)
|
2018-12-04 19:17:33 -08:00
|
|
|
self.influx.write_points(d)
|