bundlewrap/bundles/postfix/files/postfix-telegraf-queue
2023-02-05 17:30:58 +01:00

17 lines
474 B
Python

#!/usr/bin/env python3
from json import loads
from subprocess import check_output
queue_counts = {}
queue_json = check_output(['sudo', '/usr/sbin/postqueue', '-j'])
for line in queue_json.splitlines():
j = loads(line.decode('UTF-8'))
queue_counts.setdefault(j['queue_name'], 0)
queue_counts[j['queue_name']] += 1
for queue in ('incoming', 'active', 'deferred', 'corrupt', 'hold'):
print('postfix_queue {}={}i'.format(queue, queue_counts.get(queue, 0)))