check payload for unifi

This commit is contained in:
Nicholas St. Germain 2019-01-25 13:53:44 -06:00
parent 5bbf9d0f01
commit c4c1ace54f
2 changed files with 83 additions and 25 deletions

54
varken.xml Normal file
View file

@ -0,0 +1,54 @@
<?xml version="1.0"?>
<Container version="2">
<Name>Varken</Name>
<Repository>boerderij/varken</Repository>
<Registry>https://hub.docker.com/r/boerderij/varken/~/dockerfile/</Registry>
<Network>bridge</Network>
<MyIP/>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://discord.gg/VjZ6qSM</Support>
<Project/>
<Overview>
Varken is a standalone command-line utility to aggregate data from the Plex ecosystem into InfluxDB. Examples use Grafana for a frontend
</Overview>
<Category/>
<WebUI/>
<TemplateURL/>
<Icon>Pig.png</Icon>
<ExtraParams/>
<PostArgs/>
<CPUset/>
<DonateText/>
<DonateLink/>
<Description>
Varken is a standalone command-line utility to aggregate data from the Plex ecosystem into InfluxDB. Examples use Grafana for a frontend
</Description>
<Networking>
<Mode>bridge</Mode>
<Publish/>
</Networking>
<Data>
<Volume>
<HostDir>/mnt/user/appdata/varken</HostDir>
<ContainerDir>/config</ContainerDir>
<Mode>rw</Mode>
</Volume>
</Data>
<Environment>
<Variable>
<Value>99</Value>
<Name>PGID</Name>
<Mode/>
</Variable>
<Variable>
<Value>100</Value>
<Name>PUID</Name>
<Mode/>
</Variable>
</Environment>
<Labels/>
<Config Name="PGID" Target="PGID" Default="" Mode="" Description="Container Variable: PGID" Type="Variable" Display="always" Required="true" Mask="false">99</Config>
<Config Name="PUID" Target="PUID" Default="" Mode="" Description="Container Variable: PUID" Type="Variable" Display="always" Required="true" Mask="false">100</Config>
<Config Name="Varken DataDir" Target="/config" Default="" Mode="rw" Description="Container Path: /config" Type="Path" Display="advanced-hide" Required="true" Mask="false">/mnt/user/appdata/varken</Config>
</Container>

View file

@ -47,6 +47,7 @@ class UniFiAPI(object):
self.logger.error("Could not find a USG named %s from your UniFi Controller", self.server.usg_name)
return
try:
influx_payload = [
{
"measurement": "UniFi",
@ -61,9 +62,10 @@ class UniFiAPI(object):
"rx_bytes_current": device['wan1']['rx_bytes-r'],
"tx_bytes_total": device['wan1']['tx_bytes'],
"tx_bytes_current": device['wan1']['tx_bytes-r'],
"speedtest_latency": device['speedtest-status']['latency'],
"speedtest_download": device['speedtest-status']['xput_download'],
"speedtest_upload": device['speedtest-status']['xput_upload'],
# Commenting speedtest out until Unifi gets their shit together
# "speedtest_latency": device['speedtest-status']['latency'],
# "speedtest_download": device['speedtest-status']['xput_download'],
# "speedtest_upload": device['speedtest-status']['xput_upload'],
"cpu_loadavg_1": device['sys_stats']['loadavg_1'],
"cpu_loadavg_5": device['sys_stats']['loadavg_5'],
"cpu_loadavg_15": device['sys_stats']['loadavg_15'],
@ -73,3 +75,5 @@ class UniFiAPI(object):
}
]
self.dbmanager.write_points(influx_payload)
except KeyError as e:
self.logger.error('Error building payload for unifi. Discarding. Error: %s', e)