@Override public void start(PippoSettings settings, MetricRegistry metricRegistry) { if (settings.getBoolean("metrics.librato.enabled", false)) { String hostname = settings.getLocalHostname(); String username = settings.getRequiredString("metrics.librato.username"); String apiKey = settings.getRequiredString("metrics.librato.apikey"); long period = settings.getDurationInSeconds("metrics.librato.period", 60); LibratoReporter.Builder builder = LibratoReporter.builder(metricRegistry, username, apiKey, hostname); LibratoReporter.enable(builder, period, TimeUnit.SECONDS); log.info("Started Librato Metrics reporter for '{}', updating every {} seconds", hostname, period); } else { log.debug("Librato Metrics reporter is disabled"); } }
@Override public void start(PippoSettings settings, MetricRegistry metricRegistry) { if (settings.getBoolean("metrics.prometheus.enabled", false)) { String hostname = settings.getLocalHostname(); String address = settings.getRequiredString("metrics.prometheus.address"); int port = settings.getInteger("metrics.prometheus.port", 2003); long period = settings.getDurationInSeconds("metrics.prometheus.period", 60); Pushgateway pushgateway = new Pushgateway(address, port); reporter = PrometheusReporter.forRegistry(metricRegistry) .prefixedWith(hostname) .filter(MetricFilter.ALL) .build(pushgateway); reporter.start(period, TimeUnit.SECONDS); log.info("Started Prometheus Metrics reporter for '{}', updating every {} seconds", hostname, period); } else { log.debug("Prometheus Metrics reporter is disabled"); } }
@Override public void start(PippoSettings settings, MetricRegistry metricRegistry) { if (settings.getBoolean("metrics.graphite.enabled", false)) { String hostname = settings.getLocalHostname(); String address = settings.getRequiredString("metrics.graphite.address"); int port = settings.getInteger("metrics.graphite.port", 2003); boolean isPickled = settings.getBoolean("metrics.graphite.pickled", false); long period = settings.getDurationInSeconds("metrics.graphite.period", 60); InetSocketAddress graphiteAddress = new InetSocketAddress(address, port); GraphiteSender sender; if (isPickled) { sender = new PickledGraphite(graphiteAddress); } else { sender = new Graphite(graphiteAddress); } reporter = GraphiteReporter.forRegistry(metricRegistry) .prefixedWith(hostname) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .filter(MetricFilter.ALL) .build(sender); reporter.start(period, TimeUnit.SECONDS); log.debug("Started Graphite Metrics reporter for '{}', updating every {} seconds", hostname, period); } else { log.debug("Graphite Metrics reporter is disabled"); } }
@Override public void start(PippoSettings settings, MetricRegistry metricRegistry) { if (settings.getBoolean("metrics.influxdb.enabled", false)) { String hostname = settings.getLocalHostname(); String address = settings.getRequiredString("metrics.influxdb.address"); int port = settings.getInteger("metrics.influxdb.port", 8086); String database = settings.getRequiredString("metrics.influxdb.database"); String username = settings.getRequiredString("metrics.influxdb.username"); String password = settings.getRequiredString("metrics.influxdb.password"); long period = settings.getDurationInSeconds("metrics.influxdb.period", 60); try { InfluxdbHttp influxdb = new InfluxdbHttp(address, port, database, username, password); reporter = InfluxdbReporter.forRegistry(metricRegistry) .prefixedWith(hostname) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .filter(MetricFilter.ALL) .build(influxdb); reporter.start(period, TimeUnit.SECONDS); log.debug("Started InfluxDB Metrics reporter for '{}', updating every {} seconds", hostname, period); } catch (Exception e) { log.error("Failed to start InfluxDB reporter!", e); } } else { log.debug("InfluxDB Metrics reporter is disabled"); } }