Skip to content
Snippets Groups Projects
Commit ca7ed787 authored by Florian Pritz's avatar Florian Pritz
Browse files

zabbix-agent: Monitor systemd accounting data


Signed-off-by: default avatarFlorian Pritz <bluewind@xinu.at>
parent a2c4c9d3
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/python
import dbus
import json
bus = dbus.SystemBus()
systemd1 = bus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
systemd1_manager = dbus.Interface(systemd1, dbus_interface='org.freedesktop.systemd1.Manager')
units = systemd1_manager.ListUnits()
discovered = []
def get_unit_prop(interface, propname):
try:
return unit_properties.Get('org.freedesktop.systemd1.Service', propname)
except dbus.exceptions.DBusException as err:
if err.get_dbus_name() == 'org.freedesktop.DBus.Error.UnknownProperty':
return None
else:
raise
for u in units:
unit_properties = dbus.Interface(bus.get_object('org.freedesktop.systemd1', u[6]), dbus_interface='org.freedesktop.DBus.Properties')
if get_unit_prop(unit_properties, "CPUAccounting") or get_unit_prop(unit_properties, "MemoryAccounting"):
discovered.append({"{#UNITNAME}": u[0]})
print(json.dumps({"data": discovered}));
......@@ -34,6 +34,7 @@
- systemd-units-failed.py
- mysql-user-stats.pl
- nginx-zabbix.pl
- systemd-discover-accounting-units.py
- name: copy nginx-zabbix.service
copy: src=nginx-zabbix.service dest=/etc/systemd/system/nginx-zabbix.service owner=root group=root mode=0644
......
......@@ -21,6 +21,9 @@ UserParameter=systemd.unit.is-enabled[*],systemctl is-enabled --quiet '$1' && ec
UserParameter=systemd.failed_units,/usr/local/bin/systemd-units-failed.py
UserParameter=systemd.accounting_discover,/usr/local/bin/systemd-discover-accounting-units.py
UserParameter=systemd.unit_data[*],systemctl show '$1' | perl -MJSON -ne 'BEGIN{my %h}; my ($$k,$$v) = split(/=/,$$_,2); chomp($$h{$$k} = $v); END {print encode_json(\%h)};'
UserParameter=postfix.pfmailq,mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'
UserParameter=postfix[*],/usr/local/bin/postfix-zabbix-stats.sh $1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment