Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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))
Exemplo n.º 3
0
 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))
Exemplo n.º 4
0
    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))
Exemplo n.º 6
0
 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))
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
 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))
Exemplo n.º 9
0
    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))
Exemplo n.º 11
0
 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))
Exemplo n.º 12
0
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')