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