def save(self, app, action, host_app=None, **params): ''' save the posted setup content ''' user = cherrypy.session['user']['name'] mon = MonitorInput.all() mon = mon.filter_by_app(app) scripted = ScriptedInput.all() scripted = scripted.filter_by_app(app) for m in mon: disabled = normBool(params.get(m.name + '.disabled')) if disabled: m.disable() else: m.enable() m.share_global() for s in scripted: disabled = normBool(params.get(s.name + '.disabled')) if disabled: s.disable() else: s.enable() s.share_global() interval = params.get(s.name + '.interval') if interval: s.interval = interval try: if not s.passive_save(): logger.error(m.errors) return self.render_template( '/%s:/templates/setup_show.html' \ % host_app, dict(app=app, errors=s, scripted=scripted, mon=mon) ) except splunk.AuthorizationFailed: raise cherrypy.HTTPRedirect( self._redirect(host_app, app, 'unauthorized')) except Exception, ex: logger.info(ex) raise cherrypy.HTTPRedirect( self._redirect(host_app, app, 'failure'))
def save(self, app, action, host_app=None, **params): ''' save the posted setup content ''' user = cherrypy.session['user']['name'] mon = MonitorInput.all() mon = mon.filter_by_app(app) scripted = ScriptedInput.all() scripted = scripted.filter_by_app(app) for m in mon: disabled = normBool(params.get(m.name + '.disabled')) if disabled: m.disable() else: m.enable() m.share_global() for s in scripted: disabled = normBool(params.get(s.name + '.disabled')) if disabled: s.disable() else: s.enable() s.share_global() interval = params.get(s.name + '.interval') if interval: s.interval = interval try: if not s.passive_save(): logger.error(m.errors) return self.render_template( '/%s:/templates/setup_show.html' \ % host_app, dict(app=app, errors=s, scripted=scripted, mon=mon) ) except splunk.AuthorizationFailed: raise cherrypy.HTTPRedirect(self._redirect(host_app, app, 'unauthorized')) except Exception, ex: logger.info(ex) raise cherrypy.HTTPRedirect(self._redirect(host_app, app, 'failure'))
def __init__(self, scheme_args, args=None, sleep_interval=5, logger_name='python_modular_input', logger_level=None): """ Set up the modular input. Arguments: scheme_args -- The scheme args indicating the run-time mode of the input args -- A list of Field instances for validating the arguments sleep_interval -- How often to sleep between runs logger_name -- The logger name to append to the logger """ # Setup defaults default_scheme_args = { "use_external_validation" : "true", "streaming_mode" : "xml", "use_single_instance" : True } scheme_args = dict(default_scheme_args.items() + scheme_args.items()) # Set the scheme arguments. for arg in scheme_args: setattr(self, arg, self._is_valid_param(arg, scheme_args.get(arg))) # Convert over the use_single_instance argument to a boolean self.use_single_instance = normBool(self.use_single_instance) if args is None: self.args = [] else: self.args = args[:] if sleep_interval > 0: self.sleep_interval = sleep_interval else: self.sleep_interval = 5 # Create the document used for sending events to Splunk through self.document = self._create_document() # Make a lock for controlling access to underlying functions self.lock = RLock() # Initialize the logger level if logger_level is None: self.logger_level = logging.INFO else: self.logger_level = logger_level # Check and save the logger name self._logger = None if logger_name is None or len(logger_name) == 0: raise Exception("Logger name cannot be empty") self.logger_name = logger_name
def save(self, app, action, **params): ''' save the posted setup content ''' host_app = cherrypy.request.path_info.split('/')[3] user = cherrypy.session['user']['name'] win = WinEventLogInput.get(WinEventLogInput.build_id('localhost', host_app, user)) evt_logs = params.get('winevtlogs') if evt_logs: win.logs = evt_logs if normBool(win.disabled): win.enable() try: win.edit() except Exception, ex: logger.exception(ex) raise cherrypy.HTTPRedirect(self._redirect(host_app, app, 'failure'))
def save(self, app, action, **params): ''' save the posted setup content ''' host_app = cherrypy.request.path_info.split('/')[3] user = cherrypy.session['user']['name'] win = WinEventLogInput.get( WinEventLogInput.build_id('localhost', host_app, user)) evt_logs = params.get('winevtlogs') if evt_logs: win.logs = evt_logs if normBool(win.disabled): win.enable() try: win.edit() except Exception, ex: logger.exception(ex) raise cherrypy.HTTPRedirect( self._redirect(host_app, app, 'failure'))
if normBool(win.disabled): win.enable() try: win.edit() except Exception, ex: logger.exception(ex) raise cherrypy.HTTPRedirect( self._redirect(host_app, app, 'failure')) else: win.disable() mon = MonitorInput.all() mon = mon.filter_by_app(app) for m in mon: disabled = normBool(params.get(m.name + '.disabled')) if disabled: m.disable() else: m.enable() m.share_global() self.update_distsearch(host_app, normBool(params.get('optimize_dist_search'))) logger.debug('Splunk Version = %s' % self._get_version()) if self._get_version() <= LooseVersion('4.2.2'): temp_app = bundle.getConf('app', namespace=host_app, owner='nobody') temp_app['install']['is_configured'] = 'true'
if normBool(win.disabled): win.enable() try: win.edit() except Exception, ex: logger.exception(ex) raise cherrypy.HTTPRedirect(self._redirect(host_app, app, 'failure')) else: win.disable() mon = MonitorInput.all() mon = mon.filter_by_app(app) for m in mon: disabled = normBool(params.get(m.name + '.disabled')) if disabled: m.disable() else: m.enable() m.share_global() self.update_distsearch(host_app, normBool(params.get('optimize_dist_search'))) logger.debug('Splunk Version = %s' % self._get_version()) if self._get_version() <= LooseVersion('4.2.2'): temp_app = bundle.getConf('app', namespace=host_app, owner='nobody') temp_app['install']['is_configured'] = 'true' else: this_app = App.get(App.build_id(host_app, host_app, user)) this_app.is_configured = True