diff options
author | Fotis Voutsas <fotis@netdata.cloud> | 2023-07-25 20:56:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-25 18:56:03 +0100 |
commit | c2bb105702320499179af3d5dd10b5636b33587d (patch) | |
tree | 64427edf67cf391ece3bd59f4716deba5bc22a79 /collectors | |
parent | f577a63ac044e8d4e038eaba526ad83bb5d16e79 (diff) |
Python collector yaml updates (#15517)
update collector metadata for monit, spigotmc, hddtemp, nsd
Diffstat (limited to 'collectors')
-rw-r--r-- | collectors/python.d.plugin/hddtemp/metadata.yaml | 149 | ||||
-rw-r--r-- | collectors/python.d.plugin/monit/metadata.yaml | 265 | ||||
-rw-r--r-- | collectors/python.d.plugin/nsd/metadata.yaml | 238 | ||||
-rw-r--r-- | collectors/python.d.plugin/spigotmc/metadata.yaml | 178 | ||||
-rw-r--r-- | collectors/python.d.plugin/squid/metadata.yaml | 183 |
5 files changed, 706 insertions, 307 deletions
diff --git a/collectors/python.d.plugin/hddtemp/metadata.yaml b/collectors/python.d.plugin/hddtemp/metadata.yaml index 4bcad703a3..8befeee288 100644 --- a/collectors/python.d.plugin/hddtemp/metadata.yaml +++ b/collectors/python.d.plugin/hddtemp/metadata.yaml @@ -3,52 +3,141 @@ meta: module_name: hddtemp monitored_instance: name: HDD temperature - link: '' + link: https://linux.die.net/man/8/hddtemp categories: - - data-collection.hardware-devices-and-sensors - icon_filename: 'hard-drive.svg' + - data-collection.hardware-devices-and-sensors + icon_filename: "hard-drive.svg" related_resources: integrations: list: [] info_provided_to_referring_integrations: - description: '' - keywords: [] + description: "" + keywords: + - hardware + - hdd temperature + - disk temperature + - temperature most_popular: false overview: data_collection: - metrics_description: 'Monitor HDD temperature metrics for maintaining optimal hard drive health. Keep tabs on drive temperatures, read/write speeds, and error rates to ensure hard drive longevity.' - method_description: '' + metrics_description: | + This collector monitors disk temperatures. + method_description: | + It uses the `hddtemp` daemon to gather the metrics. supported_platforms: - include: [] + include: + - Linux exclude: [] multi_instance: true additional_permissions: - description: '' + description: "" default_behavior: auto_detection: - description: '' + description: By default, this collector will attempt to connect to the `hddtemp` daemon on `127.0.0.1:7634` limits: - description: '' + description: "" performance_impact: - description: '' + description: "" setup: prerequisites: - list: [] + list: + - title: Run `hddtemp` in daemon mode + description: | + You can execute `hddtemp` in TCP/IP daemon mode by using the `-d` argument. + + So running `hddtemp -d` would run the daemon, by default on port 7634. configuration: file: - name: '' - description: '' + name: "python.d/hddtemp.conf" options: - description: '' + 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. + + By default this collector will try to autodetect disks (autodetection works only for disk which names start with "sd"). However this can be overridden by setting the option `disks` to an array of desired disks. folding: - title: '' + title: "Config options" enabled: true - list: [] + list: + - name: update_every + description: Sets the default data collection frequency. + default_value: 1 + 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: "local" + required: false + - name: devices + description: Array of desired disks to detect, in case their name doesn't start with `sd`. + default_value: "" + required: false + - name: host + description: The IP or HOSTNAME to connect to. + default_value: "localhost" + required: true + - name: port + description: The port to connect to. + default_value: 7634 + required: false examples: folding: enabled: true - title: '' - list: [] + title: "" + list: + - name: Basic + description: A basic example configuration. + folding: + enabled: false + config: | + localhost: + name: 'local' + host: '127.0.0.1' + port: 7634 + - name: Custom disk names + description: An example defining the disk names to detect. + config: | + localhost: + name: 'local' + host: '127.0.0.1' + port: 7634 + devices: + - customdisk1 + - customdisk2 + - name: Multi-instance + description: | + > **Note**: When you define multiple jobs, their names must be unique. + + Collecting metrics from local and remote instances. + config: | + localhost: + name: 'local' + host: '127.0.0.1' + port: 7634 + + remote_job: + name : 'remote' + host : 'http://192.0.2.1:2812' troubleshooting: problems: list: [] @@ -60,13 +149,13 @@ metrics: description: "" availability: [] scopes: - - name: global - description: "" - labels: [] - metrics: - - name: hddtemp.temperatures - description: Disk Temperatures - unit: "Celsius" - chart_type: line - dimensions: - - name: a dimension per disk + - name: global + description: "These metrics refer to the entire monitored application." + labels: [] + metrics: + - name: hddtemp.temperatures + description: Disk Temperatures + unit: "Celsius" + chart_type: line + dimensions: + - name: a dimension per disk diff --git a/collectors/python.d.plugin/monit/metadata.yaml b/collectors/python.d.plugin/monit/metadata.yaml index 60a87831e5..44fdb6df3e 100644 --- a/collectors/python.d.plugin/monit/metadata.yaml +++ b/collectors/python.d.plugin/monit/metadata.yaml @@ -3,52 +3,129 @@ meta: module_name: monit monitored_instance: name: Monit - link: '' + link: https://mmonit.com/monit/ categories: - - data-collection.synthetic-checks - icon_filename: 'monit.png' + - data-collection.synthetic-checks + icon_filename: "monit.png" related_resources: integrations: list: [] info_provided_to_referring_integrations: - description: '' - keywords: [] + description: "" + keywords: + - monit + - mmonit + - supervision tool + - monitrc most_popular: false overview: data_collection: - metrics_description: 'Monitor Monit performance for optimal system monitoring operations. Monitor system status, process health, and error rates to maintain system stability.' - method_description: '' + metrics_description: | + This collector monitors Monit targets such as filesystems, directories, files, FIFO pipes and more. + method_description: | + It gathers data from Monit's XML interface. supported_platforms: include: [] exclude: [] multi_instance: true additional_permissions: - description: '' + description: "" default_behavior: auto_detection: - description: '' + description: By default, this collector will attempt to connect to Monit at `http://localhost:2812` limits: - description: '' + description: "" performance_impact: - description: '' + description: "" setup: prerequisites: list: [] configuration: file: - name: '' - description: '' + name: "python.d/monit.conf" options: - description: '' + 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: '' + title: "Config options" enabled: true - list: [] + list: + - name: update_every + description: Sets the default data collection frequency. + default_value: 1 + 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: "local" + required: false + - name: url + description: The URL to fetch Monit's metrics. + default_value: http://localhost:2812 + required: true + - name: user + description: Username in case the URL is password protected. + default_value: "" + required: false + - name: pass + description: Password in case the URL is password protected. + default_value: "" + required: false examples: folding: enabled: true - title: '' - list: [] + title: "Config" + list: + - name: Basic + description: A basic configuration example. + folding: + enabled: false + config: | + localhost: + name : 'local' + url : 'http://localhost:2812' + - name: Basic Authentication + description: Example using basic username and password in order to authenticate. + config: | + localhost: + name : 'local' + url : 'http://localhost:2812' + user: 'foo' + pass: 'bar' + - name: Multi-instance + description: | + > **Note**: When you define multiple jobs, their names must be unique. + + Collecting metrics from local and remote instances. + config: | + localhost: + name: 'local' + url: 'http://localhost:2812' + + remote_job: + name: 'remote' + url: 'http://192.0.2.1:2812' troubleshooting: problems: list: [] @@ -60,79 +137,79 @@ metrics: description: "" availability: [] scopes: - - name: global - description: "" - labels: [] - metrics: - - name: monit.filesystems - description: Filesystems - unit: "filesystems" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.directories - description: Directories - unit: "directories" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.files - description: Files - unit: "files" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.fifos - description: Pipes (fifo) - unit: "pipes" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.programs - description: Programs statuses - unit: "programs" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.services - description: Processes statuses - unit: "processes" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.process_uptime - description: Processes uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.process_threads - description: Processes threads - unit: "threads" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.process_childrens - description: Child processes - unit: "children" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.hosts - description: Hosts - unit: "hosts" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.host_latency - description: Hosts latency - unit: "milliseconds" - chart_type: line - dimensions: - - name: a dimension per target - - name: monit.networks - description: Network interfaces and addresses - unit: "interfaces" - chart_type: line - dimensions: - - name: a dimension per target + - name: global + description: "These metrics refer to the entire monitored application." + labels: [] + metrics: + - name: monit.filesystems + description: Filesystems + unit: "filesystems" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.directories + description: Directories + unit: "directories" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.files + description: Files + unit: "files" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.fifos + description: Pipes (fifo) + unit: "pipes" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.programs + description: Programs statuses + unit: "programs" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.services + description: Processes statuses + unit: "processes" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.process_uptime + description: Processes uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.process_threads + description: Processes threads + unit: "threads" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.process_childrens + description: Child processes + unit: "children" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.hosts + description: Hosts + unit: "hosts" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.host_latency + description: Hosts latency + unit: "milliseconds" + chart_type: line + dimensions: + - name: a dimension per target + - name: monit.networks + description: Network interfaces and addresses + unit: "interfaces" + chart_type: line + dimensions: + - name: a dimension per target diff --git a/collectors/python.d.plugin/nsd/metadata.yaml b/collectors/python.d.plugin/nsd/metadata.yaml index c465d35bcc..6aa309554e 100644 --- a/collectors/python.d.plugin/nsd/metadata.yaml +++ b/collectors/python.d.plugin/nsd/metadata.yaml @@ -2,53 +2,125 @@ meta: plugin_name: python.d.plugin module_name: nsd monitored_instance: - name: NSD - link: '' + name: Name Server Daemon + link: https://nsd.docs.nlnetlabs.nl/en/latest/# categories: - - data-collection.dns-and-dhcp-servers - icon_filename: 'nsd.svg' + - data-collection.dns-and-dhcp-servers + icon_filename: "nsd.svg" related_resources: integrations: list: [] info_provided_to_referring_integrations: - description: '' - keywords: [] + description: "" + keywords: + - nsd + - name server daemon most_popular: false overview: data_collection: - metrics_description: 'Monitor NSD performance for optimal authoritative DNS server operations. Monitor query rates, response times, and error rates to ensure reliable DNS service delivery.' - method_description: '' + metrics_description: | + This collector monitors NSD statistics like queries, zones, protocols, query types and more. + method_description: | + It uses the `nsd-control stats_noreset` command to gather metrics. supported_platforms: include: [] exclude: [] - multi_instance: true + multi_instance: false additional_permissions: - description: '' + description: "" default_behavior: auto_detection: - description: '' + description: If permissions are satisfied, the collector will be able to run `nsd-control stats_noreset`, thus collecting metrics. limits: - description: '' + description: "" performance_impact: - description: '' + description: "" setup: prerequisites: - list: [] + list: + - title: Provide Netdata the permissions to run the command + description: | + Netdata must have permissions to run the `nsd-control stats_noreset` command. + + You can: + + - Add "netdata" user to "nsd" group: + ``` + usermod -aG nsd netdata + ``` + - Add Netdata to sudoers + 1. Edit the sudoers file: + ``` + visudo -f /etc/sudoers.d/netdata + ``` + 2. Add the entry: + ``` + Defaults:netdata !requiretty + netdata ALL=(ALL) NOPASSWD: /usr/sbin/nsd-control stats_noreset + ``` + + > Note that you will need to set the `command` option to `sudo /usr/sbin/nsd-control stats_noreset` if you use this method. + configuration: file: - name: '' - description: '' + name: "python.d/nsd.conf" options: - description: '' + description: | + This particular collector does not need further configuration to work if permissions are satisfied, but you can always customize it's data collection behavior. + + 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: '' + title: "Config options" enabled: true - list: [] + list: + - name: update_every + description: Sets the default data collection frequency. + default_value: 30 + 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 + - name: command + description: The command to run + default_value: "nsd-control stats_noreset" + required: false examples: folding: enabled: true - title: '' - list: [] + title: "Config" + list: + - name: Basic + description: A basic configuration example. + folding: + enabled: false + config: | + local: + name: 'nsd_local' + command: 'nsd-control stats_noreset' troubleshooting: problems: list: [] @@ -60,65 +132,65 @@ metrics: description: "" availability: [] scopes: - - name: global - description: "" - labels: [] - metrics: - - name: nsd.queries - description: queries - unit: "queries/s" - chart_type: line - dimensions: - - name: queries - - name: nsd.zones - description: zones - unit: "zones" - chart_type: stacked - dimensions: - - name: master - - name: slave - - name: nsd.protocols - description: protocol - unit: "queries/s" - chart_type: stacked - dimensions: - - name: udp - - name: udp6 - - name: tcp - - name: tcp6 - - name: nsd.type - description: query type - unit: "queries/s" - chart_type: stacked - dimensions: - - name: A - - name: NS - - name: CNAME - - name: SOA - - name: PTR - - name: HINFO - - name: MX - - name: NAPTR - - name: TXT - - name: AAAA - - name: SRV - - name: ANY - - name: nsd.transfer - description: transfer - unit: "queries/s" - chart_type: stacked - dimensions: - - name: NOTIFY - - name: AXFR - - name: nsd.rcode - description: return code - unit: "queries/s" - chart_type: stacked - dimensions: - - name: NOERROR - - name: FORMERR - - name: SERVFAIL - - name: NXDOMAIN - - name: NOTIMP - - name: REFUSED - - name: YXDOMAIN + - name: global + description: "These metrics refer to the entire monitored application." + labels: [] + metrics: + - name: nsd.queries + description: queries + unit: "queries/s" + chart_type: line + dimensions: + - name: queries + - name: nsd.zones + description: zones + unit: "zones" + chart_type: stacked + dimensions: + - name: master + - name: slave + - name: nsd.protocols + description: protocol + unit: "queries/s" + chart_type: stacked + dimensions: + - name: udp + - name: udp6 + - name: tcp + - name: tcp6 + - name: nsd.type + description: query type + unit: "queries/s" + chart_type: stacked + dimensions: + - name: A + - name: NS + - name: CNAME + - name: SOA + - name: PTR + - name: HINFO + - name: MX + - name: NAPTR + - name: TXT + - name: AAAA + - name: SRV + - name: ANY + - name: nsd.transfer + description: transfer + unit: "queries/s" + chart_type: stacked + dimensions: + - name: NOTIFY + - name: AXFR + - name: nsd.rcode + description: return code + unit: "queries/s" + chart_type: stacked + dimensions: + - name: NOERROR + - name: FORMERR + - name: SERVFAIL + - name: NXDOMAIN + - name: NOTIMP + - name: REFUSED + - name: YXDOMAIN diff --git a/collectors/python.d.plugin/spigotmc/metadata.yaml b/collectors/python.d.plugin/spigotmc/metadata.yaml index 27e3ae3adf..89242119a2 100644 --- a/collectors/python.d.plugin/spigotmc/metadata.yaml +++ b/collectors/python.d.plugin/spigotmc/metadata.yaml @@ -3,52 +3,138 @@ meta: module_name: spigotmc monitored_instance: name: SpigotMC - link: '' + link: "" categories: - - data-collection.gaming - icon_filename: 'spigot.jfif' + - data-collection.gaming + icon_filename: "spigot.jfif" related_resources: integrations: list: [] info_provided_to_referring_integrations: - description: '' - keywords: [] + description: "" + keywords: + - minecraft server + - spigotmc server + - spigot most_popular: false overview: data_collection: - metrics_description: 'Monitor SpigotMC performance with Netdata for optimal Minecraft server operations. Improve your gaming experience with real-time server performance insights.' - method_description: '' + metrics_description: | + This collector monitors SpigotMC server performance, in the form of ticks per second average, memory utilization, and active users. + method_description: | + It sends the `tps`, `list` and `online` commands to the Server, and gathers the metrics from the responses. supported_platforms: - include: [] + include: + - Linux exclude: [] multi_instance: true additional_permissions: - description: '' + description: "" default_behavior: auto_detection: - description: '' + description: By default, this collector will attempt to connect to a Spigot server running on the local host on port `25575`. limits: - description: '' + description: "" performance_impact: - description: '' + description: "" setup: prerequisites: - list: [] + list: + - title: Enable the Remote Console Protocol + description: | + Under your SpigotMC server's `server.properties` configuration file, you should set `enable-rcon` to `true`. + + This will allow the Server to listen and respond to queries over the rcon protocol. configuration: file: - name: '' - description: '' + name: "python.d/spigotmc.conf" options: - description: '' + 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: '' + title: "Config options" enabled: true - list: [] + list: + - name: update_every + description: Sets the default data collection frequency. + default_value: 1 + 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 + - name: host + description: The host's IP to connect to. + default_value: localhost + required: true + - name: port + description: The port the remote console is listening on. + default_value: 25575 + required: true + - name: password + description: Remote console password if any. + default_value: "" + required: false examples: folding: enabled: true - title: '' - list: [] + title: "Config" + list: + - name: Basic + description: A basic configuration example. + folding: + enabled: false + config: | + local: + name: local_server + url: 127.0.0.1 + port: 25575 + - name: Basic Authentication + description: An example using basic password for authentication with the remote console. + config: | + local: + name: local_server_pass + url: 127.0.0.1 + port: 25575 + password: 'foobar' + - name: Multi-instance + description: | + > **Note**: When you define multiple jobs, their names must be unique. + + Collecting metrics from local and remote instances. + config: | + local_server: + name : my_local_server + url : 127.0.0.1 + port: 25575 + + remote_server: + name : another_remote_server + url : 192.0.2.1 + port: 25575 troubleshooting: problems: list: [] @@ -60,29 +146,29 @@ metrics: description: "" availability: [] scopes: - - name: global - description: "" - labels: [] - metrics: - - name: spigotmc.tps - description: Spigot Ticks Per Second - unit: "ticks" - chart_type: line - dimensions: - - name: 1 Minute Average - - name: 5 Minute Average - - name: 15 Minute Average - - name: spigotmc.users - description: Minecraft Users - unit: "users" - chart_type: area - dimensions: - - name: Users - - name: spigotmc.mem - description: Minecraft Memory Usage - unit: "MiB" - chart_type: line - dimensions: - - name: used - - name: allocated - - name: max + - name: global + description: "These metrics refer to the entire monitored application." + labels: [] + metrics: + - name: spigotmc.tps + description: Spigot Ticks Per Second + unit: "ticks" + chart_type: line + dimensions: + - name: 1 Minute Average + - name: 5 Minute Average + - name: 15 Minute Average + - name: spigotmc.users + description |