exim.chart.py 1.1 KB

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