Micrometer
Elasticsearch
+
Simple Microservice Monitoring
Micrometer
- Think SL4J for metrics!
-
Collection facade
- Time, count, and gauge code with a vendor neutral API
Micrometer
-
Out of the box with Spring:
-
JVM stats
-
CPU usage
-
Spring MVC and WebFlux request latencies
-
RestTemplate latencies
-
Cache utilization
-
Datasource utilization, including HikariCP pool metrics
-
RabbitMQ connection factories
-
File descriptor usage
-
Logback events
-
Uptime
-
Tomcat usage
-
Elasticsearch
- Database for metrics and logs
- Schema-free storage and retrieval via APIs
- Available as an xPaaS offering
# Connection details for elastic
management.metrics.export.elastic.host=http://localhost:9200
management.metrics.export.elastic.index=metrics-index-name
management.metrics.export.elastic.indexDate=false
management.metrics.export.elastic.userName=svc.Metrics_Service_User
management.metrics.export.elastic.password=password
# Global Tags (Reported with every stat)
management.metrics.tags.environment=DevSandbox
management.metrics.tags.pod=${hostname}
Autoconfiguration
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-elastic</artifactId>
</dependency>
Dependencies
Setup
But it is difficult to analyse/visualise these metrics...
Not offered centrally but can be hosted and connected to the elasticsearch instance
Query Based Searching
Dashboarding
Micrometer + Elastic
By Mark Robinson
Micrometer + Elastic
- 2,846