When Payara Server has been logging monitoring data to the server log for a short while, the metrics that Logstash outputs to Elasticsearch can be visualised using Kibana. In this blog post, we will create a date histogram displaying used heap memory as a percentage of the maximum heap memory.
Following the first part of this series of blog posts, you should now have a Payara Server installation which monitors the
HeapMemoryUsage MBean and logs the
committed values to the server.log file. As mentioned in the introduction of the previous post, the Monitoring Service logs metrics in a way which allows for fairly hassle-free integration with tools such as Logstash and fluentd.
Often, you might find it useful to store your monitoring data in a search engine such as Elasticsearch or a time series database such as InfluxDB. One way of getting the monitoring data from your server.log into one of these datastores is to use Logstash.
This blog post covers how to get monitoring data from your server.log file and store it in Elasticsearch using Logstash.
(note: there is an updated version of this blog post available here https://blog.payara.fish/making-use-of-payara-servers-jmx-monitoring-service-part-1-setting-up-the-service)
With the release of version 22.214.171.124, Payara Server includes a JMX Monitoring Service (technical preview) which can be used to log information from MBeans to the server log. Using the Monitoring Service, you can monitor information about the JVM runtime such as heap memory usage and threading, as well as more detailed information about the running Payara Server instance. The information is logged as a series of key-value pairs prefixed with the string
PAYARA-MONITORING:, making it easy to filter the output using tools such as Logstash or fluentd.
In this blog series we're going to show you exactly how to use the new Payara Server Monitoring Service. First, we'll take a look at setting up the service - let's get started!