Since we added our base application it is time for us to spin up an InfluxDB instance.
We shall follow a previous tutorial and add a docker instance.
docker run –rm -p 8086:8086 –name influxdb-local influxdb
Time to add the micrometer InfluxDB dependency on our pom
<dependencies> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-influx</artifactId> <version>1.3.2</version> </dependency> ... </dependencies>
Time to add the configuration through the application.yaml
management: metrics: export: influx: enabled: true db: devjobsapi uri: http://127.0.0.1:8086 endpoints: web: expose: "*"
Let’s spin up our application and do some requests.
After some time we can check the database and the data contained.
docker exec -it influxdb-local influx > SHOW DATABASES; name: databases name ---- _internal devjobsapi > use devjobsapi Using database devjobsapi > SHOW MEASUREMENTS name: measurements name ---- http_server_requests jvm_buffer_count jvm_buffer_memory_used jvm_buffer_total_capacity jvm_classes_loaded jvm_classes_unloaded jvm_gc_live_data_size jvm_gc_max_data_size jvm_gc_memory_allocated jvm_gc_memory_promoted jvm_gc_pause jvm_memory_committed jvm_memory_max jvm_memory_used jvm_threads_daemon jvm_threads_live jvm_threads_peak jvm_threads_states logback_events process_cpu_usage process_files_max process_files_open process_start_time process_uptime system_cpu_count system_cpu_usage system_load_average_1m
That’s pretty awesome. Let’s check the endpoints accessed.
> SELECT*FROM http_server_requests; name: http_server_requests time count exception mean method metric_type outcome status sum upper uri ---- ----- --------- ---- ------ ----------- ------- ------ --- ----- --- 1582586157093000000 1 None 252.309331 GET histogram SUCCESS 200 252.309331 252.309331 /actuator 1582586157096000000 0 None 0 GET histogram SUCCESS 200 0 2866.531375 /jobs/github/{page}
Pretty great! The next step would be to visualise those metrics.
3 thoughts on “Spring Boot and Micrometer with InlfuxDB Part 2: Adding InfluxDB”