Available solutions
WildFly Domain by JMX
Overview
Official JMX Template for WildFly Domain Controller.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Domain: WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly Domain: WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
LLD rule Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Servers discovery | Discovery instances in domain. |
JMX agent | jmx.get[beans,"jboss.as:host=master,server-config=*"] |
Item prototypes for Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX agent | jmx["{#JMXOBJ}",autoStart] Preprocessing
|
| Server {#SERVER}: Status | The current status of the server. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX agent | jmx["{#JMXOBJ}",group] Preprocessing
|
Trigger prototypes for Servers discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Domain: Server {#SERVER}: Server status has changed | Server status has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
| WildFly Domain: Server {#SERVER}: Server group has changed | Server group has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
Info | Manual close: Yes |
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
WildFly Domain by JMX
Overview
Official JMX Template for WildFly Domain Controller.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Domain: WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly Domain: WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
LLD rule Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Servers discovery | Discovery instances in domain. |
JMX agent | jmx.get[beans,"jboss.as:host=master,server-config=*"] |
Item prototypes for Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX agent | jmx["{#JMXOBJ}",autoStart] Preprocessing
|
| Server {#SERVER}: Status | The current status of the server. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX agent | jmx["{#JMXOBJ}",group] Preprocessing
|
Trigger prototypes for Servers discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Domain: Server {#SERVER}: Server status has changed | Server status has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
| WildFly Domain: Server {#SERVER}: Server group has changed | Server group has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
Info | Manual close: Yes |
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
WildFly Domain by JMX
Overview
Official JMX Template for WildFly Domain Controller.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Domain: WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly Domain: WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
LLD rule Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Servers discovery | Discovery instances in domain. |
JMX agent | jmx.get[beans,"jboss.as:host=master,server-config=*"] |
Item prototypes for Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX agent | jmx["{#JMXOBJ}",autoStart] Preprocessing
|
| Server {#SERVER}: Status | The current status of the server. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX agent | jmx["{#JMXOBJ}",group] Preprocessing
|
Trigger prototypes for Servers discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Domain: Server {#SERVER}: Server status has changed | Server status has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
| WildFly Domain: Server {#SERVER}: Server group has changed | Server group has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
Info | Manual close: Yes |
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
WildFly Domain by JMX
Overview
Official JMX Template for WildFly Domain Controller.
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| WildFly: Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| WildFly: Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| WildFly: Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
LLD rule Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Servers discovery | Discovery instances in domain. |
JMX agent | jmx.get[beans,"jboss.as:host=master,server-config=*"] |
Item prototypes for Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly domain: Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX agent | jmx["{#JMXOBJ}",autoStart] Preprocessing
|
| WildFly domain: Server {#SERVER}: Status | The current status of the server. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| WildFly domain: Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX agent | jmx["{#JMXOBJ}",group] Preprocessing
|
Trigger prototypes for Servers discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly domain: Server {#SERVER}: Server status has changed | Server status has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
| WildFly domain: Server {#SERVER}: Server group has changed | Server group has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
Info | Manual close: Yes |
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
WildFly Domain by JMX
Overview
For Zabbix version: 6.2 and higher
Official JMX Template for WildFly Domain Controller.
This template was tested on:
- WildFly, version 22.6.0
Setup
See Zabbix template operation for basic instructions.
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.JMX.PROTOCOL} | - |
remote+http |
| {$WILDFLY.PASSWORD} | - |
zabbix |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
| {$WILDFLY.USER} | - |
zabbix |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] Filter: AND- {#DEPLOYMENT} MATCHES_REGEX - {#DEPLOYMENT} NOT_MATCHES_REGEX |
| Servers discovery | Discovery instances in domain. |
JMX | jmx.get[beans,"jboss.as:host=master,server-config=*"] Filter: AND- {#SERVER} MATCHES_REGEX - {#SERVER} NOT_MATCHES_REGEX |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| WildFly | WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX | jmx["jboss.as:management-root=server","launchType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX | jmx["jboss.as:management-root=server","name"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Process type | The type of process represented by this root resource. |
JMX | jmx["jboss.as:management-root=server","processType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Version | The version of the WildFly Core based product release |
JMX | jmx["jboss.as:management-root=server","productVersion"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Uptime | WildFly server uptime. |
JMX | jmx["java.lang:type=Runtime","Uptime"] Preprocessing: - MULTIPLIER: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts.) |
JMX | jmx["{#JMXOBJ}",enabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",managed] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX | jmx["{#JMXOBJ}",autoStart] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Status | The current status of the server. |
JMX | jmx["{#JMXOBJ}",status] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX | jmx["{#JMXOBJ}",group] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Version has changed | WildFly version has changed. Ack to close. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
INFO | Manual close: YES |
| WildFly: has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
INFO | Manual close: YES |
| WildFly domain: Server {#SERVER}: Server status has changed | Server status has changed. Ack to close. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
WARNING | Manual close: YES |
| WildFly domain: Server {#SERVER}: Server group has changed | Server group has changed. Ack to close. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
INFO | Manual close: YES |
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 with it at ZABBIX forums.
WildFly Domain by JMX
Overview
Official JMX Template for WildFly Domain Controller.
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| WildFly: Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| WildFly: Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| WildFly: Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
LLD rule Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Servers discovery | Discovery instances in domain. |
JMX agent | jmx.get[beans,"jboss.as:host=master,server-config=*"] |
Item prototypes for Servers discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly domain: Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX agent | jmx["{#JMXOBJ}",autoStart] Preprocessing
|
| WildFly domain: Server {#SERVER}: Status | The current status of the server. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| WildFly domain: Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX agent | jmx["{#JMXOBJ}",group] Preprocessing
|
Trigger prototypes for Servers discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly domain: Server {#SERVER}: Server status has changed | Server status has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
| WildFly domain: Server {#SERVER}: Server group has changed | Server group has changed. Acknowledge to close the problem manually. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
Info | Manual close: Yes |
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
WildFly Domain by JMX
Overview
For Zabbix version: 5.4 and higher
Official JMX Template for WildFly Domain Controller.
This template was tested on:
- WildFly, version 22.6.0
Setup
See Zabbix template operation for basic instructions.
Metrics are collected by JMX. This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.JMX.PROTOCOL} | - |
remote+http |
| {$WILDFLY.PASSWORD} | - |
zabbix |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
| {$WILDFLY.USER} | - |
zabbix |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] Filter: AND- {#DEPLOYMENT} MATCHES_REGEX - {#DEPLOYMENT} NOT_MATCHES_REGEX |
| Servers discovery | Discovery instances in domain. |
JMX | jmx.get[beans,"jboss.as:host=master,server-config=*"] Filter: AND- {#SERVER} MATCHES_REGEX - {#SERVER} NOT_MATCHES_REGEX |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| WildFly | WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX | jmx["jboss.as:management-root=server","launchType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX | jmx["jboss.as:management-root=server","name"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Process type | The type of process represented by this root resource. |
JMX | jmx["jboss.as:management-root=server","processType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Version | The version of the WildFly Core based product release |
JMX | jmx["jboss.as:management-root=server","productVersion"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Uptime | WildFly server uptime. |
JMX | jmx["java.lang:type=Runtime","Uptime"] Preprocessing: - MULTIPLIER: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts.) |
JMX | jmx["{#JMXOBJ}",enabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",managed] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX | jmx["{#JMXOBJ}",autoStart] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Status | The current status of the server. |
JMX | jmx["{#JMXOBJ}",status] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX | jmx["{#JMXOBJ}",group] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Version has changed (new version: {ITEM.VALUE}) | WildFly version has changed. Ack to close. |
last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Domain by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
INFO | Manual close: YES |
| WildFly: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/WildFly Domain by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
INFO | Manual close: YES |
| WildFly domain: Server {#SERVER}: Server status has changed (new status: {ITEM.VALUE}) | Server status has changed. Ack to close. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",status]))>0 |
WARNING | Manual close: YES |
| WildFly domain: Server {#SERVER}: Server group has changed (new group: {ITEM.VALUE}) | Server group has changed. Ack to close. |
last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#1)<>last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group],#2) and length(last(/WildFly Domain by JMX/jmx["{#JMXOBJ}",group]))>0 |
INFO | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Template APP WildFly Domain by JMX
Overview
For Zabbix version: 5.0 and higher
Official JMX Template for WildFly Domain Controller.
This template was tested on:
- WildFly, version 22.6.0
Setup
See Zabbix template operation for basic instructions.
Metrics are collected by JMX.
This template works with Domain Controller.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.JMX.PROTOCOL} | - |
remote+http |
| {$WILDFLY.PASSWORD} | - |
zabbix |
| {$WILDFLY.SERVER.MATCHES} | Filter of discoverable servers |
.* |
| {$WILDFLY.SERVER.NOT_MATCHES} | Filter to exclude discovered servers |
CHANGE_IF_NEEDED |
| {$WILDFLY.USER} | - |
zabbix |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX | jmx.get[beans,"jboss.as.expr:deployment=,server-group="] Filter: AND- A: {#DEPLOYMENT} MATCHES_REGEX - B: {#DEPLOYMENT} NOT_MATCHES_REGEX |
| Servers discovery | Discovery instances in domain. |
JMX | jmx.get[beans,"jboss.as:host=master,server-config=*"] Filter: AND- A: {#SERVER} MATCHES_REGEX - B: {#SERVER} NOT_MATCHES_REGEX |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| WildFly | WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX | jmx["jboss.as:management-root=server","launchType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX | jmx["jboss.as:management-root=server","name"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Process type | The type of process represented by this root resource. |
JMX | jmx["jboss.as:management-root=server","processType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Version | The version of the WildFly Core based product release |
JMX | jmx["jboss.as:management-root=server","productVersion"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Uptime | WildFly server uptime. |
JMX | jmx["java.lang:type=Runtime","Uptime"] Preprocessing: - MULTIPLIER: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts.) |
JMX | jmx["{#JMXOBJ}",enabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",managed] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Autostart | Whether or not this server should be started when the Host Controller starts. |
JMX | jmx["{#JMXOBJ}",autoStart] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Status | The current status of the server. |
JMX | jmx["{#JMXOBJ}",status] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly domain: Server {#SERVER}: Server group | The name of a server group from the domain model. |
JMX | jmx["{#JMXOBJ}",group] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Version has changed (new version: {ITEM.VALUE}) | WildFly version has changed. Ack to close. |
{TEMPLATE_NAME:jmx["jboss.as:management-root=server","productVersion"].diff()}=1 and {TEMPLATE_NAME:jmx["jboss.as:management-root=server","productVersion"].strlen()}>0 |
INFO | Manual close: YES |
| WildFly: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
{TEMPLATE_NAME:jmx["java.lang:type=Runtime","Uptime"].last()}<10m |
INFO | Manual close: YES |
| WildFly domain: Server {#SERVER}: Server status has changed (new status: {ITEM.VALUE}) | Server status has changed. Ack to close. |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",status].diff()}=1 and {TEMPLATE_NAME:jmx["{#JMXOBJ}",status].strlen()}>0 |
WARNING | Manual close: YES |
| WildFly domain: Server {#SERVER}: Server group has changed (new group: {ITEM.VALUE}) | Server group has changed. Ack to close. |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",group].diff()}=1 and {TEMPLATE_NAME:jmx["{#JMXOBJ}",group].strlen()}>0 |
INFO | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
WildFly Server by JMX
Overview
Official JMX Template for WildFly server.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain. |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX agent | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing
|
| Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX agent | jmx["jboss.as:management-root=server","serverState"] Preprocessing
|
| Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
| Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing
|
| Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing
|
| Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing
|
| Transactions: Committed, rate | The number of committed transactions. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing
|
| Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing
|
| Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing
|
| Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing
|
| Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing
|
| Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Server needs to restart for configuration change. | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
Warning | ||
| WildFly Server: Server controller is not in RUNNING state | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
Warning | Depends on:
|
|
| WildFly Server: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly Server: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
| WildFly Server: Failed to fetch info data | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
Warning |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=*"] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",persistent] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",enabledTime] Preprocessing
|
Trigger prototypes for Deployments discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Deployment [{#DEPLOYMENT}]: Deployment status has changed | Deployment status has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
LLD rule JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| JDBC metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
Item prototypes for JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"] Preprocessing
|
Trigger prototypes for JDBC metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"])=0 |
Info |
LLD rule Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Pools metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
Item prototypes for Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX agent | jmx["{#JMXOBJ}",ActiveCount] |
| {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX agent | jmx["{#JMXOBJ}",AvailableCount] |
| {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX agent | jmx["{#JMXOBJ}",AverageBlockingTime] |
| {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageCreationTime] |
| {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageGetTime] |
| {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX agent | jmx["{#JMXOBJ}",AveragePoolTime] |
| {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX agent | jmx["{#JMXOBJ}",AverageUsageTime] |
| {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX agent | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX agent | jmx["{#JMXOBJ}",CreatedCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX agent | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX agent | jmx["{#JMXOBJ}",IdleCount] |
| {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX agent | jmx["{#JMXOBJ}",InUseCount] |
| {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX agent | jmx["{#JMXOBJ}",MaxUsedCount] |
| {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX agent | jmx["{#JMXOBJ}",TimedOut] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX agent | jmx["{#JMXOBJ}",WaitCount] |
| {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX agent | jmx["{#JMXOBJ}",XACommitAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XACommitCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX agent | jmx["{#JMXOBJ}",XAEndAverageTime] |
| {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAEndCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX agent | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX agent | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX agent | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX agent | jmx["{#JMXOBJ}",XAStartAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAStartCount] Preprocessing
|
Trigger prototypes for Pools metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: {#JMX_DATA_SOURCE}: There are no active connections for 5m | max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
Warning | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Connection usage is too high | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
High | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
Info | |
| WildFly Server: {#JMX_DATA_SOURCE}: There are timeout connections | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
Warning | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Too many waiting connections | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
Warning |
LLD rule Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Undertow metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Item prototypes for Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",errorCount] Preprocessing
|
| Listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX agent | jmx["{#JMXOBJ}",requestCount] Preprocessing
|
| Listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesSent] Preprocessing
|
| Listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesReceived] Preprocessing
|
Trigger prototypes for Undertow metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Listener {#HTTP_LISTENER}: There are 500 responses by this listener. | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
Warning |
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
WildFly Server by JMX
Overview
Official JMX Template for WildFly server.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain. |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX agent | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing
|
| Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX agent | jmx["jboss.as:management-root=server","serverState"] Preprocessing
|
| Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
| Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing
|
| Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing
|
| Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing
|
| Transactions: Committed, rate | The number of committed transactions. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing
|
| Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing
|
| Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing
|
| Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing
|
| Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing
|
| Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Server needs to restart for configuration change. | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
Warning | ||
| WildFly Server: Server controller is not in RUNNING state | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
Warning | Depends on:
|
|
| WildFly Server: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly Server: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
| WildFly Server: Failed to fetch info data | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
Warning |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=*"] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",persistent] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",enabledTime] Preprocessing
|
Trigger prototypes for Deployments discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Deployment [{#DEPLOYMENT}]: Deployment status has changed | Deployment status has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
LLD rule JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| JDBC metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
Item prototypes for JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"] Preprocessing
|
Trigger prototypes for JDBC metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"])=0 |
Info |
LLD rule Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Pools metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
Item prototypes for Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX agent | jmx["{#JMXOBJ}",ActiveCount] |
| {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX agent | jmx["{#JMXOBJ}",AvailableCount] |
| {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX agent | jmx["{#JMXOBJ}",AverageBlockingTime] |
| {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageCreationTime] |
| {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageGetTime] |
| {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX agent | jmx["{#JMXOBJ}",AveragePoolTime] |
| {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX agent | jmx["{#JMXOBJ}",AverageUsageTime] |
| {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX agent | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX agent | jmx["{#JMXOBJ}",CreatedCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX agent | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX agent | jmx["{#JMXOBJ}",IdleCount] |
| {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX agent | jmx["{#JMXOBJ}",InUseCount] |
| {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX agent | jmx["{#JMXOBJ}",MaxUsedCount] |
| {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX agent | jmx["{#JMXOBJ}",TimedOut] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX agent | jmx["{#JMXOBJ}",WaitCount] |
| {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX agent | jmx["{#JMXOBJ}",XACommitAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XACommitCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX agent | jmx["{#JMXOBJ}",XAEndAverageTime] |
| {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAEndCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX agent | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX agent | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX agent | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX agent | jmx["{#JMXOBJ}",XAStartAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAStartCount] Preprocessing
|
Trigger prototypes for Pools metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: {#JMX_DATA_SOURCE}: There are no active connections for 5m | max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
Warning | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Connection usage is too high | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
High | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
Info | |
| WildFly Server: {#JMX_DATA_SOURCE}: There are timeout connections | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
Warning | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Too many waiting connections | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
Warning |
LLD rule Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Undertow metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Item prototypes for Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",errorCount] Preprocessing
|
| Listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX agent | jmx["{#JMXOBJ}",requestCount] Preprocessing
|
| Listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesSent] Preprocessing
|
| Listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesReceived] Preprocessing
|
Trigger prototypes for Undertow metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Listener {#HTTP_LISTENER}: There are 500 responses by this listener. | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
Warning |
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
WildFly Server by JMX
Overview
Official JMX Template for WildFly server.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain. |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX agent | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing
|
| Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX agent | jmx["jboss.as:management-root=server","serverState"] Preprocessing
|
| Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
| Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing
|
| Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing
|
| Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing
|
| Transactions: Committed, rate | The number of committed transactions. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing
|
| Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing
|
| Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing
|
| Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing
|
| Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing
|
| Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Server needs to restart for configuration change. | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
Warning | ||
| WildFly Server: Server controller is not in RUNNING state | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
Warning | Depends on:
|
|
| WildFly Server: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly Server: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
| WildFly Server: Failed to fetch info data | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
Warning |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=*"] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",persistent] Preprocessing
|
| Deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",enabledTime] Preprocessing
|
Trigger prototypes for Deployments discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Deployment [{#DEPLOYMENT}]: Deployment status has changed | Deployment status has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
LLD rule JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| JDBC metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
Item prototypes for JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"] Preprocessing
|
Trigger prototypes for JDBC metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"])=0 |
Info |
LLD rule Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Pools metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
Item prototypes for Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX agent | jmx["{#JMXOBJ}",ActiveCount] |
| {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX agent | jmx["{#JMXOBJ}",AvailableCount] |
| {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX agent | jmx["{#JMXOBJ}",AverageBlockingTime] |
| {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageCreationTime] |
| {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageGetTime] |
| {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX agent | jmx["{#JMXOBJ}",AveragePoolTime] |
| {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX agent | jmx["{#JMXOBJ}",AverageUsageTime] |
| {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX agent | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX agent | jmx["{#JMXOBJ}",CreatedCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX agent | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX agent | jmx["{#JMXOBJ}",IdleCount] |
| {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX agent | jmx["{#JMXOBJ}",InUseCount] |
| {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX agent | jmx["{#JMXOBJ}",MaxUsedCount] |
| {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX agent | jmx["{#JMXOBJ}",TimedOut] Preprocessing
|
| {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX agent | jmx["{#JMXOBJ}",WaitCount] |
| {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX agent | jmx["{#JMXOBJ}",XACommitAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XACommitCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX agent | jmx["{#JMXOBJ}",XAEndAverageTime] |
| {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAEndCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX agent | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX agent | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX agent | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing
|
| {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX agent | jmx["{#JMXOBJ}",XAStartAverageTime] |
| {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAStartCount] Preprocessing
|
Trigger prototypes for Pools metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: {#JMX_DATA_SOURCE}: There are no active connections for 5m | max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
Warning | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Connection usage is too high | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
High | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
Info | |
| WildFly Server: {#JMX_DATA_SOURCE}: There are timeout connections | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
Warning | ||
| WildFly Server: {#JMX_DATA_SOURCE}: Too many waiting connections | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
Warning |
LLD rule Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Undertow metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Item prototypes for Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",errorCount] Preprocessing
|
| Listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX agent | jmx["{#JMXOBJ}",requestCount] Preprocessing
|
| Listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesSent] Preprocessing
|
| Listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesReceived] Preprocessing
|
Trigger prototypes for Undertow metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly Server: Listener {#HTTP_LISTENER}: There are 500 responses by this listener. | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
Warning |
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
WildFly Server by JMX
Overview
Official JMX Template for WildFly server.
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain. |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| WildFly: Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| WildFly: Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX agent | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing
|
| WildFly: Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX agent | jmx["jboss.as:management-root=server","serverState"] Preprocessing
|
| WildFly: Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| WildFly: Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
| WildFly: Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing
|
| WildFly: Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing
|
| WildFly: Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing
|
| WildFly: Transactions: Committed, rate | The number of committed transactions. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing
|
| WildFly: Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing
|
| WildFly: Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| WildFly: Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing
|
| WildFly: Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing
|
| WildFly: Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing
|
| WildFly: Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Server needs to restart for configuration change. | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
Warning | ||
| WildFly: Server controller is not in RUNNING state | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
Warning | Depends on:
|
|
| WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
| WildFly: Failed to fetch info data | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
Warning |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=*"] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",persistent] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",enabledTime] Preprocessing
|
Trigger prototypes for Deployments discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Deployment status has changed | Deployment status has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
LLD rule JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| JDBC metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
Item prototypes for JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| WildFly {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"] Preprocessing
|
Trigger prototypes for JDBC metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"])=0 |
Info |
LLD rule Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Pools metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
Item prototypes for Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX agent | jmx["{#JMXOBJ}",ActiveCount] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX agent | jmx["{#JMXOBJ}",AvailableCount] |
| WildFly {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX agent | jmx["{#JMXOBJ}",AverageBlockingTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageCreationTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageGetTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX agent | jmx["{#JMXOBJ}",AveragePoolTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX agent | jmx["{#JMXOBJ}",AverageUsageTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX agent | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX agent | jmx["{#JMXOBJ}",CreatedCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX agent | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX agent | jmx["{#JMXOBJ}",IdleCount] |
| WildFly {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX agent | jmx["{#JMXOBJ}",InUseCount] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX agent | jmx["{#JMXOBJ}",MaxUsedCount] |
| WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX agent | jmx["{#JMXOBJ}",TimedOut] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX agent | jmx["{#JMXOBJ}",WaitCount] |
| WildFly {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX agent | jmx["{#JMXOBJ}",XACommitAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XACommitCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX agent | jmx["{#JMXOBJ}",XAEndAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAEndCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX agent | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX agent | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX agent | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX agent | jmx["{#JMXOBJ}",XAStartAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAStartCount] Preprocessing
|
Trigger prototypes for Pools metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: There are no active connections for 5m | max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
Warning | ||
| WildFly {#JMX_DATA_SOURCE}: Connection usage is too high | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
High | ||
| WildFly {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
Info | |
| WildFly {#JMX_DATA_SOURCE}: There are timeout connections | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
Warning | ||
| WildFly {#JMX_DATA_SOURCE}: Too many waiting connections | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
Warning |
LLD rule Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Undertow metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Item prototypes for Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",errorCount] Preprocessing
|
| WildFly listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX agent | jmx["{#JMXOBJ}",requestCount] Preprocessing
|
| WildFly listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesSent] Preprocessing
|
| WildFly listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesReceived] Preprocessing
|
Trigger prototypes for Undertow metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly listener {#HTTP_LISTENER}: There are 500 responses by this listener. | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
Warning |
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
WildFly Server by JMX
Overview
For Zabbix version: 6.2 and higher
Official JMX Template for WildFly server.
This template was tested on:
- WildFly, version 22.6.0
Setup
See Zabbix template operation for basic instructions.
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.JMX.PROTOCOL} | - |
remote+http |
| {$WILDFLY.PASSWORD} | - |
zabbix |
| {$WILDFLY.USER} | - |
zabbix |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX | jmx.get[beans,"jboss.as.expr:deployment=*"] Filter: AND- {#DEPLOYMENT} MATCHES_REGEX - {#DEPLOYMENT} NOT_MATCHES_REGEX |
| JDBC metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
| Pools metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
| Undertow metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| WildFly | WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX | jmx["jboss.as:management-root=server","launchType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX | jmx["jboss.as:management-root=server","name"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Process type | The type of process represented by this root resource. |
JMX | jmx["jboss.as:management-root=server","processType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX | jmx["jboss.as:management-root=server","serverState"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Version | The version of the WildFly Core based product release |
JMX | jmx["jboss.as:management-root=server","productVersion"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Uptime | WildFly server uptime. |
JMX | jmx["java.lang:type=Runtime","Uptime"] Preprocessing: - MULTIPLIER: |
| WildFly | WildFly: Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Committed, rate | The number of committed transactions |
JMX | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| WildFly | WildFly: Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX | jmx["{#JMXOBJ}",status] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts.) |
JMX | jmx["{#JMXOBJ}",enabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",managed] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",persistent] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",enabledTime] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX | jmx["{#JMXOBJ}",ActiveCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX | jmx["{#JMXOBJ}",AvailableCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX | jmx["{#JMXOBJ}",AverageBlockingTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX | jmx["{#JMXOBJ}",AverageCreationTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX | jmx["{#JMXOBJ}",AverageGetTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX | jmx["{#JMXOBJ}",AveragePoolTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX | jmx["{#JMXOBJ}",AverageUsageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX | jmx["{#JMXOBJ}",CreatedCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX | jmx["{#JMXOBJ}",IdleCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX | jmx["{#JMXOBJ}",InUseCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX | jmx["{#JMXOBJ}",MaxUsedCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX | jmx["{#JMXOBJ}",TimedOut] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX | jmx["{#JMXOBJ}",WaitCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX | jmx["{#JMXOBJ}",XACommitAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX | jmx["{#JMXOBJ}",XACommitCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX | jmx["{#JMXOBJ}",XAEndAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX | jmx["{#JMXOBJ}",XAEndCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX | jmx["{#JMXOBJ}",XAStartAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX | jmx["{#JMXOBJ}",XAStartCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX | jmx["{#JMXOBJ}",errorCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX | jmx["{#JMXOBJ}",requestCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX | jmx["{#JMXOBJ}",bytesSent] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX | jmx["{#JMXOBJ}",bytesReceived] Preprocessing: - CHANGE_PER_SECOND |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Server needs to restart for configuration change. | - |
find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
WARNING | |
| WildFly: Server controller is not in RUNNING state | - |
find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
WARNING | Depends on: - WildFly: Server needs to restart for configuration change. |
| WildFly: Version has changed | WildFly version has changed. Ack to close. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
INFO | Manual close: YES |
| WildFly: has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
INFO | Manual close: YES |
| WildFly: Failed to fetch info data | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
WARNING | |
| WildFly deployment [{#DEPLOYMENT}]: Deployment status has changed | Deployment status has changed. Ack to close. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
WARNING | Manual close: YES |
| WildFly {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | - |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
INFO | |
| WildFly {#JMX_DATA_SOURCE}: There are no active connections for 5m | - |
max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
WARNING | |
| WildFly {#JMX_DATA_SOURCE}: Connection usage is too high | - |
min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
HIGH | |
| WildFly {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
INFO | |
| WildFly {#JMX_DATA_SOURCE}: There are timeout connections | - |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
WARNING | |
| WildFly {#JMX_DATA_SOURCE}: Too many waiting connections | - |
min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
WARNING | |
| WildFly listener {#HTTP_LISTENER}: There are 500 responses by this listener. | - |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
WARNING |
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 with it at ZABBIX forums.
WildFly Server by JMX
Overview
Official JMX Template for WildFly server.
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
- WildFly 22.6.0
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.USER} | zabbix |
|
| {$WILDFLY.PASSWORD} | zabbix |
|
| {$WILDFLY.JMX.PROTOCOL} | remote+http |
|
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX agent | jmx["jboss.as:management-root=server","launchType"] Preprocessing
|
| WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain. |
JMX agent | jmx["jboss.as:management-root=server","name"] Preprocessing
|
| WildFly: Process type | The type of process represented by this root resource. |
JMX agent | jmx["jboss.as:management-root=server","processType"] Preprocessing
|
| WildFly: Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX agent | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing
|
| WildFly: Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX agent | jmx["jboss.as:management-root=server","serverState"] Preprocessing
|
| WildFly: Version | The version of the WildFly Core based product release. |
JMX agent | jmx["jboss.as:management-root=server","productVersion"] Preprocessing
|
| WildFly: Uptime | WildFly server uptime. |
JMX agent | jmx["java.lang:type=Runtime","Uptime"] Preprocessing
|
| WildFly: Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing
|
| WildFly: Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing
|
| WildFly: Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing
|
| WildFly: Transactions: Committed, rate | The number of committed transactions. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing
|
| WildFly: Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing
|
| WildFly: Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| WildFly: Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing
|
| WildFly: Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing
|
| WildFly: Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing
|
| WildFly: Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX agent | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Server needs to restart for configuration change. | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
Warning | ||
| WildFly: Server controller is not in RUNNING state | find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
Warning | Depends on:
|
|
| WildFly: Version has changed | WildFly version has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
Info | Manual close: Yes |
| WildFly: Host has been restarted | Uptime is less than 10 minutes. |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
Info | Manual close: Yes |
| WildFly: Failed to fetch info data | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
Warning |
LLD rule Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX agent | jmx.get[beans,"jboss.as.expr:deployment=*"] |
Item prototypes for Deployments discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX agent | jmx["{#JMXOBJ}",status] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts). |
JMX agent | jmx["{#JMXOBJ}",enabled] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",managed] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",persistent] Preprocessing
|
| WildFly deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX agent | jmx["{#JMXOBJ}",enabledTime] Preprocessing
|
Trigger prototypes for Deployments discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly deployment [{#DEPLOYMENT}]: Deployment status has changed | Deployment status has changed. Acknowledge to close the problem manually. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
Warning | Manual close: Yes |
LLD rule JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| JDBC metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
Item prototypes for JDBC metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| WildFly {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX agent | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"] Preprocessing
|
Trigger prototypes for JDBC metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled, "JDBC"])=0 |
Info |
LLD rule Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Pools metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
Item prototypes for Pools metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX agent | jmx["{#JMXOBJ}",ActiveCount] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX agent | jmx["{#JMXOBJ}",AvailableCount] |
| WildFly {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX agent | jmx["{#JMXOBJ}",AverageBlockingTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageCreationTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX agent | jmx["{#JMXOBJ}",AverageGetTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX agent | jmx["{#JMXOBJ}",AveragePoolTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX agent | jmx["{#JMXOBJ}",AverageUsageTime] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX agent | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX agent | jmx["{#JMXOBJ}",CreatedCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX agent | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX agent | jmx["{#JMXOBJ}",IdleCount] |
| WildFly {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX agent | jmx["{#JMXOBJ}",InUseCount] |
| WildFly {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX agent | jmx["{#JMXOBJ}",MaxUsedCount] |
| WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX agent | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX agent | jmx["{#JMXOBJ}",TimedOut] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX agent | jmx["{#JMXOBJ}",WaitCount] |
| WildFly {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX agent | jmx["{#JMXOBJ}",XACommitAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XACommitCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX agent | jmx["{#JMXOBJ}",XAEndAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAEndCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX agent | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX agent | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX agent | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing
|
| WildFly {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX agent | jmx["{#JMXOBJ}",XAStartAverageTime] |
| WildFly {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX agent | jmx["{#JMXOBJ}",XAStartCount] Preprocessing
|
Trigger prototypes for Pools metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly {#JMX_DATA_SOURCE}: There are no active connections for 5m | max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
Warning | ||
| WildFly {#JMX_DATA_SOURCE}: Connection usage is too high | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
High | ||
| WildFly {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
Info | |
| WildFly {#JMX_DATA_SOURCE}: There are timeout connections | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
Warning | ||
| WildFly {#JMX_DATA_SOURCE}: Too many waiting connections | min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
Warning |
LLD rule Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Undertow metrics discovery | JMX agent | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Item prototypes for Undertow metrics discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| WildFly listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",errorCount] Preprocessing
|
| WildFly listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX agent | jmx["{#JMXOBJ}",requestCount] Preprocessing
|
| WildFly listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesSent] Preprocessing
|
| WildFly listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX agent | jmx["{#JMXOBJ}",bytesReceived] Preprocessing
|
Trigger prototypes for Undertow metrics discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly listener {#HTTP_LISTENER}: There are 500 responses by this listener. | last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
Warning |
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
WildFly Server by JMX
Overview
For Zabbix version: 5.4 and higher
Official JMX Template for WildFly server.
This template was tested on:
- WildFly, version 22.6.0
Setup
See Zabbix template operation for basic instructions.
Metrics are collected by JMX. This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.JMX.PROTOCOL} | - |
remote+http |
| {$WILDFLY.PASSWORD} | - |
zabbix |
| {$WILDFLY.USER} | - |
zabbix |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX | jmx.get[beans,"jboss.as.expr:deployment=*"] Filter: AND- {#DEPLOYMENT} MATCHES_REGEX - {#DEPLOYMENT} NOT_MATCHES_REGEX |
| JDBC metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
| Pools metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
| Undertow metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| WildFly | WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX | jmx["jboss.as:management-root=server","launchType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX | jmx["jboss.as:management-root=server","name"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Process type | The type of process represented by this root resource. |
JMX | jmx["jboss.as:management-root=server","processType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX | jmx["jboss.as:management-root=server","serverState"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Version | The version of the WildFly Core based product release |
JMX | jmx["jboss.as:management-root=server","productVersion"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Uptime | WildFly server uptime. |
JMX | jmx["java.lang:type=Runtime","Uptime"] Preprocessing: - MULTIPLIER: |
| WildFly | WildFly: Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Committed, rate | The number of committed transactions |
JMX | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| WildFly | WildFly: Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX | jmx["{#JMXOBJ}",status] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts.) |
JMX | jmx["{#JMXOBJ}",enabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",managed] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",persistent] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",enabledTime] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX | jmx["{#JMXOBJ}",ActiveCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX | jmx["{#JMXOBJ}",AvailableCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX | jmx["{#JMXOBJ}",AverageBlockingTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX | jmx["{#JMXOBJ}",AverageCreationTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX | jmx["{#JMXOBJ}",AverageGetTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX | jmx["{#JMXOBJ}",AveragePoolTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX | jmx["{#JMXOBJ}",AverageUsageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX | jmx["{#JMXOBJ}",CreatedCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX | jmx["{#JMXOBJ}",IdleCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX | jmx["{#JMXOBJ}",InUseCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX | jmx["{#JMXOBJ}",MaxUsedCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX | jmx["{#JMXOBJ}",TimedOut] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX | jmx["{#JMXOBJ}",WaitCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX | jmx["{#JMXOBJ}",XACommitAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX | jmx["{#JMXOBJ}",XACommitCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX | jmx["{#JMXOBJ}",XAEndAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX | jmx["{#JMXOBJ}",XAEndCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocationsper second. |
JMX | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX | jmx["{#JMXOBJ}",XAStartAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX | jmx["{#JMXOBJ}",XAStartCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX | jmx["{#JMXOBJ}",errorCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX | jmx["{#JMXOBJ}",requestCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX | jmx["{#JMXOBJ}",bytesSent] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX | jmx["{#JMXOBJ}",bytesReceived] Preprocessing: - CHANGE_PER_SECOND |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Server needs to restart for configuration change. | - |
find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","runtimeConfigurationState"],,"like","ok")=0 |
WARNING | |
| WildFly: Server controller is not in RUNNING state | - |
find(/WildFly Server by JMX/jmx["jboss.as:management-root=server","serverState"],,"like","running")=0 |
WARNING | Depends on: - WildFly: Server needs to restart for configuration change. |
| WildFly: Version has changed (new version: {ITEM.VALUE}) | WildFly version has changed. Ack to close. |
last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#1)<>last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"],#2) and length(last(/WildFly Server by JMX/jmx["jboss.as:management-root=server","productVersion"]))>0 |
INFO | Manual close: YES |
| WildFly: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"])<10m |
INFO | Manual close: YES |
| WildFly: Failed to fetch info data (or no data for 15m) | Zabbix has not received data for items for the last 15 minutes |
nodata(/WildFly Server by JMX/jmx["java.lang:type=Runtime","Uptime"],15m)=1 |
WARNING | |
| WildFly deployment [{#DEPLOYMENT}]: Deployment status has changed (new status: {ITEM.VALUE}) | Deployment status has changed. Ack to close. |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#1)<>last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status],#2) and length(last(/WildFly Server by JMX/jmx["{#JMXOBJ}",status]))>0 |
WARNING | Manual close: YES |
| WildFly {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | - |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
INFO | |
| WildFly {#JMX_DATA_SOURCE}: There are no active connections for 5m | - |
max(/WildFly Server by JMX/jmx["{#JMXOBJ}",ActiveCount],5m)=0 |
WARNING | |
| WildFly {#JMX_DATA_SOURCE}: Connection usage is too high (over {$WILDFLY.CONN.USAGE.WARN.MAX} in 5m) | - |
min(/WildFly Server by JMX/jmx["{#JMXOBJ}",InUseCount],5m)/last(/WildFly Server by JMX/jmx["{#JMXOBJ}",AvailableCount])*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
HIGH | |
| WildFly {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",statisticsEnabled])=0 |
INFO | |
| WildFly {#JMX_DATA_SOURCE}: There are timeout connections | - |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",TimedOut])>0 |
WARNING | |
| WildFly {#JMX_DATA_SOURCE}: Too many waiting connections (over {$WILDFLY.CONN.WAIT.MAX.WARN} for 5m) | - |
min(/WildFly Server by JMX/jmx["{#JMXOBJ}",WaitCount],5m)>{$WILDFLY.CONN.WAIT.MAX.WARN} |
WARNING | |
| WildFly listener {#HTTP_LISTENER}: There are 500 responses by this listener. | - |
last(/WildFly Server by JMX/jmx["{#JMXOBJ}",errorCount])>0 |
WARNING |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Template APP WildFly Server by JMX
Overview
For Zabbix version: 5.0 and higher
Official JMX Template for WildFly server.
This template was tested on:
- WildFly, version 22.6.0
Setup
See Zabbix template operation for basic instructions.
Metrics are collected by JMX.
This template works with standalone and domain instances.
- Enable and configure JMX access to WildFly. See documentation for instructions.
- Copy jboss-client.jar from
/(wildfly,EAP,Jboss,AS)/bin/clientin to directory/usr/share/zabbix-java-gateway/lib - Restart Zabbix Java gateway
- Set the user name and password in host macros {$WILDFLY.USER} and {$WILDFLY.PASSWORD}. Depending on your server setup, you may need to specify a custom JMX scheme in macro {$WILDFLY.JMX.PROTOCOL} (default: remote+http)
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$WILDFLY.CONN.USAGE.WARN.MAX} | The maximum connection usage percent for trigger expression. |
80 |
| {$WILDFLY.CONN.WAIT.MAX.WARN} | The maximum number of waiting connections for trigger expression. |
300 |
| {$WILDFLY.DEPLOYMENT.MATCHES} | Filter of discoverable deployments |
.* |
| {$WILDFLY.DEPLOYMENT.NOT_MATCHES} | Filter to exclude discovered deployments |
CHANGE_IF_NEEDED |
| {$WILDFLY.JMX.PROTOCOL} | - |
remote+http |
| {$WILDFLY.PASSWORD} | - |
zabbix |
| {$WILDFLY.USER} | - |
zabbix |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Deployments discovery | Discovery deployments metrics. |
JMX | jmx.get[beans,"jboss.as.expr:deployment=*"] Filter: AND- A: {#DEPLOYMENT} MATCHES_REGEX - B: {#DEPLOYMENT} NOT_MATCHES_REGEX |
| JDBC metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=jdbc"] |
| Pools metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=datasources,data-source=*,statistics=pool"] |
| Undertow metrics discovery | - |
JMX | jmx.get[beans,"jboss.as:subsystem=undertow,server=,http-listener="] |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| WildFly | WildFly: Launch type | The manner in which the server process was launched. Either "DOMAIN" for a domain mode server launched by a Host Controller, "STANDALONE" for a standalone server launched from the command line, or "EMBEDDED" for a standalone server launched as an embedded part of an application running in the same virtual machine. |
JMX | jmx["jboss.as:management-root=server","launchType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Name | For standalone mode: The name of this server. If not set, defaults to the runtime value of InetAddress.getLocalHost().getHostName(). For domain mode: The name given to this domain |
JMX | jmx["jboss.as:management-root=server","name"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Process type | The type of process represented by this root resource. |
JMX | jmx["jboss.as:management-root=server","processType"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Runtime configuration state | The current persistent configuration state, one of starting, ok, reload-required, restart-required, stopping or stopped. |
JMX | jmx["jboss.as:management-root=server","runtimeConfigurationState"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Server controller state | The current state of the server controller; either STARTING, RUNNING, RESTART_REQUIRED, RELOAD_REQUIRED or STOPPING. |
JMX | jmx["jboss.as:management-root=server","serverState"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Version | The version of the WildFly Core based product release |
JMX | jmx["jboss.as:management-root=server","productVersion"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly: Uptime | WildFly server uptime. |
JMX | jmx["java.lang:type=Runtime","Uptime"] Preprocessing: - MULTIPLIER: |
| WildFly | WildFly: Transactions: Total, rate | The total number of transactions (top-level and nested) created per second. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Aborted, rate | The number of aborted (i.e. rolledback) transactions per second. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfAbortedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Application rollbacks, rate | The number of transactions that have been rolled back by application request. This includes those that timeout, since the timeout behavior is considered an attribute of the application configuration. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfApplicationRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Committed, rate | The number of committed transactions |
JMX | jmx["jboss.as:subsystem=transactions","numberOfCommittedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Heuristics, rate | The number of transactions which have terminated with heuristic outcomes. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfHeuristics"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Current | The number of transactions that have begun but not yet terminated. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfInflightTransactions"] |
| WildFly | WildFly: Transactions: Nested, rate | The total number of nested (sub) transactions created. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfNestedTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: ResourceRollbacks, rate | The number of transactions that rolled back due to resource (participant) failure. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfResourceRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: System rollbacks, rate | The number of transactions that have been rolled back due to internal system errors. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfSystemRollbacks"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly: Transactions: Timed out, rate | The number of transactions that have rolled back due to timeout. |
JMX | jmx["jboss.as:subsystem=transactions","numberOfTimedOutTransactions"] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Status | The current runtime status of a deployment. Possible status modes are OK, FAILED, and STOPPED. FAILED indicates a dependency is missing or a service could not start. STOPPED indicates that the deployment was not enabled or was manually stopped. |
JMX | jmx["{#JMXOBJ}",status] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled | Boolean indicating whether the deployment content is currently deployed in the runtime (or should be deployed in the runtime the next time the server starts.) |
JMX | jmx["{#JMXOBJ}",enabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Managed | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",managed] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Persistent | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",persistent] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly deployment [{#DEPLOYMENT}]: Enabled time | Indicates if the deployment is managed (aka uses the ContentRepository). |
JMX | jmx["{#JMXOBJ}",enabledTime] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache access, rate | The number of times that the statement cache was accessed per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheAccessCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache add, rate | The number of statements added to the statement cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheAddCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache current size | The number of prepared and callable statements currently cached in the statement cache. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheCurrentSize] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache delete, rate | The number of statements discarded from the cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheDeleteCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache hit, rate | The number of times that statements from the cache were used per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheHitCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Cache miss, rate | The number of times that a statement request could not be satisfied with a statement from the cache per second. |
JMX | jmx["{#JMXOBJ}",PreparedStatementCacheMissCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Active | The number of open connections. |
JMX | jmx["{#JMXOBJ}",ActiveCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Available | The available count. |
JMX | jmx["{#JMXOBJ}",AvailableCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Blocking time, avg | Average Blocking Time for pool. |
JMX | jmx["{#JMXOBJ}",AverageBlockingTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Creating time, avg | The average time spent creating a physical connection. |
JMX | jmx["{#JMXOBJ}",AverageCreationTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Get time, avg | The average time spent obtaining a physical connection. |
JMX | jmx["{#JMXOBJ}",AverageGetTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Pool time, avg | The average time for a physical connection spent in the pool. |
JMX | jmx["{#JMXOBJ}",AveragePoolTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Usage time, avg | The average time spent using a physical connection |
JMX | jmx["{#JMXOBJ}",AverageUsageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Blocking failure, rate | The number of failures trying to obtain a physical connection per second. |
JMX | jmx["{#JMXOBJ}",BlockingFailureCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Created, rate | The created per second |
JMX | jmx["{#JMXOBJ}",CreatedCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Destroyed, rate | The destroyed count. |
JMX | jmx["{#JMXOBJ}",DestroyedCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Idle | The number of physical connections currently idle. |
JMX | jmx["{#JMXOBJ}",IdleCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: In use | The number of physical connections currently in use. |
JMX | jmx["{#JMXOBJ}",InUseCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Used, max | The maximum number of connections used. |
JMX | jmx["{#JMXOBJ}",MaxUsedCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Statistics enabled | Define whether runtime statistics are enabled or not. |
JMX | jmx["{#JMXOBJ}",statisticsEnabled] Preprocessing: - BOOL_TO_DECIMAL - DISCARD_UNCHANGED_HEARTBEAT: |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Timed out, rate | The timed out connections per second. |
JMX | jmx["{#JMXOBJ}",TimedOut] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: Connections: Wait | The number of requests that had to wait to obtain a physical connection. |
JMX | jmx["{#JMXOBJ}",WaitCount] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Commit time, avg | The average time for a XAResource commit invocation. |
JMX | jmx["{#JMXOBJ}",XACommitAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Commit, rate | The number of XAResource commit invocations per second. |
JMX | jmx["{#JMXOBJ}",XACommitCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: End time, avg | The average time for a XAResource end invocation. |
JMX | jmx["{#JMXOBJ}",XAEndAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: End, rate | The number of XAResource end invocations per second. |
JMX | jmx["{#JMXOBJ}",XAEndCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Forget time, avg | The average time for a XAResource forget invocation. |
JMX | jmx["{#JMXOBJ}",XAForgetAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Forget, rate | The number of XAResource forget invocations per second. |
JMX | jmx["{#JMXOBJ}",XAForgetCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Prepare time, avg | The average time for a XAResource prepare invocation. |
JMX | jmx["{#JMXOBJ}",XAPrepareAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Prepare, rate | The number of XAResource prepare invocations per second. |
JMX | jmx["{#JMXOBJ}",XAPrepareCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Recover time, avg | The average time for a XAResource recover invocation. |
JMX | jmx["{#JMXOBJ}",XARecoverAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Recover, rate | The number of XAResource recover invocations per second. |
JMX | jmx["{#JMXOBJ}",XARecoverCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Rollback time, avg | The average time for a XAResource rollback invocation. |
JMX | jmx["{#JMXOBJ}",XARollbackAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Rollback, rate | The number of XAResource rollback invocations per second. |
JMX | jmx["{#JMXOBJ}",XARollbackCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Start time, avg | The average time for a XAResource start invocation. |
JMX | jmx["{#JMXOBJ}",XAStartAverageTime] |
| WildFly | WildFly {#JMX_DATA_SOURCE}: XA: Start rate | The number of XAResource start invocations per second. |
JMX | jmx["{#JMXOBJ}",XAStartCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Errors, rate | The number of 500 responses that have been sent by this listener per second. |
JMX | jmx["{#JMXOBJ}",errorCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Requests, rate | The number of requests this listener has served per second. |
JMX | jmx["{#JMXOBJ}",requestCount] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Bytes sent, rate | The number of bytes that have been sent out on this listener per second. |
JMX | jmx["{#JMXOBJ}",bytesSent] Preprocessing: - CHANGE_PER_SECOND |
| WildFly | WildFly listener {#HTTP_LISTENER}: Bytes received, rate | The number of bytes that have been received by this listener per second. |
JMX | jmx["{#JMXOBJ}",bytesReceived] Preprocessing: - CHANGE_PER_SECOND |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| WildFly: Server needs to restart for configuration change. | - |
{TEMPLATE_NAME:jmx["jboss.as:management-root=server","runtimeConfigurationState"].str(ok)}=0 |
WARNING | |
| WildFly: Server controller is not in RUNNING state | - |
{TEMPLATE_NAME:jmx["jboss.as:management-root=server","serverState"].str(running)}=0 |
WARNING | Depends on: - WildFly: Server needs to restart for configuration change. |
| WildFly: Version has changed (new version: {ITEM.VALUE}) | WildFly version has changed. Ack to close. |
{TEMPLATE_NAME:jmx["jboss.as:management-root=server","productVersion"].diff()}=1 and {TEMPLATE_NAME:jmx["jboss.as:management-root=server","productVersion"].strlen()}>0 |
INFO | Manual close: YES |
| WildFly: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
{TEMPLATE_NAME:jmx["java.lang:type=Runtime","Uptime"].last()}<10m |
INFO | Manual close: YES |
| WildFly: Failed to fetch info data (or no data for 15m) | Zabbix has not received data for items for the last 15 minutes |
{TEMPLATE_NAME:jmx["java.lang:type=Runtime","Uptime"].nodata(15m)}=1 |
WARNING | |
| WildFly deployment [{#DEPLOYMENT}]: Deployment status has changed (new status: {ITEM.VALUE}) | Deployment status has changed. Ack to close. |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",status].diff()}=1 and {TEMPLATE_NAME:jmx["{#JMXOBJ}",status].strlen()}>0 |
WARNING | Manual close: YES |
| WildFly {#JMX_DATA_SOURCE}: JDBC monitoring statistic is not enabled | - |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",statisticsEnabled].last()}=0 |
INFO | |
| WildFly {#JMX_DATA_SOURCE}: There are no active connections for 5m | - |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",ActiveCount].max(5m)}=0 |
WARNING | |
| WildFly {#JMX_DATA_SOURCE}: Connection usage is too high (over {$WILDFLY.CONN.USAGE.WARN.MAX} in 5m) | - |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",InUseCount].min(5m)}/{TEMPLATE_NAME:jmx["{#JMXOBJ}",AvailableCount].last()}*100>{$WILDFLY.CONN.USAGE.WARN.MAX} |
HIGH | |
| WildFly {#JMX_DATA_SOURCE}: Pools monitoring statistic is not enabled | Zabbix has not received data for items for the last 15 minutes |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",statisticsEnabled].last()}=0 |
INFO | |
| WildFly {#JMX_DATA_SOURCE}: There are timeout connections | - |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",TimedOut].last()}>0 |
WARNING | |
| WildFly {#JMX_DATA_SOURCE}: Too many waiting connections (over {$WILDFLY.CONN.WAIT.MAX.WARN} for 5m) | - |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",WaitCount].min(5m)}>{$WILDFLY.CONN.WAIT.MAX.WARN} |
WARNING | |
| WildFly listener {#HTTP_LISTENER}: There are 500 responses by this listener. | - |
{TEMPLATE_NAME:jmx["{#JMXOBJ}",errorCount].last()}>0 |
WARNING |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.