#!/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 disk usage") print("graph_args --base 1000 --lower-limit 0") print("graph_vlabel Bytes") print("graph_category lxd") print("graph_info This shows the disk usage of storage in containers. Make sure to install pylxd in python3.") for name in c.container_list(): for disk in c.container_info(name)['disk']: print(name+"-"+disk+".label "+name) print(name+"-"+disk+".draw LINE2") sys.exit(0) for name in c.container_list(): for disk in c.container_info(name)['disk']: print(name+"-"+disk+".value "+str(c.container_info(name)['disk'][disk]['usage']))