private void registerReporters(Metric2Registry metric2Registry, Configuration configuration) { RegexMetricFilter regexFilter = new RegexMetricFilter(getExcludedMetricsPatterns()); MetricFilter allFilters = new OrMetricFilter(regexFilter, new MetricsWithCountFilter()); MetricRegistry metricRegistry = metric2Registry.getMetricRegistry(); reportToGraphite( metricRegistry, getGraphiteReportingInterval(), Stagemonitor.getMeasurementSession(), allFilters); reportToInfluxDb( metric2Registry, reportingIntervalInfluxDb.getValue(), Stagemonitor.getMeasurementSession()); reportToElasticsearch( metric2Registry, reportingIntervalElasticsearch.getValue(), Stagemonitor.getMeasurementSession(), configuration.getConfig(CorePlugin.class)); List<ScheduledReporter> onShutdownReporters = new LinkedList<ScheduledReporter>(); onShutdownReporters.add( new SimpleElasticsearchReporter( getElasticsearchClient(), metricRegistry, "simple-es-reporter", allFilters)); reportToConsole(metricRegistry, getConsoleReportingInterval(), allFilters, onShutdownReporters); registerAggregationReporter( metricRegistry, allFilters, onShutdownReporters, getAggregationReportingInterval()); if (reportToJMX()) { reportToJMX(metricRegistry, allFilters); } }
@Before public void before() { when(configuration.getConfig(CorePlugin.class)).thenReturn(corePlugin); StageMonitor.reset(); StageMonitor.setConfiguration(configuration); StageMonitor.setLogger(logger); assertFalse(StageMonitor.isStarted()); assertTrue(StageMonitor.getMeasurementSession().isNull()); }
@Override public void initializePlugin(Metric2Registry registry, Configuration config) { registerPooledResources(registry, tomcatThreadPools()); final CorePlugin corePlugin = config.getConfig(CorePlugin.class); ElasticsearchClient elasticsearchClient = corePlugin.getElasticsearchClient(); if (corePlugin.isReportToGraphite()) { elasticsearchClient.sendGrafana1DashboardAsync("grafana/Grafana1GraphiteServer.json"); elasticsearchClient.sendGrafana1DashboardAsync("grafana/Grafana1GraphiteKPIsOverTime.json"); } if (corePlugin.isReportToElasticsearch()) { final GrafanaClient grafanaClient = corePlugin.getGrafanaClient(); elasticsearchClient.sendBulkAsync("kibana/ApplicationServer.bulk"); grafanaClient.sendGrafanaDashboardAsync("grafana/ElasticsearchApplicationServer.json"); } }
@Override public void initializePlugin(MetricRegistry metricRegistry, Configuration config) { ElasticsearchClient elasticsearchClient = config.getConfig(CorePlugin.class).getElasticsearchClient(); elasticsearchClient.sendGrafanaDashboardAsync("DB Queries.json"); }
public ElasticsearchAlerter(Configuration configuration, HttpClient httpClient) { this.corePlugin = configuration.getConfig(CorePlugin.class); this.httpClient = httpClient; }