Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- from proxmoxer import ProxmoxAPI
- from pyzabbix import ZabbixMetric, ZabbixSender
- proxmox = ProxmoxAPI('ip.ip.ip.ip',
- user='root@pam',
- password='password',
- verify_ssl=False)
- discovery = {'data': []}
- packet = []
- for node in proxmox.nodes.get():
- for vm in proxmox.nodes(node['node']).lxc.get():
- discovery['data'].append({'{#CONTAINER_NAME}': vm['name'],
- '{#CONTAINER_ID}': vm['vmid']})
- packet.append(ZabbixMetric('host', 'vmidcpu[{id}]'.format(id=vm['vmid']), vm['cpu']))
- packet.append(ZabbixMetric('host', 'vmidfreemem[{id}]'.format(id=vm['vmid']),
- int(100*int(vm['mem'])/int(vm['maxmem']))))
- packet.append(ZabbixMetric('host', 'vmidfreedisk[{id}]'.format(id=vm['vmid']),
- int(100*int(vm['disk'])/int(vm['maxdisk']))))
- for vm in proxmox.nodes(node['node']).qemu.get():
- discovery['data'].append({'{#CONTAINER_NAME}': vm['name'],
- '{#CONTAINER_ID}': vm['vmid']})
- packet.append(ZabbixMetric('host', 'vmidcpu[{id}]'.format(id=vm['vmid']), vm['cpu']))
- packet.append(ZabbixMetric('host', 'vmidfreemem[{id}]'.format(id=vm['vmid']), int(100*int(vm['mem'])/int(vm['maxmem']))))
- packet.append(ZabbixMetric('host', 'vmidfreedisk[{id}]'.format(id=vm['vmid']), int(100*int(vm['disk'])/int(vm['maxdisk']))))
- packet.append(ZabbixMetric('host', 'vmids', json.dumps(discovery, indent=2)))
- result = ZabbixSender(use_config=True).send(packet)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement