netdata/netdata

View on GitHub
src/collectors/python.d.plugin/tomcat/metadata.yaml

Summary

Maintainability
Test Coverage
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