From 893b93379fffd91c18a21315dc0b5c5d7285494c Mon Sep 17 00:00:00 2001 From: nico Date: Thu, 27 Aug 2020 18:10:23 +0200 Subject: Initial working release TeamSpeak InfluxDB exporter base of ejabberd-tools framework + implement TeamSpeak REST api call to gather statistics + implement metrics logic to omit unnecessary data points + add systemd service file + implement pre-commit framework --- metrics.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 metrics.py (limited to 'metrics.py') diff --git a/metrics.py b/metrics.py new file mode 100644 index 0000000..af07f1d --- /dev/null +++ b/metrics.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +from api import TeamSpeakApi + + +class TeamSpeakMetrics(TeamSpeakApi): + """ + TeamSpeak metrics harvester + """ + + def __init__(self, url: str, apikey: str = None): + # init teamspeak api + super().__init__(apikey=apikey, url=url) + + # variables + self.url = url + + def serverinfo(self, id: int = 1) -> dict: + tmp = self.cmd(f"{id}/serverinfo") + + if tmp["status"]["code"] != 0: + return {} + else: + return tmp["body"][0] -- cgit v1.2.3-18-g5258