Skip to content

Instantly share code, notes, and snippets.

@ujuc
Created August 29, 2015 05:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ujuc/2b49c362aaa2d215d4ff to your computer and use it in GitHub Desktop.
Save ujuc/2b49c362aaa2d215d4ff to your computer and use it in GitHub Desktop.
Zabbix bridge discovery.
UserParameter=bridge.discovery, /etc/zabbix/bridge_discovery.py
UserParameter=brdige.status[*], /etc/zabbix/bridge_status.py $1
#!/usr/bin/env python
# coding: utf-8
import json
import subprocess as sub
brctl_show = sub.Popen(['brctl', 'show'], stdout=sub.PIPE)
grep_brq = sub.Popen(['grep', 'brq'], stdin=brctl_show.stdout, stdout=sub.PIPE)
raw_data = grep_brq.stdout
bridges = []
for line in raw_data():
bridges.append(line.split())
br_data = []
for i in xrange(len(bridges)):
dc = {"{#BRNAME}": bridges[i][0], "{#ETHNAME}": bridges[i][3]}
br_data.append(dc)
data = {'data': br_daata}
print json.bumps(data)
#!/usr/bin/env python
# coding: utf-8
import sys
import subprocess as sub
br_name = sys.argv[1]
status = sub.Popen(['ip', 'link', 'show', '{}'.format(br_name)], stdout=sub.PIPE).communicate()
# Todo: bridge is no data, razing exception
print status[0].split()[8]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment