private void reportToGraphite(MetricRegistry metricRegistry, long reportingInterval, MeasurementSession measurementSession) { if (isReportToGraphite()) { final GraphiteReporter graphiteReporter = GraphiteReporter.forRegistry(metricRegistry) .prefixedWith(getGraphitePrefix(measurementSession)) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(new Graphite(new InetSocketAddress(getGraphiteHostName(), getGraphitePort()))); graphiteReporter.start(reportingInterval, TimeUnit.SECONDS); reporters.add(graphiteReporter); } }
@Override public void initializePlugin(StagemonitorPlugin.InitArguments initArguments) { registerPooledResources(initArguments.getMetricRegistry(), tomcatThreadPools()); final CorePlugin corePlugin = initArguments.getPlugin(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.sendClassPathRessourceBulkAsync("kibana/ApplicationServer.bulk"); grafanaClient.sendGrafanaDashboardAsync("grafana/ElasticsearchApplicationServer.json"); } }
@Override public void initializePlugin(StagemonitorPlugin.InitArguments initArguments) { final CorePlugin corePlugin = initArguments.getPlugin(CorePlugin.class); final ElasticsearchClient elasticsearchClient = corePlugin.getElasticsearchClient(); final GrafanaClient grafanaClient = corePlugin.getGrafanaClient(); final String requestsMappingJson = ElasticsearchClient.modifyIndexTemplate( requestIndexTemplate.getValue(), corePlugin.getMoveToColdNodesAfterDays(), corePlugin.getNumberOfReplicas(), corePlugin.getNumberOfShards()); elasticsearchClient.sendMappingTemplateAsync(requestsMappingJson, "stagemonitor-requests"); final String mappingJson = ElasticsearchClient.modifyIndexTemplate( externalRequestsIndexTemplate.getValue(), corePlugin.getMoveToColdNodesAfterDays(), corePlugin.getNumberOfReplicas(), corePlugin.getNumberOfShards()); elasticsearchClient.sendMappingTemplateAsync(mappingJson, "stagemonitor-external-requests"); if (corePlugin.isReportToGraphite()) { elasticsearchClient.sendGrafana1DashboardAsync("grafana/Grafana1GraphiteRequestDashboard.json"); } if (corePlugin.isReportToElasticsearch()) { elasticsearchClient.sendClassPathRessourceBulkAsync("kibana/RequestDashboard.bulk"); grafanaClient.sendGrafanaDashboardAsync("grafana/ElasticsearchRequestDashboard.json"); grafanaClient.sendGrafanaDashboardAsync("grafana/ElasticsearchExternalRequestsDashboard.json"); } if (!corePlugin.getElasticsearchUrls().isEmpty()) { elasticsearchClient.sendClassPathRessourceBulkAsync("kibana/StagemonitorRequestsIndexPattern.bulk"); elasticsearchClient.sendClassPathRessourceBulkAsync("kibana/RequestAnalysis.bulk"); elasticsearchClient.sendClassPathRessourceBulkAsync("kibana/WebAnalytics.bulk"); elasticsearchClient.sendClassPathRessourceBulkAsync("kibana/ExternalRequests.bulk"); elasticsearchClient.scheduleIndexManagement("stagemonitor-requests-", corePlugin.getMoveToColdNodesAfterDays(), deleteRequestTracesAfterDays.getValue()); elasticsearchClient.scheduleIndexManagement("stagemonitor-external-requests-", corePlugin.getMoveToColdNodesAfterDays(), deleteRequestTracesAfterDays.getValue()); } }