From d079b656b4719739b2247dcd9d46e9bec793095a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 6 Feb 2023 17:11:34 +0100 Subject: Merging upstream version 1.38.0. Signed-off-by: Daniel Baumann --- collectors/python.d.plugin/springboot/README.md | 145 ------------------------ 1 file changed, 145 deletions(-) delete mode 100644 collectors/python.d.plugin/springboot/README.md (limited to 'collectors/python.d.plugin/springboot/README.md') diff --git a/collectors/python.d.plugin/springboot/README.md b/collectors/python.d.plugin/springboot/README.md deleted file mode 100644 index cdbc9a900..000000000 --- a/collectors/python.d.plugin/springboot/README.md +++ /dev/null @@ -1,145 +0,0 @@ - - -# Java Spring Boot 2 application monitoring with Netdata - -Monitors one or more Java Spring-boot applications depending on configuration. -Netdata can be used to monitor running Java [Spring Boot](https://spring.io/) applications that expose their metrics with the use of the **Spring Boot Actuator** included in Spring Boot library. - -## Configuration - -The Spring Boot Actuator exposes these metrics over HTTP and is very easy to use: - -- add `org.springframework.boot:spring-boot-starter-actuator` to your application dependencies -- set `endpoints.metrics.sensitive=false` in your `application.properties` - -You can create custom Metrics by add and inject a PublicMetrics in your application. -This is a example to add custom metrics: - -```java -package com.example; - -import org.springframework.boot.actuate.endpoint.PublicMetrics; -import org.springframework.boot.actuate.metrics.Metric; -import org.springframework.stereotype.Service; - -import java.lang.management.ManagementFactory; -import java.lang.management.MemoryPoolMXBean; -import java.util.ArrayList; -import java.util.Collection; - -@Service -public class HeapPoolMetrics implements PublicMetrics { - - private static final String PREFIX = "mempool."; - private static final String KEY_EDEN = PREFIX + "eden"; - private static final String KEY_SURVIVOR = PREFIX + "survivor"; - private static final String KEY_TENURED = PREFIX + "tenured"; - - @Override - public Collection> metrics() { - Collection> result = new ArrayList<>(4); - for (MemoryPoolMXBean mem : ManagementFactory.getMemoryPoolMXBeans()) { - String poolName = mem.getName(); - String name = null; - if (poolName.indexOf("Eden Space") != -1) { - name = KEY_EDEN; - } else if (poolName.indexOf("Survivor Space") != -1) { - name = KEY_SURVIVOR; - } else if (poolName.indexOf("Tenured Gen") != -1 || poolName.indexOf("Old Gen") != -1) { - name = KEY_TENURED; - } - - if (name != null) { - result.add(newMemoryMetric(name, mem.getUsage().getMax())); - result.add(newMemoryMetric(name + ".init", mem.getUsage().getInit())); - result.add(newMemoryMetric(name + ".committed", mem.getUsage().getCommitted())); - result.add(newMemoryMetric(name + ".used", mem.getUsage().getUsed())); - } - } - return result; - } - - private Metric newMemoryMetric(String name, long bytes) { - return new Metric<>(name, bytes / 1024); - } -} -``` - -Please refer [Spring Boot Actuator: Production-ready Features](https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready) and [81. Actuator - Part IX. ‘How-to’ guides](https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-actuator) for more information. - -## Charts - -1. **Response Codes** in requests/s - - - 1xx - - 2xx - - 3xx - - 4xx - - 5xx - - others - -2. **Threads** - - - daemon - - total - -3. **GC Time** in milliseconds and **GC Operations** in operations/s - - - Copy - - MarkSweep - - ... - -4. **Heap Memory Usage** in KB - - - used - - committed - -## Usage - -Edit the `python.d/springboot.conf` configuration file using `edit-config` from the Netdata [config -directory](/docs/configure/nodes.md), which is typically at `/etc/netdata`. - -```bash -cd /etc/netdata # Replace this path with your Netdata config directory, if different -sudo ./edit-config python.d/springboot.conf -``` - -This module defines some common charts, and you can add custom charts by change the configurations. - -The configuration format is like: - -```yaml -: - name: '' - url: '' # ex. http://localhost:8080/metrics - user: '' # optional - pass: '' # optional - defaults: - []: true|false - extras: - - id: '' - options: - title: '***' - units: '***' - family: '***' - context: 'springboot.***' - charttype: 'stacked' | 'area' | 'line' - lines: - - { dimension: 'myapp_ok', name: 'ok', algorithm: 'absolute', multiplier: 1, divisor: 1} # it shows "myapp.ok" metrics - - { dimension: 'myapp_ng', name: 'ng', algorithm: 'absolute', multiplier: 1, divisor: 1} # it shows "myapp.ng" metrics -``` - -By default, it creates `response_code`, `threads`, `gc_time`, `gc_ope` abd `heap` charts. -You can disable the default charts by set `defaults.: false`. - -The dimension name of extras charts should replace `.` to `_`. - -Please check -[springboot.conf](https://raw.githubusercontent.com/netdata/netdata/master/collectors/python.d.plugin/springboot/springboot.conf) -for more examples. - - -- cgit v1.2.3