src/collectors/python.d.plugin/tomcat/metadata.yaml
plugin_name: python.d.plugin
modules:
- meta:
plugin_name: python.d.plugin
module_name: tomcat
monitored_instance:
name: Tomcat
link: "https://tomcat.apache.org/"
categories:
- data-collection.web-servers-and-web-proxies
icon_filename: "tomcat.svg"
related_resources:
integrations:
list: []
info_provided_to_referring_integrations:
description: ""
keywords:
- apache
- tomcat
- webserver
- websocket
- jakarta
- javaEE
most_popular: false
overview:
data_collection:
metrics_description: |
This collector monitors Tomcat metrics about bandwidth, processing time, threads and more.
method_description: |
It parses the information provided by the http endpoint of the `/manager/status` in XML format
supported_platforms:
include: []
exclude: []
multi_instance: true
additional_permissions:
description: "You need to provide the username and the password, to access the webserver's status page. Create a seperate user with read only rights for this particular endpoint"
default_behavior:
auto_detection:
description: "If the Netdata Agent and the Tomcat webserver are in the same host, without configuration, module attempts to connect to http://localhost:8080/manager/status?XML=true, without any credentials. So it will probably fail."
limits:
description: "This module is not supporting SSL communication. If you want a Netdata Agent to monitor a Tomcat deployment, you shouldnt try to monitor it via public network (public internet). Credentials are passed by Netdata in an unsecure port"
performance_impact:
description: ""
setup:
prerequisites:
list:
- title: Create a read-only `netdata` user, to monitor the `/status` endpoint.
description: This is necessary for configuring the collector.
configuration:
file:
name: "python.d/tomcat.conf"
options:
description: |
There are 2 sections:
* Global variables
* One or more JOBS that can define multiple different instances to monitor.
The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
folding:
title: "Config options per job"
enabled: true
list:
- name: update_every
description: Sets the default data collection frequency.
default_value: 5
required: false
- name: priority
description: Controls the order of charts at the netdata dashboard.
default_value: 60000
required: false
- name: autodetection_retry
description: Sets the job re-check interval in seconds.
default_value: 0
required: false
- name: penalty
description: Indicates whether to apply penalty to update_every in case of failures.
default_value: yes
required: false
- name: url
description: The URL of the Tomcat server's status endpoint. Always add the suffix ?XML=true.
default_value: no
required: true
- name: user
description: A valid user with read permission to access the /manager/status endpoint of the server. Required if the endpoint is password protected
default_value: no
required: false
- name: pass
description: A valid password for the user in question. Required if the endpoint is password protected
default_value: no
required: false
- name: connector_name
description: The connector component that communicates with a web connector via the AJP protocol, e.g ajp-bio-8009
default_value: ""
required: false
examples:
folding:
enabled: true
title: "Config"
list:
- name: Basic
folding:
enabled: false
description: A basic example configuration
config: |
localhost:
name : 'local'
url : 'http://localhost:8080/manager/status?XML=true'
- name: Using an IPv4 endpoint
description: A typical configuration using an IPv4 endpoint
config: |
local_ipv4:
name : 'local'
url : 'http://127.0.0.1:8080/manager/status?XML=true'
- name: Using an IPv6 endpoint
description: A typical configuration using an IPv6 endpoint
config: |
local_ipv6:
name : 'local'
url : 'http://[::1]:8080/manager/status?XML=true'
troubleshooting:
problems:
list: []
alerts: []
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: global
description: "These metrics refer to the entire monitored application."
labels: []
metrics:
- name: tomcat.accesses
description: Requests
unit: "requests/s"
chart_type: area
dimensions:
- name: accesses
- name: errors
- name: tomcat.bandwidth
description: Bandwidth
unit: "KiB/s"
chart_type: area
dimensions:
- name: sent
- name: received
- name: tomcat.processing_time
description: processing time
unit: "seconds"
chart_type: area
dimensions:
- name: processing time
- name: tomcat.threads
description: Threads
unit: "current threads"
chart_type: area
dimensions:
- name: current
- name: busy
- name: tomcat.jvm
description: JVM Memory Pool Usage
unit: "MiB"
chart_type: stacked
dimensions:
- name: free
- name: eden
- name: survivor
- name: tenured
- name: code cache
- name: compressed
- name: metaspace
- name: tomcat.jvm_eden
description: Eden Memory Usage
unit: "MiB"
chart_type: area
dimensions:
- name: used
- name: committed
- name: max
- name: tomcat.jvm_survivor
description: Survivor Memory Usage
unit: "MiB"
chart_type: area
dimensions:
- name: used
- name: committed
- name: max
- name: tomcat.jvm_tenured
description: Tenured Memory Usage
unit: "MiB"
chart_type: area
dimensions:
- name: used
- name: committed
- name: max