]> arthur.barton.de Git - netdata.git/blobdiff - python.d/exim.chart.py
search for command + exim.chart.py
[netdata.git] / python.d / exim.chart.py
diff --git a/python.d/exim.chart.py b/python.d/exim.chart.py
new file mode 100644 (file)
index 0000000..a267c23
--- /dev/null
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# Description: exim netdata python.d module
+# Author: Pawel Krupa (paulfantom)
+
+from base import ExecutableService
+
+# default module values (can be overridden per job in `config`)
+# update_every = 2
+priority = 60000
+retries = 5
+
+# charts order (can be overridden if you want less charts, or different order)
+ORDER = ['qemails']
+
+CHARTS = {
+    'qemails': {
+        'options': [None, "Exim Queue Emails", "emails", 'queue', 'exim.queued.emails', 'line'],
+        'lines': [
+            ['emails', None, 'absolute']
+        ]}
+}
+
+
+class Service(ExecutableService):
+    def __init__(self, configuration=None, name=None):
+        ExecutableService.__init__(self, configuration=configuration, name=name)
+        self.command = "exim -bpc"
+        self.order = ORDER
+        self.definitions = CHARTS
+
+    def _get_data(self):
+        """
+        Format data received from shell command
+        :return: dict
+        """
+        try:
+            raw = self._get_raw_data()[-1].split(' ')
+            return {'emails': raw[4],
+                    'size': raw[1]}
+        except (ValueError, AttributeError):
+            return None