Enabling Monitoring in Microservices
Microservices have to deliver data that is displayed in the monitoring solutions. It is possible to provide the data via a simple interface like HTTP with a data format such as JSON. Then the monitoring tools can read the data out and import it. For this purpose, adaptors can be written as scripts by the developers. This makes it possible to provide different tools via the same interface with data.
In the Java world, the Metrics framework can be used. It offers functionalities for recording custom values and sending them to a monitoring tool. This makes it possible to record metrics in the application and to hand them over to a monitoring tool.
StatsD can collect values from different sources, perform calculations, and hand over the results to monitoring tools. This enables condensing of data before it is passed on to the monitoring tool in order to reduce the load on the monitoring tool. There are also many client libraries for StatsD that facilitate the sending of data to StatsD.
collectd collects statistics about a system—for instance, the CPU utilization. The data can be analyzed with the front end or it can be stored in monitoring tools. collectd can collect data from a HTTP JSON data source and send it on to the monitoring tool. Via different plugins, collectd can collect data from the operating system and the basic processes.