netdata/netdata

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

Summary

Maintainability
Test Coverage
plugin_name: python.d.plugin
modules:
  - meta:
      plugin_name: python.d.plugin
      module_name: varnish
      monitored_instance:
        name: Varnish
        link: https://varnish-cache.org/
        categories:
          - data-collection.web-servers-and-web-proxies
        icon_filename: 'varnish.svg'
      related_resources:
        integrations:
          list: []
      info_provided_to_referring_integrations:
        description: ''
      keywords:
        - varnish
        - varnishstat
        - varnishd
        - cache
        - web server
        - web cache
      most_popular: false
    overview:
      data_collection:
        metrics_description: |
          This collector monitors Varnish metrics about HTTP accelerator global, Backends (VBE) and Storages (SMF, SMA, MSE) statistics.
          
          Note that both, Varnish-Cache (free and open source) and Varnish-Plus (Commercial/Enterprise version), are supported.
        method_description: |
          It uses the `varnishstat` tool in order to collect the metrics.
      supported_platforms:
        include: []
        exclude: []
      multi_instance: false
      additional_permissions:
        description: |
          `netdata` user must be a member of the `varnish` group.
      default_behavior:
        auto_detection:
          description: By default, if the permissions are satisfied, the `varnishstat` tool will be executed on the host.
        limits:
          description: ''
        performance_impact:
          description: ''
    setup:
      prerequisites:
        list:
          - title: Provide the necessary permissions
            description: |
              In order for the collector to work, you need to add the `netdata` user to the `varnish` user group, so that it can execute the `varnishstat` tool:
              
              ```
              usermod -aG varnish netdata
              ```
      configuration:
        file:
          name: python.d/varnish.conf
          description: ''
        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
            enabled: true
          list:
            - name: instance_name
              description: the name of the varnishd instance to get logs from. If not specified, the local host name is used.
              default_value: ""
              required: true
            - name: update_every
              description: Sets the default data collection frequency.
              default_value: 10
              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: name
              description: Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works.
              default_value: ''
              required: false
        examples:
          folding:
            enabled: true
            title: 'Config'
          list:
            - name: Basic
              description: An example configuration.
              folding:
                enabled: false
              config: |
                job_name:
                  instance_name: '<name-of-varnishd-instance>'
    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: varnish.session_connection
              description: Connections Statistics
              unit: "connections/s"
              chart_type: line
              dimensions:
                - name: accepted
                - name: dropped
            - name: varnish.client_requests
              description: Client Requests
              unit: "requests/s"
              chart_type: line
              dimensions:
                - name: received
            - name: varnish.all_time_hit_rate
              description: All History Hit Rate Ratio
              unit: "percentage"
              chart_type: stacked
              dimensions:
                - name: hit
                - name: miss
                - name: hitpass
            - name: varnish.current_poll_hit_rate
              description: Current Poll Hit Rate Ratio
              unit: "percentage"
              chart_type: stacked
              dimensions:
                - name: hit
                - name: miss
                - name: hitpass
            - name: varnish.cached_objects_expired
              description: Expired Objects
              unit: "expired/s"
              chart_type: line
              dimensions:
                - name: objects
            - name: varnish.cached_objects_nuked
              description: Least Recently Used Nuked Objects
              unit: "nuked/s"
              chart_type: line
              dimensions:
                - name: objects
            - name: varnish.threads_total
              description: Number Of Threads In All Pools
              unit: "number"
              chart_type: line
              dimensions:
                - name: None
            - name: varnish.threads_statistics
              description: Threads Statistics
              unit: "threads/s"
              chart_type: line
              dimensions:
                - name: created
                - name: failed
                - name: limited
            - name: varnish.threads_queue_len
              description: Current Queue Length
              unit: "requests"
              chart_type: line
              dimensions:
                - name: in queue
            - name: varnish.backend_connections
              description: Backend Connections Statistics
              unit: "connections/s"
              chart_type: line
              dimensions:
                - name: successful
                - name: unhealthy
                - name: reused
                - name: closed
                - name: recycled
                - name: failed
            - name: varnish.backend_requests
              description: Requests To The Backend
              unit: "requests/s"
              chart_type: line
              dimensions:
                - name: sent
            - name: varnish.esi_statistics
              description: ESI Statistics
              unit: "problems/s"
              chart_type: line
              dimensions:
                - name: errors
                - name: warnings
            - name: varnish.memory_usage
              description: Memory Usage
              unit: "MiB"
              chart_type: stacked
              dimensions:
                - name: free
                - name: allocated
            - name: varnish.uptime
              description: Uptime
              unit: "seconds"
              chart_type: line
              dimensions:
                - name: uptime
        - name: Backend
          description: ""
          labels: []
          metrics:
            - name: varnish.backend
              description: Backend {backend_name}
              unit: "kilobits/s"
              chart_type: area
              dimensions:
                - name: header
                - name: body
        - name: Storage
          description: ""
          labels: []
          metrics:
            - name: varnish.storage_usage
              description: Storage {storage_name} Usage
              unit: "KiB"
              chart_type: stacked
              dimensions:
                - name: free
                - name: allocated
            - name: varnish.storage_alloc_objs
              description: Storage {storage_name} Allocated Objects
              unit: "objects"
              chart_type: line
              dimensions:
                - name: allocated