package org.stagemonitor.logging; import org.stagemonitor.core.CorePlugin; import org.stagemonitor.core.StagemonitorPlugin; import org.stagemonitor.core.elasticsearch.ElasticsearchClient; import org.stagemonitor.core.grafana.GrafanaClient; public class LoggingPlugin extends StagemonitorPlugin { @Override public void initializePlugin(StagemonitorPlugin.InitArguments initArguments) { final CorePlugin corePlugin = initArguments.getPlugin(CorePlugin.class); final ElasticsearchClient elasticsearchClient = corePlugin.getElasticsearchClient(); final GrafanaClient grafanaClient = corePlugin.getGrafanaClient(); if (corePlugin.isReportToGraphite()) { elasticsearchClient.sendGrafana1DashboardAsync("grafana/Grafana1GraphiteLogging.json"); } if (corePlugin.isReportToElasticsearch()) { grafanaClient.sendGrafanaDashboardAsync("grafana/ElasticsearchLogging.json"); elasticsearchClient.sendClassPathRessourceBulkAsync("kibana/Logging.bulk"); } } @Override public void registerWidgetMetricTabPlugins(WidgetMetricTabPluginsRegistry widgetMetricTabPluginsRegistry) { widgetMetricTabPluginsRegistry.addWidgetMetricTabPlugin("/stagemonitor/static/tabs/metrics/logging-metrics"); } }