/** * Gets the {@link ServletContextHandler} of the metrics servlet. * * @return the {@link ServletContextHandler} object */ public ServletContextHandler getHandler() { ServletContextHandler contextHandler = new ServletContextHandler(); contextHandler.setContextPath(SERVLET_PATH); contextHandler.addServlet(new ServletHolder(new MetricsServlet(mCollectorRegistry)), "/"); return contextHandler; }
@Override protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }
@Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { resp.setStatus(HttpServletResponse.SC_OK); resp.setContentType(TextFormat.CONTENT_TYPE_004); Writer writer = resp.getWriter(); try { TextFormat.write004(writer, registry.filteredMetricFamilySamples(parse(req))); writer.flush(); } finally { writer.close(); } }
@Override public void init(final ServletConfig config) throws ServletException { super.init(config); tokenValidator = MonitorServlet.createAccessTokenValidator(config); LogManager.getLogger("MAIN").info("[CM7111] Loaded Prometheus monitor API servlet"); }
public void startServer() throws Exception { if (this.bindAddress != null) { this.server = new Server(new InetSocketAddress(InetAddress.getByName(this.bindAddress), port)); } else { this.server = new Server(this.port); } ServletContextHandler handler = new ServletContextHandler(this.server, pathPrefix); if (metricsRegistries != null) { // TODO: there is a way to wire these up automagically via the AdminServlet, but it escapes me right now handler.addServlet(new ServletHolder(new MetricsServlet(metricsRegistries.metricRegistry)), "/metrics"); handler.addServlet(new ServletHolder(new io.prometheus.client.exporter.MetricsServlet()), "/prometheus"); handler.addServlet(new ServletHolder(new HealthCheckServlet(metricsRegistries.healthCheckRegistry)), "/healthcheck"); handler.addServlet(new ServletHolder(new PingServlet()), "/ping"); } if (diagnosticContext != null) { handler.addServlet(new ServletHolder(new DiagnosticHealthCheck(diagnosticContext)), "/diagnostic"); } this.server.start(); this.server.join(); }
@Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { if (! tokenValidator.validateBearerAccessToken(req, resp)) { return; // invalid or missing token } super.doGet(req, resp); }
/** * Gets the {@link ServletContextHandler} of the metrics servlet. * * @return the {@link ServletContextHandler} object */ public ServletContextHandler getHandler() { ServletContextHandler contextHandler = new ServletContextHandler(); contextHandler.setContextPath(SERVLET_PATH); contextHandler.addServlet(new ServletHolder(new MetricsServlet(mCollectorRegistry)), "/"); return contextHandler; }
@Bean public ServletRegistrationBean servletRegistrationBean() { DefaultExports.initialize(); return new ServletRegistrationBean(new MetricsServlet(), "/prometheus"); }
@Bean public ServletRegistrationBean servletRegistrationBean() { DefaultExports.initialize(); return new ServletRegistrationBean(new MetricsServlet(), "/prometheus"); }
/** * Create and add prometheus metrics servlet and add it to an existing handler; register the JMX collector. * @param handler An existing ServletContextHandler. */ public static void create(ServletContextHandler handler) { handler.addServlet(new ServletHolder(new MetricsServlet()), "/metrics"); register(); }
@Bean public ServletRegistrationBean servletRegistrationBean() { DefaultExports.initialize(); return new ServletRegistrationBean(new MetricsServlet(), "/prometheus"); }
private ServletContextHandler createServletContextHandler(Spawn spawn, SpawnServiceConfiguration configuration, Closer closer) { ServletContextHandler context = new ServletContextHandler(); context.addServlet(new ServletHolder("metrics", new MetricsServlet()), "/metrics"); context.addServlet(new ServletHolder("spawn-api", createApiServlet(spawn, configuration, closer)), "/*"); return context; }
@Bean public ServletRegistrationBean servletRegistrationBean(MonitoringProperties properties) { DefaultExports.initialize(); return new ServletRegistrationBean(new MetricsServlet(), properties.getPath()); }
public void testStarted() { // update the configuration this.reconfigure(); this.server = new Server(this.getSaveConfig().getPort()); ServletContextHandler context = new ServletContextHandler(); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics"); try { server.start(); } catch (Exception e) { log.error("Couldn't start http server", e); } }
public static void main(String[] args) throws Exception { // Register basic JVM metrics DefaultExports.initialize(); // Start Jetty to serve stats int port = Integer.parseInt(System.getProperties().getProperty("stats_server_port", "8080")); log.info("Starting ZK stats HTTP server at port {}", port); InetSocketAddress httpEndpoint = InetSocketAddress.createUnresolved("0.0.0.0", port); Server server = new Server(httpEndpoint); ServletContextHandler context = new ServletContextHandler(); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics"); try { server.start(); } catch (Exception e) { log.error("Failed to start HTTP server at port {}. Use \"-Dstats_server_port=1234\" to change port number", port, e); throw e; } // Start the regular ZooKeeper server QuorumPeerMain.main(args); }
protected static void start(String[] args, String defaultStatsPort) throws Exception { // Register basic JVM metrics DefaultExports.initialize(); // load aspectj-weaver agent for instrumentation AgentLoader.loadAgentClass(Agent.class.getName(), null); // Start Jetty to serve stats int port = Integer.parseInt(System.getProperties().getProperty("stats_server_port", defaultStatsPort)); log.info("Starting ZK stats HTTP server at port {}", port); InetSocketAddress httpEndpoint = InetSocketAddress.createUnresolved("0.0.0.0", port); Server server = new Server(httpEndpoint); ServletContextHandler context = new ServletContextHandler(); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics"); try { server.start(); } catch (Exception e) { log.error("Failed to start HTTP server at port {}. Use \"-Dstats_server_port=1234\" to change port number", port, e); throw e; } // Start the regular ZooKeeper server QuorumPeerMain.main(args); }
/** * Appends endpoint servlets to the provided {@code context} which will serve codahale-style and prometheus-style * metrics. */ public static void configureMetricsEndpoints( ServletContextHandler context, String codahaleMetricsEndpoint, String prometheusEndpoint) { // Metrics ServletHolder codahaleMetricsServlet = new ServletHolder("default", new com.codahale.metrics.servlets.MetricsServlet(METRICS)); context.addServlet(codahaleMetricsServlet, codahaleMetricsEndpoint); // Prometheus CollectorRegistry collectorRegistry = new CollectorRegistry(); collectorRegistry.register(new DropwizardExports(METRICS)); ServletHolder prometheusServlet = new ServletHolder("prometheus", new io.prometheus.client.exporter.MetricsServlet(collectorRegistry)); context.addServlet(prometheusServlet, prometheusEndpoint); }
public static void main(String[] args) throws Exception { if (args.length < 2) { System.err.println("Usage: WebServer <port> <yml configuration file>"); System.exit(1); } configFilePath = args[1]; CloudWatchCollector collector = new CloudWatchCollector(new FileReader(configFilePath)).register(); ReloadSignalHandler.start(collector); int port = Integer.parseInt(args[0]); Server server = new Server(port); ServletContextHandler context = new ServletContextHandler(); context.setContextPath("/"); server.setHandler(context); context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics"); context.addServlet(new ServletHolder(new DynamicReloadServlet(collector)), "/-/reload"); context.addServlet(new ServletHolder(new HealthServlet()), "/-/healthy"); context.addServlet(new ServletHolder(new HealthServlet()), "/-/ready"); context.addServlet(new ServletHolder(new HomePageServlet()), "/"); server.start(); server.join(); } }
public MetricsServlet getMetricsServlet() { CollectorRegistry collectorRegistry = new CollectorRegistry(); collectorRegistry.register(new MetricRegistryDecorator(registry, job, getResolvedLabels())); return new MetricsServlet(collectorRegistry); } }
context.addServlet(new ServletHolder(new ConfigServlet(fullDefaultConfig)), "/config/*"); context.addServlet(new ServletHolder(new LogServlet()), "/logs/*"); context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics"); final ServletHolder runServletHolder = new ServletHolder(