mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
365e993200
the autoconf now checks for availablity of the pylxd module and access to the lxd socket. this ensures that the module will work properly. On failure, helpful errors are displayed
47 lines
1.1 KiB
Python
Executable File
47 lines
1.1 KiB
Python
Executable File
#!/usr/bin/python3
|
|
|
|
import sys
|
|
|
|
errors=[]
|
|
|
|
HAS_LIB=True
|
|
try:
|
|
from pylxd import api
|
|
except:
|
|
HAS_LIB=False
|
|
errors.append("no pylxd module")
|
|
|
|
c=None
|
|
HAS_ACCESS=True
|
|
try:
|
|
c=api.API()
|
|
c.container_list()
|
|
except:
|
|
HAS_ACCESS=False
|
|
errors.append("no socket access")
|
|
|
|
if len(sys.argv) == 2 and sys.argv[1]=="autoconf":
|
|
if HAS_LIB and HAS_ACCESS:
|
|
print("yes")
|
|
else:
|
|
print("no ("+" and ".join(errors)+")")
|
|
sys.exit(0)
|
|
|
|
if not (HAS_LIB and HAS_ACCESS):
|
|
# pylxd not installed or lxd socket not accessible
|
|
sys.exit(1)
|
|
|
|
if len(sys.argv) == 2 and sys.argv[1]=="config":
|
|
print("graph_title LXD container memory")
|
|
print("graph_args --base 1024 --lower-limit 0")
|
|
print("graph_vlabel Bytes")
|
|
print("graph_category lxd")
|
|
print("graph_info This shows the memory usage of each container. Make sure to install pylxd in python3.")
|
|
for name in c.container_list():
|
|
print(name+".label "+name)
|
|
print(name+".draw AREASTACK")
|
|
sys.exit(0)
|
|
|
|
for name in c.container_list():
|
|
print(name+".value "+str(c.container_info(name)['memory']['usage']))
|