netdata/netdata

View on GitHub
src/go/collectors/go.d.plugin/modules/activemq/config_schema.json

Summary

Maintainability
Test Coverage
{
  "jsonSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "ActiveMQ collector configuration.",
    "type": "object",
    "properties": {
      "update_every": {
        "title": "Update every",
        "description": "Data collection interval, measured in seconds.",
        "type": "integer",
        "minimum": 1,
        "default": 1
      },
      "url": {
        "title": "URL",
        "description": "The base URL of the ActiveMQ [Web Console](https://activemq.apache.org/components/classic/documentation/web-console).",
        "type": "string",
        "default": "http://127.0.0.1:8161",
        "format": "uri"
      },
      "webadmin": {
        "title": "Webadmin path",
        "description": "Webadmin root path.",
        "type": "string",
        "default": "admin"
      },
      "timeout": {
        "title": "Timeout",
        "description": "The timeout in seconds for the HTTP request.",
        "type": "number",
        "minimum": 0.5,
        "default": 1
      },
      "not_follow_redirects": {
        "title": "Not follow redirects",
        "description": "If set, the client will not follow HTTP redirects automatically.",
        "type": "boolean"
      },
      "max_queues": {
        "title": "Queue limit",
        "description": "The maximum number of concurrently collected queues. Set to 0 for no limit.",
        "type": "integer",
        "minimum": 0,
        "default": 50
      },
      "queues_filter": {
        "title": "Queue selector",
        "description": "Collect queues whose names match the specified [pattern](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme).",
        "type": "string",
        "minimum": 1,
        "default": "*"
      },
      "max_topics": {
        "title": "Topic limit",
        "description": "The maximum number of concurrently collected topics. Set to 0 for no limit.",
        "type": "integer",
        "minimum": 0,
        "default": 50
      },
      "topics_filter": {
        "title": "Topic selector",
        "description": "Collect topics whose names match the specified [pattern](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme).",
        "type": "string",
        "minimum": 1,
        "default": "*"
      },
      "username": {
        "title": "Username",
        "description": "The username for basic authentication.",
        "type": "string",
        "sensitive": true
      },
      "password": {
        "title": "Password",
        "description": "The password for basic authentication.",
        "type": "string",
        "sensitive": true
      },
      "proxy_url": {
        "title": "Proxy URL",
        "description": "The URL of the proxy server.",
        "type": "string"
      },
      "proxy_username": {
        "title": "Proxy username",
        "description": "The username for proxy authentication.",
        "type": "string",
        "sensitive": true
      },
      "proxy_password": {
        "title": "Proxy password",
        "description": "The password for proxy authentication.",
        "type": "string",
        "sensitive": true
      },
      "headers": {
        "title": "Headers",
        "description": "Additional HTTP headers to include in the request.",
        "type": [
          "object",
          "null"
        ],
        "additionalProperties": {
          "type": "string"
        }
      },
      "tls_skip_verify": {
        "title": "Skip TLS verification",
        "description": "If set, TLS certificate verification will be skipped.",
        "type": "boolean"
      },
      "tls_ca": {
        "title": "TLS CA",
        "description": "The path to the CA certificate file for TLS verification.",
        "type": "string",
        "pattern": "^$|^/"
      },
      "tls_cert": {
        "title": "TLS certificate",
        "description": "The path to the client certificate file for TLS authentication.",
        "type": "string",
        "pattern": "^$|^/"
      },
      "tls_key": {
        "title": "TLS key",
        "description": "The path to the client key file for TLS authentication.",
        "type": "string",
        "pattern": "^$|^/"
      },
      "body": {
        "title": "Body",
        "type": "string"
      },
      "method": {
        "title": "Method",
        "type": "string"
      }
    },
    "required": [
      "url",
      "webadmin"
    ],
    "additionalProperties": false,
    "patternProperties": {
      "^name$": {}
    }
  },
  "uiSchema": {
    "ui:flavour": "tabs",
    "ui:options": {
      "tabs": [
        {
          "title": "Base",
          "fields": [
            "update_every",
            "url",
            "webadmin",
            "timeout",
            "not_follow_redirects"
          ]
        },
        {
          "title": "Filtering",
          "fields": [
            "max_queues",
            "queues_filter",
            "max_topics",
            "topics_filter"
          ]
        },
        {
          "title": "Auth",
          "fields": [
            "username",
            "password"
          ]
        },
        {
          "title": "TLS",
          "fields": [
            "tls_skip_verify",
            "tls_ca",
            "tls_cert",
            "tls_key"
          ]
        },
        {
          "title": "Proxy",
          "fields": [
            "proxy_url",
            "proxy_username",
            "proxy_password"
          ]
        },
        {
          "title": "Headers",
          "fields": [
            "headers"
          ]
        }
      ]
    },
    "uiOptions": {
      "fullPage": true
    },
    "body": {
      "ui:widget": "hidden"
    },
    "method": {
      "ui:widget": "hidden"
    },
    "timeout": {
      "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
    },
    "queues_filter": {
      "ui:help": "Use `*` to collect all queues. To exclude all queues from collection, use `!*`."
    },
    "topics_filter": {
      "ui:help": "Use `*` to collect all topics. To exclude all topics from collection, use `!*`."
    },
    "password": {
      "ui:widget": "password"
    },
    "proxy_password": {
      "ui:widget": "password"
    }
  }
}