def searchedit(self, app, action, row, column, **params): row = int(row) column = int(column) dashboard = Dashboard.get(params.get('id')) dashboard_panel = DashboardPanel(None, (row, column), dashboard=dashboard) saved_searches = SavedSearch.all().filter_by_app(app) saved_search_id = params.get('saved_search_id') owner = splunk.auth.getCurrentUser()['name'] inline_search = SavedSearch(app, owner, None) ui_search_mode = dashboard_panel.panel_model.searchMode # set the saved_search object if saved_search_id: saved_search = SavedSearch.get(saved_search_id) ui_search_mode = 'saved' # otherwise defer to the first saved search item if it exists or an empty one else: saved_search_query = SavedSearch.all() if len(saved_search_query) > 0: saved_search = saved_search_query[0] else: saved_search = SavedSearch(app, owner, None) # based on search mode pre-populate an active saved_search and the inline_search accordingly if dashboard_panel.panel_model.searchMode == 'saved' and not saved_search_id: saved_search_query = SavedSearch.all().filter_by_app(None).search( 'name=%s' % util.fieldListToString( [dashboard_panel.panel_model.searchCommand])) if len(saved_search_query) > 0: saved_search = saved_search_query[0] # invalid/non-existant saved search reference, revert to empty saved search model else: saved_search.search = dashboard_panel.panel_model.searchCommand saved_search.dispatch.earliest_time = dashboard_panel.panel_model.searchEarliestTime saved_search.dispatch.latest_time = dashboard_panel.panel_model.searchLatestTime elif dashboard_panel.panel_model.searchMode == 'string': inline_search.search = dashboard_panel.panel_model.searchCommand inline_search.dispatch.earliest_time = dashboard_panel.panel_model.searchEarliestTime inline_search.dispatch.latest_time = dashboard_panel.panel_model.searchLatestTime template_args = dict(app=app, dashboard=dashboard, dashboard_panel=dashboard_panel, saved_searches=saved_searches, saved_search=saved_search, ui_search_mode=ui_search_mode, inline_search=inline_search) return self.render_template('paneleditor/searchedit.html', template_args)
def step1_new(self, app, step, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.ui_schedule = None return self.render_template('scheduledigestwizard/step1_new.html', dict(app=app, saved_search=saved_search))
def create(self, app, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.metadata.sharing = params.get('sharing', 'user') if saved_search.passive_save(): raise cherrypy.HTTPRedirect(self.make_url(['savesearchwizard', app, 'success'], _qs=dict(id=saved_search.id)), 303) return self.render_template('savesearchwizard/new.html', dict(app=app, saved_search=saved_search))
def new(self, app, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.setSummarizationDetails() return self.render_template('savesearchwizard/new.html', dict(app=app, saved_search=saved_search))
def step1_new(self, app, step, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.ui_howoften = 'realtime' saved_search.ui_schedule = None saved_search.ui_rolling_value = '1' saved_search.ui_rolling_unit = None return self.render_template('alertswizardv2/step1_new.html', dict(app=app, saved_search=saved_search))
def step1_create(self, app, step, action, **params): owner = splunk.auth.getCurrentUser()['name'] saved_search = SavedSearch(app, owner, **params) saved_search.is_disabled = True # no need to suppress or track dashboard searches saved_search.alert.track = False saved_search.alert.suppress.enabled = False if saved_search.passive_save(): raise cherrypy.HTTPRedirect(self.make_url(['dashboardwizard', app, 'step2', 'new'], _qs=dict(id=saved_search.id)), 303) return self.render_template('dashboardwizard/step1_new.html', dict(app=app, saved_search=saved_search))
def get_hosts(self, app, action, **params): saved_search = SavedSearch('', cherrypy.session['user']['name'], 'newsearch') job = splunk.search.dispatch('| metadata type=hosts `metadata_index`', namespace='splunk_app_for_nix') splunk.search.waitForJob(job) hostData = [] for item in job.results: hostData.append(unicode(item['host'])) return self.render_json(hostData)
def step1_create(self, app, step, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.is_disabled = True self.step1_from_ui(params, saved_search) if saved_search.passive_save(): raise cherrypy.HTTPRedirect( self.make_url(['scheduledigestwizard', app, 'step2'], _qs=dict(id=saved_search.id)), 303) self.step1_to_ui(saved_search) return self.render_template('scheduledigestwizard/step1_new.html', dict(app=app, saved_search=saved_search))
def create(self, app, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.metadata.sharing = params.get('sharing', 'user') #TODO: remove this #saved_search.auto_summarize.cron_schedule = '*/10 * * * *' if saved_search.passive_save(): raise cherrypy.HTTPRedirect(self.make_url(['savesearchwizard', app, 'success'], _qs=dict(id=saved_search.id)), 303) saved_search.setSummarizationDetails() return self.render_template('savesearchwizard/new.html', dict(app=app, saved_search=saved_search))
def step1_create(self, app, step, action, **params): owner = splunk.auth.getCurrentUser()['name'] params['name'] = params.get('name', '') saved_search = SavedSearch(app, owner, **params) saved_search.metadata.sharing = params.get('sharing', 'user') saved_search.is_disabled = True # set a default comparator otherwise always will be the first selected saved_search.alert.type = 'number of events' saved_search.alert.comparator = 'greater than' saved_search.alert.threshold = '0' # set some default values - we know this will be an alert so schedule it # this way we get some default values set by the backend saved_search.schedule.is_scheduled = True saved_search.schedule.cron_schedule = '0 */12 * * *' saved_search.alert.suppress.enabled = None if saved_search.passive_save(): raise cherrypy.HTTPRedirect(self.make_url(['alertswizard', app, 'step2'], _qs=dict(id=saved_search.id)), 303) return self.render_template('alertswizard/step1_new.html', dict(app=app, saved_search=saved_search))
def step1_new(self, app, step, action, **params): owner = splunk.auth.getCurrentUser()['name'] name = params.get('name', '') saved_search = SavedSearch(app, owner, name, **params) return self.render_template('dashboardwizard/step1_new.html', dict(app=app, saved_search=saved_search))
def alerts_allowed(): from splunk.models.saved_search import SavedSearch saved_search = SavedSearch('', cherrypy.session['user']['name'], 'newsearch') return saved_search.is_mutable('alert.severity')