This section will introduce the perfect Granafa dashboard, on the basis of the previous section, and present some of its own summary and views of the monitoring data
You can have a dashboard similar to this one that will introduceMonitoring Zimbra Collaboration
This section of the environment uses the CENTOS7 system, the configuration is the same as described in the previous section, but Telegraf is enterprise-level monitoring to add a lot of reliable monitoring plug-ins, very useful parameters, and
the complexity of their own monitoring data analysis.
- Telegraf: It collects all the data we pass through the configuration file, Telegraf collects the output of our configuration, such as services such as Cpu/ram/load or NGINX,MARIADB.
- InfluxDB: This is where TELEGRAF sends all this information, InfluxDB is specifically designed for efficient storage of large amounts of information, and can define information retention in case of performance issues
- Grafana: It is a dashboard that displays all the information Influxdb stores in the database
Import Dashboards in Grafana
You can download from here: https://grafana.com/dashboards/2846/the steps to import them are as follows, go to our dashboard, and then press Import
Enter the id:2846 of the Zimbra dashboard, we will automatically display the following, select our data source and provide it to the import
After a few minutes, we can start to see a vivid dashboard, as shown below
Data analysis
Grafana the data from the system and the application, it is necessary to begin analyzing the intent of the data.
- Application Data: Data metrics collected by metrics in Springboot Actutaur, via Jolokia pull data to Telegrafa proxy to input into time series database (I tried to save the indicator directly in Influxdb, But did not find a solution, have to know the partner can give me a message)
Add: Jolokia is a jmx-http bridge that can replace the JSR-160 connector. It is an agent-based approach that supports many platforms.
In addition to basic JMX operations, it enhances JMX remoting capabilities through unique features such as bulk requests and fine-grained security policies, and application monitoring extends directly to the JVM.
Special Note: The proxy mode can only be used when needed. The proxy servlet itself is more powerful than proxy mode because it eliminates additional layers that increase overall complexity and performance. In addition, some features, such as merge Mbeanservers, are not available in proxy mode.
In Telegrafa, the corresponding data is opened and Jolokia is pulled, so it will be changed in [Inputs.jolokia]
[[Inputs.jolokia.metrics]] Name = "Class load times" mbean = "java.lang:type=classloading" attribute = "Loadedclasscount, Unloadedclasscount,totalloadedclasscount " [[Inputs.jolokia.metrics]] name =" Metrics data " Mbean= "Org.springframework.boot:type=endpoint,name=metricsendpoint" attribute = "Data"
Grafana in the database will have the corresponding data pulled by Jolokia to do drop-down list
- System Information: Including number of processors processors, run time uptime and instance.uptime, system average load systemload.average.
- mem.*: Memory profile information, including the total amount of memory allocated to the app and the amount of memory currently idle. This information is from Java.lang.Runtime.
- heap.*: Heap memory usage. This information is derived from the Java.lang.management.MemoryUsage obtained by the Getheapmemoryusage method in the Java.lang.management.MemoryMXBean interface.
- nonheap.*: Non-heap memory usage. This information is derived from the Java.lang.management.MemoryUsage obtained by the Getnonheapmemoryusage method in the Java.lang.management.MemoryMXBean interface.
- threads.*: Thread usage, including the number of threads, number of daemons (daemon), peak of thread, and so on, all from Java.lang.management.ThreadMXBean.
- Classes.*: Applies the load and unload class statistics. The data are from Java.lang.management.ClassLoadingMXBean.
- Gc.*: Details of the garbage collector, including garbage collection times Gc.ps_scavenge.count, garbage collection consumption time gc.ps_scavenge.time, number of token-purge algorithms gc.ps_marksweep.count, Mark-Clears the algorithm's consumption time gc.ps_marksweep.time. The data are from Java.lang.management.GarbageCollectorMXBean.
- Httpsessions.*:tomcat the session usage of the container. Includes the maximum number of sessions Httpsessions.max and the number of active sessions httpsessions.active. This metric information is only available when embedded Tomcat is introduced as an application container.
- One of the performance indicators of the GAUGE.*:HTTP request, which is mainly used to reflect an absolute value. As in the example above , gauge.response.hello:5 indicates a delay of 5 milliseconds for the last hello request.
- One of the performance metrics of the counter.*:http request, which is used primarily as a counter to record the amount of increase and decrease. As counter.status.200.hello:11 in the example above , it represents the number of times that the Hello request returned a 200 status of 11.
- double Asterisks (
star-star
) comes from a request /**
that matches the spring MVC (usually a static resource).
- /trace: This endpoint is used to return basic HTTP trace information
- /dump: This endpoint is used to expose thread information in program runs.
At the application level can only monitor the 200,response,400 state of the interface, time response, the amount of information required is not enough. You can turn on the net monitoring network in telegraf.conf, and use the right plugins to help us monitor the requirements.
The above are my personal summary of the practice and data collation, if there is doubt can give me a message, I will promptly reply to you.
Spring Boot Actutaur + telegraf + InFluxDB + Grafana Building monitoring Platform Application data analysis