diff options
author | nico <nico@magicbroccoli.de> | 2020-08-27 18:10:23 +0200 |
---|---|---|
committer | nico <nico@magicbroccoli.de> | 2020-08-27 18:10:23 +0200 |
commit | 893b93379fffd91c18a21315dc0b5c5d7285494c (patch) | |
tree | f17f35d763fa069ea6cec46ed199eb8e4a2fe6aa /metrics.py |
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
Diffstat (limited to 'metrics.py')
-rw-r--r-- | metrics.py | 24 |
1 files changed, 24 insertions, 0 deletions
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] |