docs(inputs): Add plugin metadata and update description for n* (#16692)

This commit is contained in:
Sven Rebhan 2025-04-08 11:27:01 +02:00 committed by GitHub
parent bb32a3cd43
commit 5bb0002948
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 411 additions and 240 deletions

View File

@ -1,9 +1,14 @@
# NATS Input Plugin
# NATS Server Monitoring Input Plugin
The [NATS](http://www.nats.io/about/) monitoring plugin gathers metrics from the
NATS [monitoring http server][1].
This plugin gathers metrics of a [NATS][nats] server instance using its
[monitoring endpoints][nats_monitoring].
[1]: https://docs.nats.io/running-a-nats-service/nats_admin/monitoring
⭐ Telegraf v1.6.0
🏷️ server
💻 all
[nats]: http://www.nats.io
[nats_monitoring]: https://docs.nats.io/running-a-nats-service/nats_admin/monitoring
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,14 +1,22 @@
# NATS Consumer Input Plugin
The [NATS][nats] consumer plugin reads from the specified NATS subjects and
creates metrics using one of the supported [input data formats][].
This service plugin consumes messages from [NATS][nats] instances in one of the
supported [data formats][data_formats]. A [Queue Group][queue_group] is used
when subscribing to subjects so multiple instances of telegraf can consume
messages in parallel.
The plugin supports authenticating via [username/password][userpass], a
[credentials file][creds] (NATS 2.0), or an [nkey seed file][nkey] (NATS 2.0).
A [Queue Group][queue group] is used when subscribing to subjects so multiple
instances of telegraf can read from a NATS cluster in parallel.
⭐ Telegraf v0.10.3
🏷️ messaging
💻 all
There are three methods of (optionally) authenticating with NATS:
[username/password][userpass], [a NATS creds file][creds] (NATS 2.0), or
an [nkey seed file][nkey] (NATS 2.0).
[nats]: https://www.nats.io/about/
[data_formats]: /docs/DATA_FORMATS_INPUT.md
[queue_group]: https://www.nats.io/documentation/concepts/nats-queueing/
[userpass]: https://docs.nats.io/using-nats/developer/connecting/userpass
[creds]: https://docs.nats.io/using-nats/developer/connecting/creds
[nkey]: https://docs.nats.io/using-nats/developer/connecting/nkey
## Service Input <!-- @/docs/includes/service_input.md -->
@ -99,13 +107,6 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
data_format = "influx"
```
[nats]: https://www.nats.io/about/
[input data formats]: /docs/DATA_FORMATS_INPUT.md
[queue group]: https://www.nats.io/documentation/concepts/nats-queueing/
[userpass]: https://docs.nats.io/using-nats/developer/connecting/userpass
[creds]: https://docs.nats.io/using-nats/developer/connecting/creds
[nkey]: https://docs.nats.io/using-nats/developer/connecting/nkey
## Metrics
Which data you will get depends on the subjects you consume from nats

View File

@ -1,12 +1,17 @@
# Neoom Beaam Input Plugin
This plugin reads metrics from the Neoom Beaam gateway using the
[Beaam API][BeaamAPI]. Usually an access token is required which can be created
in the Neoom web interface. Please follow the [developer instructions][DevPage]
to create the token!
This plugin gathers metrics from a [Neoom Beaam gateway][beaam] using the
[Beaam API][beaam_api] with access token that can be created in the Neoom web
interface. Please follow the [developer instructions][devpage] to create the
token.
[BeaamAPI]: https://developer.neoom.com/reference/concepts-terms-1
[DevPage]:https://neoom.com/developers
⭐ Telegraf v1.33.0
🏷️ iot
💻 all
[beaam]: https://neoom.com/en/products/beaam
[beaam_api]: https://developer.neoom.com/reference/concepts-terms-1
[devpage]:https://neoom.com/developers
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,12 +1,14 @@
# Neptune Apex Input Plugin
The Neptune Apex controller family allows an aquarium hobbyist to monitor and
control their tanks based on various probes. The data is taken directly from the
`/cgi-bin/status.xml` at the interval specified in the telegraf.conf
configuration file.
This plugin gathers metrics from [Neptune Apex controller][neptune] instances,
allowing aquarium hobbyists to monitor and control their tanks based on various
probes.
The [Neptune Apex](https://www.neptunesystems.com/) input plugin collects
real-time data from the Apex's status.xml page.
⭐ Telegraf v1.10.0
🏷️ iot
💻 all
[neptune]: https://www.neptunesystems.com
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -36,6 +38,30 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
```
## Troubleshooting
### sendRequest failure
This indicates a problem communicating with the local Apex controller. If on
Mac/Linux, try curl:
```sh
curl apex.local/cgi-bin/status.xml
```
to isolate the problem.
### parseXML errors
Ensure the XML being returned is valid. If you get valid XML back, open a bug
request.
### Missing fields/data
The neptune_apex plugin is strict on its input to prevent any conversion
errors. If you have fields in the status.xml output that are not converted to a
metric, open a feature request and paste your whole status.xml
## Metrics
The Neptune Apex controller family allows an aquarium hobbyist to monitor and
@ -80,38 +106,6 @@ considered a convenience rather than authoritative.
- The time used for the metric is parsed from the status.xml page. This helps when cross-referencing events with
the local system of Apex Fusion. Since the Apex uses NTP, this should not matter in most scenarios.
## Sample Queries
Get the max, mean, and min for the temperature in the last hour:
```sql
SELECT mean("value") FROM "neptune_apex" WHERE ("probe_type" = 'Temp') AND time >= now() - 6h GROUP BY time(20s)
```
## Troubleshooting
### sendRequest failure
This indicates a problem communicating with the local Apex controller. If on
Mac/Linux, try curl:
```sh
curl apex.local/cgi-bin/status.xml
```
to isolate the problem.
### parseXML errors
Ensure the XML being returned is valid. If you get valid XML back, open a bug
request.
### Missing fields/data
The neptune_apex plugin is strict on its input to prevent any conversion
errors. If you have fields in the status.xml output that are not converted to a
metric, open a feature request and paste your whole status.xml
## Example Output
```text

View File

@ -1,7 +1,10 @@
# Net Input Plugin
# Network Input Plugin
This plugin gathers metrics about network interface and protocol usage (Linux
only).
This plugin gathers metrics about network interface and protocol usage.
⭐ Telegraf v0.1.1
🏷️ network
💻 all
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -63,35 +66,22 @@ silently.
[source]: https://elixir.bootlin.com/linux/latest/source/net/ipv4/proc.c
## Tags
Tags:
* Net measurements have the following tags:
* interface (the interface from which metrics are gathered)
Under Linux the system wide protocol metrics have the interface=all tag.
## Sample Queries
You can use the following query to get the upload/download traffic rate per
second for all interfaces in the last hour. The query uses the [derivative
function][deriv] which calculates the rate of change between subsequent field
values.
[deriv]: https://docs.influxdata.com/influxdb/v1.2/query_language/functions#derivative
```sql
SELECT derivative(first(bytes_recv), 1s) as "download bytes/sec", derivative(first(bytes_sent), 1s) as "upload bytes/sec" FROM net WHERE time > now() - 1h AND interface != 'all' GROUP BY time(10s), interface fill(0);
```
## Example Output
### All platforms
All platforms provide metrics like the following:
```text
net,interface=eth0,host=HOST bytes_sent=451838509i,bytes_recv=3284081640i,packets_sent=2663590i,packets_recv=3585442i,err_in=0i,err_out=0i,drop_in=4i,drop_out=0i 1492834180000000000
```
### Linux
On Linux additional metrics might be provided:
```text
net,interface=eth0,host=HOST bytes_sent=451838509i,bytes_recv=3284081640i,packets_sent=2663590i,packets_recv=3585442i,err_in=0i,err_out=0i,drop_in=4i,drop_out=0i 1492834180000000000

View File

@ -1,7 +1,11 @@
# Network Response Input Plugin
The input plugin test UDP/TCP connections response time and can optional
verify text in the response.
This plugin tests UDP/TCP connection and produces metrics from the result, the
response time and optionally verifies text in the response.
⭐ Telegraf v0.10.3
🏷️ network
💻 all
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,6 +1,6 @@
# Netflow Input Plugin
The `netflow` plugin acts as a collector for Netflow v5, Netflow v9 and IPFIX
This service plugin acts as a collector for Netflow v5, Netflow v9 and IPFIX
flow information. The Layer 4 protocol numbers are gathered from the
[official IANA assignments][IANA assignments].
The internal field mappings for Netflow v5 fields are defined according to
@ -9,6 +9,10 @@ according to [Cisco's Netflow v9 documentation][CISCO NF9] and the
[ASA extensions][ASA extensions].
Definitions for IPFIX are according to [IANA assignment document][IPFIX doc].
⭐ Telegraf v1.25.0
🏷️ network
💻 all
[IANA assignments]: https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
[CISCO NF5]: https://www.cisco.com/c/en/us/td/docs/net_mgmt/netflow_collection_engine/3-6/user/guide/format.html#wp1006186
[CISCO NF9]: https://www.cisco.com/en/US/technologies/tk648/tk362/technologies_white_paper09186a00800a3db9.html

View File

@ -1,7 +1,11 @@
# Netstat Input Plugin
# Network Connection Statistics Input Plugin
This plugin collects TCP connections state and UDP socket counts by using
`lsof`.
This plugin collects statistics about TCP connection states and UDP socket
counts.
⭐ Telegraf v0.2.0
🏷️ network
💻 all
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -37,7 +41,7 @@ Supported TCP Connection states are follows.
- closing
- none
## TCP Connection State measurements
### TCP Connection State measurements
Meta:
@ -60,7 +64,7 @@ Measurement names:
If there are no connection on the state, the metric is not counted.
## UDP socket counts measurements
### UDP socket counts measurements
Meta:

View File

@ -1,15 +1,22 @@
# NFS Client Input Plugin
# Network Filesystem Input Plugin
The NFS Client input plugin collects data from /proc/self/mountstats. By
default, only a limited number of general system-level metrics are collected,
including basic read/write counts. If `fullstat` is set, a great deal of
additional metrics are collected, detailed below.
This plugin collects metrics about operations on [Network Filesystem][nfs]
mounts. By default, only a limited number of general system-level metrics are
collected, including basic read/write counts but more detailed metrics can be
enabled.
__NOTE__ Many of the metrics, even if tagged with a mount point, are really
_per-server_. Thus, if you mount these two shares: `nfs01:/vol/foo/bar` and
`nfs01:/vol/foo/baz`, there will be two near identical entries in
/proc/self/mountstats. This is a limitation of the metrics exposed by the
kernel, not the telegraf plugin.
> [!NOTE]
> Many of the metrics, even if tagged with a mount point, are really
> _per-server_. E.g. if you mount two shares: `nfs01:/vol/foo/bar` and
> `nfs01:/vol/foo/baz`, there will be two near identical entries in
> `/proc/self/mountstats`. This is a limitation of the metrics exposed by the
> kernel, not by this plugin.
⭐ Telegraf v1.18.0
🏷️ network, system
💻 all
[nfs]: https://www.ietf.org/rfc/rfc1813.txt?number=1813
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -54,48 +61,56 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
### Configuration Options
- __fullstat__ bool: Collect per-operation type metrics. Defaults to false.
- __include_mounts__ list(string): gather metrics for only these mounts. Default is to watch all mounts.
- __exclude_mounts__ list(string): gather metrics for all mounts, except those listed in this option. Excludes take precedence over includes.
- __include_operations__ list(string): List of specific NFS operations to track. See /proc/self/mountstats (the "per-op statistics" section) for complete lists of valid options for NFSv3 and NFSV4. The default is to gather all metrics, but this is almost certainly _not_ what you want (there are 22 operations for NFSv3, and well over 50 for NFSv4). A suggested 'minimal' list of operations to collect for basic usage: `['READ','WRITE','ACCESS','GETATTR','READDIR','LOOKUP','LOOKUP']`
- __exclude_operations__ list(string): Gather all metrics, except those listed. Excludes take precedence over includes.
- `fullstat`: Collect per-operation type metrics. Defaults to false.
- `include_mounts`: gather metrics for only these mounts. Default is to watch
all mounts.
- `exclude_mounts`: gather metrics for all mounts, except those listed in this
option. Excludes take precedence over includes.
- `include_operations`: List of specific NFS operations to track. See
`/proc/self/mountstats` (the "per-op statistics" section) for a complete
lists of valid options for NFSv3 and NFSV4. The default is to gather all
metrics, but this is almost certainly _not_ what you want (there are
22 operations for NFSv3, and well over 50 for NFSv4). A suggested 'minimal'
list of operations to collect for basic usage:
`['READ','WRITE','ACCESS','GETATTR','READDIR','LOOKUP','LOOKUP']`
- `exclude_operations`: Gather all metrics, except those listed. Excludes take
precedence over includes.
_N.B._ the `include_mounts` and `exclude_mounts` arguments are both applied to
the local mount location (e.g. /mnt/NFS), not the server export
(e.g. nfsserver:/vol/NFS). Go regexp patterns can be used in either.
> [!NOTE]
> The `include_mounts` and `exclude_mounts` arguments are both applied to the
> local mount location (e.g. /mnt/NFS), not the server export (e.g.
> nfsserver:/vol/NFS). Go regexp patterns can be used in either.
## Location of mountstats
If you have mounted the /proc file system in a container, to tell this plugin
If you have mounted the `/proc` file system in a container, to tell this plugin
where to find the new location, set the `MOUNT_PROC` environment variable. For
example, in a Docker compose file, if /proc is mounted to /host/proc, then use:
example, in a Docker compose file, if `/proc` is mounted to `/host/proc`, then
use:
```yaml
MOUNT_PROC: /host/proc/self/mountstats
```
### References
1. [nfsiostat](http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=summary)
2. [net/sunrpc/stats.c - Linux source code](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/stats.c)
3. [What is in /proc/self/mountstats for NFS mounts: an introduction](https://utcc.utoronto.ca/~cks/space/blog/linux/NFSMountstatsIndex)
4. [The xprt: data for NFS mounts in /proc/self/mountstats](https://utcc.utoronto.ca/~cks/space/blog/linux/NFSMountstatsXprt)
## Metrics
### Fields
Fields:
- nfsstat
- bytes (integer, bytes) - The total number of bytes exchanged doing this operation. This is bytes sent _and_ received, including overhead _and_ payload. (bytes = OP_bytes_sent + OP_bytes_recv. See nfs_ops below)
- bytes (integer, bytes) - The total number of bytes exchanged doing this
operation. This is bytes sent _and_ received, including overhead _and_
payload (`bytes = OP_bytes_sent + OP_bytes_recv`). See `nfs_ops` below.
- ops (integer, count) - The number of operations of this type executed.
- retrans (integer, count) - The number of times an operation had to be retried (retrans = OP_trans - OP_ops. See nfs_ops below)
- exe (integer, milliseconds) - The number of milliseconds it took to process the operations.
- retrans (integer, count) - The number of times an operation had to be
(`retried retrans = OP_trans - OP_ops`). See `nfs_ops` below.
- exe (integer, milliseconds) - The number of milliseconds it took to process
the operations.
- rtt (integer, milliseconds) - The total round-trip time for all operations.
- rtt_per_op (float, milliseconds) - The average round-trip time per operation.
In addition enabling `fullstat` will make many more metrics available.
### Tags
Tags:
- All measurements have the following tags:
- mountpoint - The local mountpoint, for instance: "/var/www"
@ -104,12 +119,12 @@ In addition enabling `fullstat` will make many more metrics available.
- Measurements nfsstat and nfs_ops will also include:
- operation - the NFS operation in question. `READ` or `WRITE` for nfsstat, but potentially one of ~20 or ~50, depending on NFS version. A complete list of operations supported is visible in `/proc/self/mountstats`.
## Additional metrics
### Additional metrics
When `fullstat` is true, additional measurements are collected. Tags are the
same as above.
### NFS Operations
NFS Operations:
Most descriptions come from [Reference][ref] and `nfs_iostat.h`. Field order
and names are the same as in `/proc/self/mountstats` and the Kernel source.

View File

@ -1,10 +1,15 @@
# Nginx Input Plugin
This plugin gathers basic status from the open source web server Nginx. Nginx
Plus is a commercial version. For more information about the differences between
Nginx (F/OSS) and Nginx Plus, see the Nginx [documentation][diff-doc].
This plugin gathers metrics from the open source [Nginx web server][nginx].
Nginx Plus is a commercial version. For more information about differences
between Nginx (F/OSS) and Nginx Plus, see the Nginx [documentation][diff_doc].
[diff-doc]: https://www.nginx.com/blog/whats-difference-nginx-foss-nginx-plus/
⭐ Telegraf v0.1.5
🏷️ server, web
💻 all
[nginx]: https://www.nginx.com
[diff_doc]: https://www.nginx.com/blog/whats-difference-nginx-foss-nginx-plus/
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,15 +1,21 @@
# Nginx Plus Input Plugin
Nginx Plus is a commercial version of the open source web server Nginx. The use
this plugin you will need a license. For more information about the differences
between Nginx (F/OSS) and Nginx Plus, see the Nginx [documentation][diff-doc].
This plugin gathers metrics from the commercial
[Nginx Plus web server][nginx_plus] via the [status module][status_module].
Structures for Nginx Plus have been built based on history of [status module
documentation][status-mod].
> [!NOTE]
> Using this plugin requires a license.
[diff-doc]: https://www.nginx.com/blog/whats-difference-nginx-foss-nginx-plus/
For more information about differences between Nginx (F/OSS) and Nginx Plus, see
the Nginx [documentation][diff_doc].
[status-mod]: http://nginx.org/en/docs/http/ngx_http_status_module.html
⭐ Telegraf v1.5.0
🏷️ server, web
💻 all
[nginx_plus]: https://www.f5.com/products/nginx/nginx-plus
[status_module]: http://nginx.org/en/docs/http/ngx_http_status_module.html
[diff_doc]: https://www.nginx.com/blog/whats-difference-nginx-foss-nginx-plus/
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,10 +1,21 @@
# Nginx Plus API Input Plugin
Nginx Plus is a commercial version of the open source web server Nginx. The use
this plugin you will need a license. For more information about the differences
between Nginx (F/OSS) and Nginx Plus, see the Nginx [documentation][diff-doc].
This plugin gathers metrics from the commercial
[Nginx Plus web server][nginx_plus] via the [REST API][api].
[diff-doc]: https://www.nginx.com/blog/whats-difference-nginx-foss-nginx-plus/
> [!NOTE]
> Using this plugin requires a license.
For more information about differences between Nginx (F/OSS) and Nginx Plus, see
the Nginx [documentation][diff_doc].
⭐ Telegraf v1.9.0
🏷️ server, web
💻 all
[nginx_plus]: https://www.f5.com/products/nginx/nginx-plus
[api]: https://demo.nginx.com/swagger-ui/
[diff_doc]: https://www.nginx.com/blog/whats-difference-nginx-foss-nginx-plus/
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,13 +1,19 @@
# Nginx Stream STS Input Plugin
# Nginx Stream Server Traffic Input Plugin
This plugin gathers Nginx status using external virtual host traffic status
module - <https://github.com/vozlt/nginx-module-sts>. This is an Nginx module
that provides access to stream host status information. It contains the current
status such as servers, upstreams, caches. This is similar to the live activity
monitoring of Nginx plus. For module configuration details please see its
[documentation](https://github.com/vozlt/nginx-module-sts#synopsis).
This plugin gathers metrics from the [Nginx web server][nginx] using the
[external stream server traffic status module][ssts_module]. This module provides
access to stream host status information containing the current status of
servers, upstreams and caches, similar to the live activity monitoring of
Nginx plus. For module configuration details please see the
[module documentation][module_doc].
Telegraf minimum version: Telegraf 1.15.0
⭐ Telegraf v1.15.0
🏷️ server, web
💻 all
[nginx]: https://www.nginx.com
[ssts_module]: https://github.com/vozlt/nginx-module-sts
[module_doc]: https://github.com/vozlt/nginx-module-sts#synopsis
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,16 +1,16 @@
# Nginx Upstream Check Input Plugin
Read the status output of the [nginx_upstream_check][1]. This module can
periodically check the servers in the Nginx's upstream with configured request
and interval to determine if the server is still available. If checks are failed
the server is marked as "down" and will not receive any requests until the check
will pass and a server will be marked as "up" again.
This plugin gathers metrics from the [Nginx web server][nginx] using the
[upstream check module][upstream_check_module]. This module periodically sends
the configured requests to servers in the Nginx's upstream determining their
availability.
The status page displays the current status of all upstreams and servers as well
as number of the failed and successful checks. This information can be exported
in JSON format and parsed by this input.
⭐ Telegraf v1.10.0
🏷️ server, web
💻 all
[1]: https://github.com/yaoweibin/nginx_upstream_check_module
[nginx]: https://www.nginx.com
[upstream_check_module]: https://github.com/yaoweibin/nginx_upstream_check_module
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,11 +1,19 @@
# Nginx Virtual Host Traffic (VTS) Input Plugin
# Nginx Virtual Host Traffic Input Plugin
This plugin gathers Nginx status using external virtual host traffic status
module - <https://github.com/vozlt/nginx-module-vts>. This is an Nginx module
that provides access to virtual host status information. It contains the current
status such as servers, upstreams, caches. This is similar to the live activity
monitoring of Nginx plus. For module configuration details please see its
[documentation](https://github.com/vozlt/nginx-module-vts#synopsis).
This plugin gathers metrics from the [Nginx web server][nginx] using the
[external virtual host traffic status module][vhts_module]. This module provides
access to virtual host status information containing the current status of
servers, upstreams and caches, similar to the live activity monitoring of
Nginx plus. For module configuration details please see the
[module documentation][module_doc].
⭐ Telegraf v1.9.0
🏷️ server, web
💻 all
[nginx]: https://www.nginx.com
[vhts_module]: https://github.com/vozlt/nginx-module-vts
[module_doc]: https://github.com/vozlt/nginx-module-vts#synopsis
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,10 +1,13 @@
# Hashicorp Nomad Input Plugin
The Nomad plugin must grab metrics from every Nomad agent of the
cluster. Telegraf may be present in every node and connect to the agent
locally. In this case should be something like `http://127.0.0.1:4646`.
This plugin collects metrics from every [Nomad agent][nomad] of the specified
cluster. Telegraf may be present in every node and connect to the agent locally.
> Tested on Nomad 1.1.6
⭐ Telegraf v1.22.0
🏷️ server
💻 all
[nomad]: https://www.nomadproject.io/
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -35,9 +38,12 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
## Metrics
Both Nomad servers and agents collect various metrics. For every details, please
have a look at Nomad following documentation:
have a look at [Nomad metrics][metrics] and [Nomad telemetry][telemetry]
ocumentation.
- [https://www.nomadproject.io/docs/operations/metrics](https://www.nomadproject.io/docs/operations/metrics)
- [https://www.nomadproject.io/docs/operations/telemetry](https://www.nomadproject.io/docs/operations/telemetry)
[metrics]: https://www.nomadproject.io/docs/operations/metrics
[telemetry]: https://www.nomadproject.io/docs/operations/telemetry
## Example Output
There is no predefined metric format, so output depends on plugin input.

View File

@ -1,8 +1,13 @@
# NSD Input Plugin
# NLnet Labs Name Server Daemon Input Plugin
This plugin gathers stats from
[NSD](https://www.nlnetlabs.nl/projects/nsd/about) - an authoritative DNS name
server.
This plugin gathers statistics from a [NLnet Labs Name Server Daemon][nsd], an
authoritative DNS name server.
⭐ Telegraf v1.0.0
🏷️ server
💻 all
[nsd]: https://www.nlnetlabs.nl/projects/nsd/about
## Global configuration options <!-- @/docs/includes/plugin_config.md -->

View File

@ -1,8 +1,7 @@
# Netgear Switch Discovery Protocol Input Plugin
This plugin gathers metrics from devices via
[Netgear Switch Discovery Protocol (NSDP)][nsdp]
for all available switches and ports.
This plugin gathers metrics from devices via the
[Netgear Switch Discovery Protocol][nsdp] for all available switches and ports.
⭐ Telegraf v1.34.0
🏷️ network

View File

@ -1,9 +1,14 @@
# NSQ Input Plugin
This plugin gathers metrics from [NSQ](https://nsq.io/).
This plugin gathers metrics from [NSQ][nsq] realtime distributed messaging
platform instances using the [NSQD API][api].
See the [NSQD API docs](https://nsq.io/components/nsqd.html) for endpoints that
the plugin can read.
⭐ Telegraf v1.16.0
🏷️ server
💻 all
[nsq]: https://nsq.io/
[api]: https://nsq.io/components/nsqd.html
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -32,4 +37,68 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
## Metrics
- `nsq_server`:
- tags:
- `server_host`
- `server_version`
- fields:
- `server_count`
- `topic_count`
- `nsq_topic`:
- tags:
- `server_host`
- `server_version`
- `topic`
- fields:
- `backend_depth`
- `channel_count`
- `depth`
- `message_count`
- `nsq_channel`:
- tags:
- `server_host`
- `server_version`
- `topic`
- `channel`
- fields:
- `backend_depth`
- `client_count`
- `depth`
- `deferred_count`
- `inflight_count`
- `message_count`
- `requeue_count`
- `timeout_count`
- `nsq_client`:
- tags:
- `channel`
- `client_address`
- `client_hostname`
- `client_id`
- `client_name`
- `client_user_agent`
- `client_deflate`
- `client_snappy`
- `client_tls`
- `client_version`
- `server_host`
- `server_version`
- `topic`
- fields:
- `finish_count`
- `inflight_count`
- `message_count`
- `ready_count`
- `requeue_count`
## Example Output
```text
nsq_server,server_host=127.0.0.1:35871,server_version=0.3.6 server_count=1i,topic_count=2i 1742836824386224245
nsq_topic,server_host=127.0.0.1:35871,server_version=0.3.6,topic=t1 backend_depth=13i,channel_count=1i,depth=12i,message_count=14i 1742836824386235365
nsq_channel,channel=c1,server_host=127.0.0.1:35871,server_version=0.3.6,topic=t1 backend_depth=1i,client_count=1i,deferred_count=3i,depth=0i,inflight_count=2i,message_count=4i,requeue_count=5i,timeout_count=6i 1742836824386241985
nsq_client,channel=c1,client_address=172.17.0.11:35560,client_deflate=false,client_hostname=373a715cd990,client_id=373a715cd990,client_name=373a715cd990,client_snappy=false,client_tls=false,client_user_agent=nsq_to_nsq/0.3.6\ go-nsq/1.0.5,client_version=V2,server_host=127.0.0.1:35871,server_version=0.3.6,topic=t1 finish_count=9i,inflight_count=7i,message_count=8i,ready_count=200i,requeue_count=10i 1742836824386252905
nsq_topic,server_host=127.0.0.1:35871,server_version=0.3.6,topic=t2 backend_depth=29i,channel_count=1i,depth=28i,message_count=30i 1742836824386263806
nsq_channel,channel=c2,server_host=127.0.0.1:35871,server_version=0.3.6,topic=t2 backend_depth=16i,client_count=1i,deferred_count=18i,depth=15i,inflight_count=17i,message_count=19i,requeue_count=20i,timeout_count=21i 1742836824386270026
nsq_client,channel=c2,client_address=172.17.0.8:48145,client_deflate=true,client_hostname=377569bd462b,client_id=377569bd462b,client_name=377569bd462b,client_snappy=true,client_tls=true,client_user_agent=go-nsq/1.0.5,client_version=V2,server_host=127.0.0.1:35871,server_version=0.3.6,topic=t2 finish_count=25i,inflight_count=23i,message_count=24i,ready_count=22i,requeue_count=26i 1742836824386277926
```

View File

@ -1,7 +1,14 @@
# NSQ Consumer Input Plugin
The [NSQ][nsq] consumer plugin reads from NSQD and creates metrics using one
of the supported [input data formats][].
This service plugin consumes messages from [NSQ][nsq] realtime distributed
messaging platform brokers in one of the supported [data formats][data_formats].
⭐ Telegraf v0.10.1
🏷️ messaging
💻 all
[nsq]: https://nsq.io/
[data_formats]: /docs/DATA_FORMATS_INPUT.md
## Service Input <!-- @/docs/includes/service_input.md -->
@ -56,9 +63,11 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
data_format = "influx"
```
[nsq]: https://nsq.io
[input data formats]: /docs/DATA_FORMATS_INPUT.md
## Metrics
The plugin accepts arbitrary input and parses it according to the `data_format`
setting. There is no predefined metric format.
## Example Output
There is no predefined metric format, so output depends on plugin input.

File diff suppressed because one or more lines are too long

View File

@ -1,28 +1,15 @@
# ntpq Input Plugin
# Network Time Protocol Query Input Plugin
Get standard NTP query metrics, requires ntpq executable.
This plugin gathers metrics about [Network Time Protocol][ntp] queries.
Below is the documentation of the various headers returned from the NTP query
command when running `ntpq -p`.
> [!IMPORTANT]
> This plugin requires the `ntpq` executable to be installed on the system.
- remote The remote peer or server being synced to. “LOCAL” is this local host
(included in case there are no remote peers or servers available);
- refid Where or what the remote peer or server is itself synchronised to;
- st (stratum) The remote peer or server Stratum
- t (type) Type (u: unicast or manycast client, b: broadcast or multicast client,
l: local reference clock, s: symmetric peer, A: manycast server,
B: broadcast server, M: multicast server, see “Automatic Server Discovery“);
- when When last polled (seconds ago, “h” hours ago, or “d” days ago);
- poll Polling frequency: rfc5905 suggests this ranges in NTPv4 from 4 (16s)
to 17 (36h) (log2 seconds), however observation suggests the actual displayed
value is seconds for a much smaller range of 64 (26) to 1024 (210) seconds;
- reach An 8-bit left-shift shift register value recording polls (bit set =
successful, bit reset = fail) displayed in octal;
- delay Round trip communication delay to the remote peer or server (milliseconds);
- offset Mean offset (phase) in the times reported between this local host and
the remote peer or server (RMS, milliseconds);
- jitter Mean deviation (jitter) in the time reported for that remote peer or
server (RMS of difference of multiple time samples, milliseconds);
⭐ Telegraf v0.11.0
🏷️ network
💻 all
[ntp]: https://ntp.org/
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -68,9 +55,33 @@ You can pass arbitrary options accepted by the `ntpq` command using the
for example.
Below is the documentation of the various headers returned from the NTP query
command when running `ntpq -p`.
- `remote` The remote peer or server being synced to. “LOCAL” is this local
host (included in case there are no remote peers or servers available);
- `refid` Where or what the remote peer or server is itself synchronised to;
- `st` (stratum) The remote peer or server Stratum
- `t` (type) Type (u: unicast or manycast client, b: broadcast or multicast
client, l: local reference clock, s: symmetric peer, A: manycast server,
B: broadcast server, M: multicast server, see “Automatic Server Discovery“);
- `when` When last polled (seconds ago, “h” hours ago, or “d” days ago);
- `poll` Polling frequency: rfc5905 suggests this ranges in NTPv4 from 4 (16s)
to 17 (36h) (log2 seconds), however observation suggests the actual
displayed value is seconds for a much smaller range of 64 (26) to 1024
(210) seconds;
- `reach` An 8-bit left-shift shift register value recording polls
(bit set = successful, bit reset = fail) displayed in octal;
- `delay` Round trip communication delay to the remote peer or server
(milliseconds);
- `offset` Mean offset (phase) in the times reported between this local host
and the remote peer or server (RMS, milliseconds);
- `jitter` Mean deviation (jitter) in the time reported for that remote peer
or server (RMS of difference of multiple time samples, milliseconds);
## Metrics
- ntpq
- `ntpq`
- delay (float, milliseconds)
- jitter (float, milliseconds)
- offset (float, milliseconds)

View File

@ -1,8 +1,18 @@
# Nvidia System Management Interface (SMI) Input Plugin
This plugin uses a query on the
[`nvidia-smi`](https://developer.nvidia.com/nvidia-system-management-interface)
binary to pull GPU stats including memory and GPU usage, temp and other.
This plugin collects metrics for [NVIDIA GPUs][nvidia] including memory and
GPU usage, temperature and other, using the
[NVIDIA System Management Interface][smi].
> [!IMPORTANT]
> This plugin requires the `nvidia-smi` binary to be installed on the system.
⭐ Telegraf v1.7.0
🏷️ system, hardware
💻 all
[nvidia]: https://www.nvidia.com/
[smi]: https://developer.nvidia.com/nvidia-system-management-interface
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
@ -52,6 +62,24 @@ here `C:\Windows\System32\nvidia-smi.exe`
You'll need to escape the `\` within the `telegraf.conf` like this: `C:\\Program
Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe`
## Troubleshooting
Check the full output by running `nvidia-smi` binary manually.
Linux:
```sh
sudo -u telegraf -- /usr/bin/nvidia-smi -q -x
```
Windows:
```sh
"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" -q -x
```
Please include the output of this command if opening an GitHub issue.
## Metrics
- measurement: `nvidia_smi`
@ -97,33 +125,6 @@ Files\\NVIDIA Corporation\\NVSMI\\nvidia-smi.exe`
- `driver_version` (string)
- `cuda_version` (string)
## Sample Query
The below query could be used to alert on the average temperature of the your
GPUs over the last minute
```sql
SELECT mean("temperature_gpu") FROM "nvidia_smi" WHERE time > now() - 5m GROUP BY time(1m), "index", "name", "host"
```
## Troubleshooting
Check the full output by running `nvidia-smi` binary manually.
Linux:
```sh
sudo -u telegraf -- /usr/bin/nvidia-smi -q -x
```
Windows:
```sh
"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" -q -x
```
Please include the output of this command if opening an GitHub issue.
## Example Output
```text