exim.chart.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # -*- coding: utf-8 -*-
  2. # Description: exim netdata python.d module
  3. # Author: Pawel Krupa (paulfantom)
  4. from bases.FrameworkServices.ExecutableService import ExecutableService
  5. # default module values (can be overridden per job in `config`)
  6. # update_every = 2
  7. priority = 60000
  8. retries = 60
  9. # charts order (can be overridden if you want less charts, or different order)
  10. ORDER = ['qemails']
  11. CHARTS = {
  12. 'qemails': {
  13. 'options': [None, "Exim Queue Emails", "emails", 'queue', 'exim.qemails', 'line'],
  14. 'lines': [
  15. ['emails', None, 'absolute']
  16. ]}
  17. }
  18. class Service(ExecutableService):
  19. def __init__(self, configuration=None, name=None):
  20. ExecutableService.__init__(self, configuration=configuration, name=name)
  21. self.command = "exim -bpc"
  22. self.order = ORDER
  23. self.definitions = CHARTS
  24. def _get_data(self):
  25. """
  26. Format data received from shell command
  27. :return: dict
  28. """
  29. try:
  30. return {'emails': int(self._get_raw_data()[0])}
  31. except (ValueError, AttributeError):
  32. return None