Files
keenetic-grafana-monitoring/influxdb_writter.py
Sergei Samokhvalov 16a37bf0d9 Using admin api, instead open port (#1)
* influxdb2 integration
* using python alpine base image
* add authorization, refactoring config
* logging instead print, keenetic api exception handling when try to collect metrics, a little pep8
2021-03-24 12:44:34 +02:00

28 lines
987 B
Python

import logging
import requests
from influxdb import InfluxDBClient
class InfuxWriter(object):
def __init__(self, configuration):
requests.packages.urllib3.disable_warnings()
self._configuration = configuration
self._client = InfluxDBClient(self._configuration['host'], self._configuration['port'],
self._configuration['username'], self._configuration['password'],
self._configuration['db'])
self.init_database()
def init_database(self):
logging.info("Connecting to InfluxDB: " + self._configuration['host'])
db_name = self._configuration['db']
# self._client.drop_database(db_name)
if db_name not in self._client.get_list_database():
logging.info("Creating InfluxDB database: " + db_name)
self._client.create_database(db_name)
def write_metrics(self, metrics):
self._client.write_points(metrics)