yzl
93958d0fb0
|
1 year ago | |
---|---|---|
.. | ||
README.md | 1 year ago | |
template_app_tomcat_jmx.yaml | 1 year ago |
README.md
Apache Tomcat by JMX
Overview
This template is designed for the effortless deployment of Apache Tomcat monitoring by Zabbix via JMX and doesn't require any external scripts.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Apache Tomcat 8.5.59
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX.
- Enable and configure JMX access to Apache Tomcat. See documentation for instructions (chose your version).
- If your Tomcat installation require authentication for JMX, set values in host macros {$TOMCAT.USERNAME} and {$TOMCAT.PASSWORD}.
- You can set custom macro values and add macros with context for specific metrics following macro description.
Macros used
Name | Description | Default |
---|---|---|
{$TOMCAT.USER} | User for JMX |
|
{$TOMCAT.PASSWORD} | Password for JMX |
|
{$TOMCAT.LLD.FILTER.MATCHES} | Filter for discoverable objects. Can be used with following contexts: "GlobalRequestProcessor", "ThreadPool", "Manager" |
.* |
{$TOMCAT.LLD.FILTER.NOT_MATCHES} | Filter to exclude discovered objects. Can be used with following contexts: "GlobalRequestProcessor", "ThreadPool", "Manager" |
CHANGE IF NEEDED |
{$TOMCAT.THREADS.MAX.PCT} | Threshold for busy worker threads trigger. Can be used with {#JMXNAME} as context. |
75 |
{$TOMCAT.THREADS.MAX.TIME} | The time during which the number of busy threads can exceed the threshold. Can be used with {#JMXNAME} as context. |
5m |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Tomcat: Version | The version of the Tomcat. |
JMX agent | jmx["Catalina:type=Server",serverInfo] Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Tomcat: Version has been changed | The Tomcat version has changed. Acknowledge to close the problem manually. |
last(/Apache Tomcat by JMX/jmx["Catalina:type=Server",serverInfo],#1)<>last(/Apache Tomcat by JMX/jmx["Catalina:type=Server",serverInfo],#2) and length(last(/Apache Tomcat by JMX/jmx["Catalina:type=Server",serverInfo]))>0 |
Info | Manual close: Yes |
LLD rule Global request processors discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Global request processors discovery | Discovery for GlobalRequestProcessor |
JMX agent | jmx.discovery[beans,"Catalina:type=GlobalRequestProcessor,name=*"] |
Item prototypes for Global request processors discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#JMXNAME}: Bytes received per second | Bytes received rate by processor {#JMXNAME} |
JMX agent | jmx[{#JMXOBJ},bytesReceived] Preprocessing
|
{#JMXNAME}: Bytes sent per second | Bytes sent rate by processor {#JMXNAME} |
JMX agent | jmx[{#JMXOBJ},bytesSent] Preprocessing
|
{#JMXNAME}: Errors per second | Error rate of request processor {#JMXNAME} |
JMX agent | jmx[{#JMXOBJ},errorCount] Preprocessing
|
{#JMXNAME}: Requests per second | Rate of requests served by request processor {#JMXNAME} |
JMX agent | jmx[{#JMXOBJ},requestCount] Preprocessing
|
{#JMXNAME}: Requests processing time | The total time to process all incoming requests of request processor {#JMXNAME} |
JMX agent | jmx[{#JMXOBJ},processingTime] Preprocessing
|
LLD rule Protocol handlers discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Protocol handlers discovery | Discovery for ProtocolHandler |
JMX agent | jmx.discovery[attributes,"Catalina:type=ProtocolHandler,port=*"] |
Item prototypes for Protocol handlers discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#JMXVALUE}: Gzip compression status | Gzip compression status on {#JMXNAME}. Enabling gzip compression may save server bandwidth. |
JMX agent | jmx[{#JMXOBJ},compression] Preprocessing
|
Trigger prototypes for Protocol handlers discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#JMXVALUE}: Gzip compression is disabled | gzip compression is disabled for connector {#JMXVALUE}. |
find(/Apache Tomcat by JMX/jmx[{#JMXOBJ},compression],,"like","off") = 1 |
Info | Manual close: Yes |
LLD rule Thread pools discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Thread pools discovery | Discovery for ThreadPool |
JMX agent | jmx.discovery[beans,"Catalina:type=ThreadPool,name=*"] |
Item prototypes for Thread pools discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#JMXNAME}: Threads count | Amount of threads the thread pool has right now, both busy and free. |
JMX agent | jmx[{#JMXOBJ},currentThreadCount] Preprocessing
|
{#JMXNAME}: Threads limit | Limit of the threads count. When currentThreadsBusy counter reaches the maxThreads limit, no more requests could be handled, and the application chokes. |
JMX agent | jmx[{#JMXOBJ},maxThreads] Preprocessing
|
{#JMXNAME}: Threads busy | Number of the requests that are being currently handled. |
JMX agent | jmx[{#JMXOBJ},currentThreadsBusy] |
Trigger prototypes for Thread pools discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#JMXNAME}: Busy worker threads count is high | When current threads busy counter reaches the limit, no more requests could be handled, and the application chokes. |
min(/Apache Tomcat by JMX/jmx[{#JMXOBJ},currentThreadsBusy],{$TOMCAT.THREADS.MAX.TIME:"{#JMXNAME}"})>last(/Apache Tomcat by JMX/jmx[{#JMXOBJ},maxThreads])*{$TOMCAT.THREADS.MAX.PCT:"{#JMXNAME}"}/100 |
High |
LLD rule Contexts discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Contexts discovery | Discovery for contexts |
JMX agent | jmx.discovery[beans,"Catalina:type=Manager,host=,context="] |
Item prototypes for Contexts discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#JMXHOST}{#JMXCONTEXT}: Sessions active | Active sessions of the application. |
JMX agent | jmx[{#JMXOBJ},activeSessions] |
{#JMXHOST}{#JMXCONTEXT}: Sessions active maximum so far | Maximum number of active sessions so far. |
JMX agent | jmx[{#JMXOBJ},maxActive] |
{#JMXHOST}{#JMXCONTEXT}: Sessions created per second | Rate of sessions created by this application per second. |
JMX agent | jmx[{#JMXOBJ},sessionCounter] Preprocessing
|
{#JMXHOST}{#JMXCONTEXT}: Sessions rejected per second | Rate of sessions we rejected due to maxActive being reached. |
JMX agent | jmx[{#JMXOBJ},rejectedSessions] Preprocessing
|
{#JMXHOST}{#JMXCONTEXT}: Sessions allowed maximum | The maximum number of active Sessions allowed, or -1 for no limit. |
JMX agent | jmx[{#JMXOBJ},maxActiveSessions] |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums