コード例 #1
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
  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
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
  private void reportToElasticsearch(
      Metric2Registry metricRegistry,
      int reportingInterval,
      final MeasurementSession measurementSession,
      CorePlugin corePlugin) {
    if (isReportToElasticsearch()) {
      elasticsearchClient.sendBulkAsync("KibanaConfig.bulk");
      logger.info(
          "Sending metrics to Elasticsearch ({}) every {}s",
          getElasticsearchUrl(),
          reportingInterval);
      final String mappingJson =
          ElasticsearchClient.requireBoxTypeHotIfHotColdAritectureActive(
              "stagemonitor-elasticsearch-metrics-index-template.json",
              corePlugin.moveToColdNodesAfterDays.getValue());
      elasticsearchClient.sendMappingTemplateAsync(mappingJson, "stagemonitor-metrics");
      final ElasticsearchReporter reporter =
          new ElasticsearchReporter(
              metricRegistry,
              Metric2Filter.ALL,
              TimeUnit.SECONDS,
              TimeUnit.MILLISECONDS,
              measurementSession.asMap(),
              new HttpClient(),
              this);

      reporter.start(reportingInterval, TimeUnit.SECONDS);
      reporters.add(reporter);
      elasticsearchClient.scheduleIndexManagement(
          ElasticsearchReporter.STAGEMONITOR_METRICS_INDEX_PREFIX,
          moveToColdNodesAfterDays.getValue(),
          deleteElasticsearchMetricsAfterDays.getValue());
    } else {
      logger.info(
          "Not sending metrics to Elasticsearch (url={}, interval={}s)",
          getElasticsearchUrl(),
          reportingInterval);
    }
  }
コード例 #3
0
ファイル: JdbcPlugin.java プロジェクト: Hanbusy/stagemonitor
 public boolean isCollectSql() {
   return collectSql.getValue();
 }
コード例 #4
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isMonitorOnlySpringMvcRequests() {
   return monitorOnlySpringMvcOption.getValue();
 }
コード例 #5
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public String getMetricsServletAllowedOrigin() {
   return metricsServletAllowedOrigin.getValue();
 }
コード例 #6
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isCollectPageLoadTimesPerRequest() {
   return collectPageLoadTimesPerRequest.getValue();
 }
コード例 #7
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isWidgetEnabled() {
   return widgetEnabled.getValue();
 }
コード例 #8
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isCollectHttpHeaders() {
   return collectHttpHeaders.getValue();
 }
コード例 #9
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public Integer getReloadConfigurationInterval() {
   return reloadConfigurationInterval.getValue();
 }
コード例 #10
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public boolean isDeactivateStagemonitorIfEsConfigSourceIsDown() {
   return deactivateStagemonitorIfEsConfigSourceIsDown.getValue();
 }
コード例 #11
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getElasticsearchUrl() {
   return removeTrailingSlash(elasticsearchUrl.getValue());
 }
コード例 #12
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getInstanceName() {
   return instanceName.getValue();
 }
コード例 #13
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getApplicationName() {
   return applicationName.getValue();
 }
コード例 #14
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public int getGraphitePort() {
   return graphitePort.getValue();
 }
コード例 #15
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getGraphiteHostName() {
   return graphiteHostName.getValue();
 }
コード例 #16
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public int getElasticsearchReportingInterval() {
   return reportingIntervalElasticsearch.getValue();
 }
コード例 #17
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public Integer getMoveToColdNodesAfterDays() {
   return moveToColdNodesAfterDays.getValue();
 }
コード例 #18
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public boolean isAttachAgentAtRuntime() {
   return attachAgentAtRuntime.getValue();
 }
コード例 #19
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isParseUserAgent() {
   return parseUserAgent.getValue();
 }
コード例 #20
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getInfluxDbUrl() {
   return removeTrailingSlash(influxDbUrl.getValue());
 }
コード例 #21
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isRealUserMonitoringEnabled() {
   return rumEnabled.getValue();
 }
コード例 #22
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getInfluxDbDb() {
   return influxDbDb.getValue();
 }
コード例 #23
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isMonitorOnlyForwardedRequests() {
   return monitorOnlyForwardedRequests.getValue();
 }
コード例 #24
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public boolean isReportToElasticsearch() {
   return StringUtils.isNotEmpty(getElasticsearchUrl())
       && reportingIntervalElasticsearch.getValue() > 0;
 }
コード例 #25
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public String getMetricsServletJsonpParamName() {
   return metricsServletJsonpParameter.getValue();
 }
コード例 #26
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getGrafanaUrl() {
   return removeTrailingSlash(grafanaUrl.getValue());
 }
コード例 #27
0
ファイル: WebPlugin.java プロジェクト: pkallos/stagemonitor
 public boolean isMonitorOnlyResteasyRequests() {
   return monitorOnlyResteasyOption.getValue();
 }
コード例 #28
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public String getGrafanaApiKey() {
   return grafanaApiKey.getValue();
 }
コード例 #29
0
ファイル: JdbcPlugin.java プロジェクト: Hanbusy/stagemonitor
 public boolean isCollectPreparedStatementParameters() {
   return collectPreparedStatementParameters.getValue();
 }
コード例 #30
0
ファイル: CorePlugin.java プロジェクト: ryanrupp/stagemonitor
 public int getThreadPoolQueueCapacityLimit() {
   return threadPoolQueueCapacityLimit.getValue();
 }