%PDF- %PDF-
Direktori : /proc/227033/root/lib/python2.7/site-packages/salt/states/ |
Current File : //proc/227033/root/lib/python2.7/site-packages/salt/states/monit.py |
# -*- coding: utf-8 -*- ''' Monit state =========== Manage monit states .. code-block:: yaml monit_enable_service_monitoring: monit.monitor: - name: service monit_disable_service_monitoring: monit.unmonitor: - name: service .. note:: Use of these states require that the :mod:`monit <salt.modules.monit>` execution module is available. ''' # Import Python libs from __future__ import absolute_import, print_function, unicode_literals def __virtual__(): ''' Only make this state available if the monit module is available. ''' return 'monit' if 'monit.summary' in __salt__ else False def monitor(name): ''' Get the summary from module monit and try to see if service is being monitored. If not then monitor the service. ''' ret = {'result': None, 'name': name, 'comment': '', 'changes': {} } result = __salt__['monit.summary'](name) try: for key, value in result.items(): if 'Running' in value[name]: ret['comment'] = ('{0} is being being monitored.').format(name) ret['result'] = True else: if __opts__['test']: ret['comment'] = 'Service {0} is set to be monitored.'.format(name) ret['result'] = None return ret __salt__['monit.monitor'](name) ret['comment'] = ('{0} started to be monitored.').format(name) ret['changes'][name] = 'Running' ret['result'] = True break except KeyError: ret['comment'] = ('{0} not found in configuration.').format(name) ret['result'] = False return ret def unmonitor(name): ''' Get the summary from module monit and try to see if service is being monitored. If it is then stop monitoring the service. ''' ret = {'result': None, 'name': name, 'comment': '', 'changes': {} } result = __salt__['monit.summary'](name) try: for key, value in result.items(): if 'Not monitored' in value[name]: ret['comment'] = ('{0} is not being monitored.').format(name) ret['result'] = True else: if __opts__['test']: ret['comment'] = 'Service {0} is set to be unmonitored.'.format(name) ret['result'] = None return ret __salt__['monit.unmonitor'](name) ret['comment'] = ('{0} stopped being monitored.').format(name) ret['changes'][name] = 'Not monitored' ret['result'] = True break except KeyError: ret['comment'] = ('{0} not found in configuration.').format(name) ret['result'] = False return ret