예제 #1
0
  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);
    }
  }
예제 #2
0
 @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());
 }
예제 #3
0
 @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");
   }
 }
예제 #4
0
 @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;
 }