chore: Markdown fixes for inputs/[a-m]* (#11606)

This commit is contained in:
Sven Rebhan 2022-08-09 18:57:31 +02:00 committed by GitHub
parent e5835060c0
commit 9fbd275d17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 920 additions and 589 deletions

View File

@ -1,18 +1,20 @@
# Alibaba (Aliyun) CloudMonitor Service Statistics Input Plugin # Alibaba (Aliyun) CloudMonitor Service Statistics Input Plugin
Here and after we use `Aliyun` instead `Alibaba` as it is default naming across Here and after we use `Aliyun` instead `Alibaba` as it is default naming
web console and docs. across web console and docs.
This plugin will pull Metric Statistics from Aliyun CMS. This plugin will pull metric statistics from Aliyun CMS.
## Aliyun Authentication ## Aliyun Authentication
This plugin uses an [AccessKey][1] credential for Authentication with the Aliyun This plugin uses an [AccessKey][1] credential for Authentication with the
OpenAPI endpoint. In the following order the plugin will attempt to Aliyun OpenAPI endpoint. In the following order the plugin will attempt
authenticate. to authenticate.
1. Ram RoleARN credential if `access_key_id`, `access_key_secret`, `role_arn`, `role_session_name` is specified 1. Ram RoleARN credential if `access_key_id`, `access_key_secret`, `role_arn`,
2. AccessKey STS token credential if `access_key_id`, `access_key_secret`, `access_key_sts_token` is specified `role_session_name` is specified
2. AccessKey STS token credential if `access_key_id`, `access_key_secret`,
`access_key_sts_token` is specified
3. AccessKey credential if `access_key_id`, `access_key_secret` is specified 3. AccessKey credential if `access_key_id`, `access_key_secret` is specified
4. Ecs Ram Role Credential if `role_name` is specified 4. Ecs Ram Role Credential if `role_name` is specified
5. RSA keypair credential if `private_key`, `public_key_id` is specified 5. RSA keypair credential if `private_key`, `public_key_id` is specified
@ -45,18 +47,21 @@ authenticate.
# public_key_id = "" # public_key_id = ""
# role_name = "" # role_name = ""
## Specify the ali cloud region list to be queried for metrics and objects discovery ## Specify ali cloud regions to be queried for metric and object discovery
## If not set, all supported regions (see below) would be covered, it can provide a significant load on API, so the recommendation here ## If not set, all supported regions (see below) would be covered, it can
## is to limit the list as much as possible. Allowed values: https://www.alibabacloud.com/help/zh/doc-detail/40654.htm ## provide a significant load on API, so the recommendation here is to
## limit the list as much as possible.
## Allowed values: https://www.alibabacloud.com/help/zh/doc-detail/40654.htm
## Default supported regions are: ## Default supported regions are:
## 21 items: cn-qingdao,cn-beijing,cn-zhangjiakou,cn-huhehaote,cn-hangzhou,cn-shanghai,cn-shenzhen, ## cn-qingdao,cn-beijing,cn-zhangjiakou,cn-huhehaote,cn-hangzhou,
## cn-heyuan,cn-chengdu,cn-hongkong,ap-southeast-1,ap-southeast-2,ap-southeast-3,ap-southeast-5, ## cn-shanghai, cn-shenzhen, cn-heyuan,cn-chengdu,cn-hongkong,
## ap-south-1,ap-northeast-1,us-west-1,us-east-1,eu-central-1,eu-west-1,me-east-1 ## ap-southeast-1,ap-southeast-2,ap-southeast-3,ap-southeast-5,
## ap-south-1,ap-northeast-1, us-west-1,us-east-1,eu-central-1,
## eu-west-1,me-east-1
## ##
## From discovery perspective it set the scope for object discovery, the discovered info can be used to enrich ## From discovery perspective it set the scope for object discovery,
## the metrics with objects attributes/tags. Discovery is supported not for all projects (if not supported, then ## the discovered info can be used to enrich the metrics with objects
## it will be reported on the start - for example for 'acs_cdn' project: ## attributes/tags. Discovery is not supported for all projects.
## 'E! [inputs.aliyuncms] Discovery tool is not activated: no discovery support for project "acs_cdn"' )
## Currently, discovery supported for the following projects: ## Currently, discovery supported for the following projects:
## - acs_ecs_dashboard ## - acs_ecs_dashboard
## - acs_rds_dashboard ## - acs_rds_dashboard
@ -64,22 +69,23 @@ authenticate.
## - acs_vpc_eip ## - acs_vpc_eip
regions = ["cn-hongkong"] regions = ["cn-hongkong"]
# The minimum period for AliyunCMS metrics is 1 minute (60s). However not all ## Requested AliyunCMS aggregation Period (required)
# metrics are made available to the 1 minute period. Some are collected at ## The period must be multiples of 60s and the minimum for AliyunCMS metrics
# 3 minute, 5 minute, or larger intervals. ## is 1 minute (60s). However not all metrics are made available to the
# See: https://help.aliyun.com/document_detail/51936.html?spm=a2c4g.11186623.2.18.2bc1750eeOw1Pv ## one minute period. Some are collected at 3 minute, 5 minute, or larger
# Note that if a period is configured that is smaller than the minimum for a ## intervals.
# particular metric, that metric will not be returned by the Aliyun OpenAPI ## See: https://help.aliyun.com/document_detail/51936.html?spm=a2c4g.11186623.2.18.2bc1750eeOw1Pv
# and will not be collected by Telegraf. ## Note that if a period is configured that is smaller than the minimum for
# ## a particular metric, that metric will not be returned by Aliyun's
## Requested AliyunCMS aggregation Period (required - must be a multiple of 60s) ## OpenAPI and will not be collected by Telegraf.
period = "5m" period = "5m"
## Collection Delay (required - must account for metrics availability via AliyunCMS API) ## Collection Delay (required)
## The delay must account for metrics availability via AliyunCMS API.
delay = "1m" delay = "1m"
## Recommended: use metric 'interval' that is a multiple of 'period' to avoid ## Recommended: use metric 'interval' that is a multiple of 'period'
## gaps or overlap in pulled data ## to avoid gaps or overlap in pulled data
interval = "5m" interval = "5m"
## Metric Statistic Project (required) ## Metric Statistic Project (required)
@ -94,15 +100,19 @@ authenticate.
## Metrics to Pull (Required) ## Metrics to Pull (Required)
[[inputs.aliyuncms.metrics]] [[inputs.aliyuncms.metrics]]
## Metrics names to be requested, ## Metrics names to be requested,
## described here (per project): https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq ## Description can be found here (per project):
## https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq
names = ["InstanceActiveConnection", "InstanceNewConnection"] names = ["InstanceActiveConnection", "InstanceNewConnection"]
## Dimension filters for Metric (these are optional). ## Dimension filters for Metric (optional).
## This allows to get additional metric dimension. If dimension is not specified it can be returned or ## This allows to get additional metric dimension. If dimension is not
## the data can be aggregated - it depends on particular metric, you can find details here: https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq ## specified it can be returned or the data can be aggregated - it depends
## on particular metric, you can find details here:
## https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq
## ##
## Note, that by default dimension filter includes the list of discovered objects in scope (if discovery is enabled) ## Note, that by default dimension filter includes the list of discovered
## Values specified here would be added into the list of discovered objects. ## objects in scope (if discovery is enabled).
# Values specified here would be added into the list of discovered objects.
## You can specify either single dimension: ## You can specify either single dimension:
#dimensions = '{"instanceId": "p-example"}' #dimensions = '{"instanceId": "p-example"}'
@ -111,26 +121,30 @@ authenticate.
## Enrichment tags, can be added from discovery (if supported) ## Enrichment tags, can be added from discovery (if supported)
## Notation is <measurement_tag_name>:<JMES query path (https://jmespath.org/tutorial.html)> ## Notation is <measurement_tag_name>:<JMES query path (https://jmespath.org/tutorial.html)>
## To figure out which fields are available, consult the Describe<ObjectType> API per project. ## To figure out which fields are available, consult the Describe<ObjectType>
## API per project.
## For example, for SLB: https://api.aliyun.com/#/?product=Slb&version=2014-05-15&api=DescribeLoadBalancers&params={}&tab=MOCK&lang=GO ## For example, for SLB: https://api.aliyun.com/#/?product=Slb&version=2014-05-15&api=DescribeLoadBalancers&params={}&tab=MOCK&lang=GO
#tag_query_path = [ #tag_query_path = [
# "address:Address", # "address:Address",
# "name:LoadBalancerName", # "name:LoadBalancerName",
# "cluster_owner:Tags.Tag[?TagKey=='cs.cluster.name'].TagValue | [0]" # "cluster_owner:Tags.Tag[?TagKey=='cs.cluster.name'].TagValue | [0]"
# ] # ]
## The following tags added by default: regionId (if discovery enabled), userId, instanceId. ## The following tags added by default:
## regionId (if discovery enabled), userId, instanceId.
## Allow metrics without discovery data, if discovery is enabled. If set to true, then metric without discovery ## Allow metrics without discovery data, if discovery is enabled.
## data would be emitted, otherwise dropped. This cane be of help, in case debugging dimension filters, or partial coverage ## If set to true, then metric without discovery data would be emitted, otherwise dropped.
## of discovery scope vs monitoring scope ## This cane be of help, in case debugging dimension filters, or partial coverage of
#allow_dps_without_discovery = false ## discovery scope vs monitoring scope
# allow_dps_without_discovery = false
``` ```
### Requirements and Terminology ### Requirements and Terminology
Plugin Configuration utilizes [preset metric items references][2] Plugin Configuration utilizes [preset metric items references][2]
- `discovery_region` must be a valid Aliyun [Region](https://www.alibabacloud.com/help/doc-detail/40654.htm) value - `discovery_region` must be a valid Aliyun
[Region](https://www.alibabacloud.com/help/doc-detail/40654.htm) value
- `period` must be a valid duration value - `period` must be a valid duration value
- `project` must be a preset project value - `project` must be a preset project value
- `names` must be preset metric names - `names` must be preset metric names

View File

@ -19,18 +19,21 @@
# public_key_id = "" # public_key_id = ""
# role_name = "" # role_name = ""
## Specify the ali cloud region list to be queried for metrics and objects discovery ## Specify ali cloud regions to be queried for metric and object discovery
## If not set, all supported regions (see below) would be covered, it can provide a significant load on API, so the recommendation here ## If not set, all supported regions (see below) would be covered, it can
## is to limit the list as much as possible. Allowed values: https://www.alibabacloud.com/help/zh/doc-detail/40654.htm ## provide a significant load on API, so the recommendation here is to
## limit the list as much as possible.
## Allowed values: https://www.alibabacloud.com/help/zh/doc-detail/40654.htm
## Default supported regions are: ## Default supported regions are:
## 21 items: cn-qingdao,cn-beijing,cn-zhangjiakou,cn-huhehaote,cn-hangzhou,cn-shanghai,cn-shenzhen, ## cn-qingdao,cn-beijing,cn-zhangjiakou,cn-huhehaote,cn-hangzhou,
## cn-heyuan,cn-chengdu,cn-hongkong,ap-southeast-1,ap-southeast-2,ap-southeast-3,ap-southeast-5, ## cn-shanghai, cn-shenzhen, cn-heyuan,cn-chengdu,cn-hongkong,
## ap-south-1,ap-northeast-1,us-west-1,us-east-1,eu-central-1,eu-west-1,me-east-1 ## ap-southeast-1,ap-southeast-2,ap-southeast-3,ap-southeast-5,
## ap-south-1,ap-northeast-1, us-west-1,us-east-1,eu-central-1,
## eu-west-1,me-east-1
## ##
## From discovery perspective it set the scope for object discovery, the discovered info can be used to enrich ## From discovery perspective it set the scope for object discovery,
## the metrics with objects attributes/tags. Discovery is supported not for all projects (if not supported, then ## the discovered info can be used to enrich the metrics with objects
## it will be reported on the start - for example for 'acs_cdn' project: ## attributes/tags. Discovery is not supported for all projects.
## 'E! [inputs.aliyuncms] Discovery tool is not activated: no discovery support for project "acs_cdn"' )
## Currently, discovery supported for the following projects: ## Currently, discovery supported for the following projects:
## - acs_ecs_dashboard ## - acs_ecs_dashboard
## - acs_rds_dashboard ## - acs_rds_dashboard
@ -38,22 +41,23 @@
## - acs_vpc_eip ## - acs_vpc_eip
regions = ["cn-hongkong"] regions = ["cn-hongkong"]
# The minimum period for AliyunCMS metrics is 1 minute (60s). However not all ## Requested AliyunCMS aggregation Period (required)
# metrics are made available to the 1 minute period. Some are collected at ## The period must be multiples of 60s and the minimum for AliyunCMS metrics
# 3 minute, 5 minute, or larger intervals. ## is 1 minute (60s). However not all metrics are made available to the
# See: https://help.aliyun.com/document_detail/51936.html?spm=a2c4g.11186623.2.18.2bc1750eeOw1Pv ## one minute period. Some are collected at 3 minute, 5 minute, or larger
# Note that if a period is configured that is smaller than the minimum for a ## intervals.
# particular metric, that metric will not be returned by the Aliyun OpenAPI ## See: https://help.aliyun.com/document_detail/51936.html?spm=a2c4g.11186623.2.18.2bc1750eeOw1Pv
# and will not be collected by Telegraf. ## Note that if a period is configured that is smaller than the minimum for
# ## a particular metric, that metric will not be returned by Aliyun's
## Requested AliyunCMS aggregation Period (required - must be a multiple of 60s) ## OpenAPI and will not be collected by Telegraf.
period = "5m" period = "5m"
## Collection Delay (required - must account for metrics availability via AliyunCMS API) ## Collection Delay (required)
## The delay must account for metrics availability via AliyunCMS API.
delay = "1m" delay = "1m"
## Recommended: use metric 'interval' that is a multiple of 'period' to avoid ## Recommended: use metric 'interval' that is a multiple of 'period'
## gaps or overlap in pulled data ## to avoid gaps or overlap in pulled data
interval = "5m" interval = "5m"
## Metric Statistic Project (required) ## Metric Statistic Project (required)
@ -68,15 +72,19 @@
## Metrics to Pull (Required) ## Metrics to Pull (Required)
[[inputs.aliyuncms.metrics]] [[inputs.aliyuncms.metrics]]
## Metrics names to be requested, ## Metrics names to be requested,
## described here (per project): https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq ## Description can be found here (per project):
## https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq
names = ["InstanceActiveConnection", "InstanceNewConnection"] names = ["InstanceActiveConnection", "InstanceNewConnection"]
## Dimension filters for Metric (these are optional). ## Dimension filters for Metric (optional).
## This allows to get additional metric dimension. If dimension is not specified it can be returned or ## This allows to get additional metric dimension. If dimension is not
## the data can be aggregated - it depends on particular metric, you can find details here: https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq ## specified it can be returned or the data can be aggregated - it depends
## on particular metric, you can find details here:
## https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq
## ##
## Note, that by default dimension filter includes the list of discovered objects in scope (if discovery is enabled) ## Note, that by default dimension filter includes the list of discovered
## Values specified here would be added into the list of discovered objects. ## objects in scope (if discovery is enabled).
# Values specified here would be added into the list of discovered objects.
## You can specify either single dimension: ## You can specify either single dimension:
#dimensions = '{"instanceId": "p-example"}' #dimensions = '{"instanceId": "p-example"}'
@ -85,16 +93,19 @@
## Enrichment tags, can be added from discovery (if supported) ## Enrichment tags, can be added from discovery (if supported)
## Notation is <measurement_tag_name>:<JMES query path (https://jmespath.org/tutorial.html)> ## Notation is <measurement_tag_name>:<JMES query path (https://jmespath.org/tutorial.html)>
## To figure out which fields are available, consult the Describe<ObjectType> API per project. ## To figure out which fields are available, consult the Describe<ObjectType>
## API per project.
## For example, for SLB: https://api.aliyun.com/#/?product=Slb&version=2014-05-15&api=DescribeLoadBalancers&params={}&tab=MOCK&lang=GO ## For example, for SLB: https://api.aliyun.com/#/?product=Slb&version=2014-05-15&api=DescribeLoadBalancers&params={}&tab=MOCK&lang=GO
#tag_query_path = [ #tag_query_path = [
# "address:Address", # "address:Address",
# "name:LoadBalancerName", # "name:LoadBalancerName",
# "cluster_owner:Tags.Tag[?TagKey=='cs.cluster.name'].TagValue | [0]" # "cluster_owner:Tags.Tag[?TagKey=='cs.cluster.name'].TagValue | [0]"
# ] # ]
## The following tags added by default: regionId (if discovery enabled), userId, instanceId. ## The following tags added by default:
## regionId (if discovery enabled), userId, instanceId.
## Allow metrics without discovery data, if discovery is enabled. If set to true, then metric without discovery ## Allow metrics without discovery data, if discovery is enabled.
## data would be emitted, otherwise dropped. This cane be of help, in case debugging dimension filters, or partial coverage ## If set to true, then metric without discovery data would be emitted, otherwise dropped.
## of discovery scope vs monitoring scope ## This cane be of help, in case debugging dimension filters, or partial coverage of
#allow_dps_without_discovery = false ## discovery scope vs monitoring scope
# allow_dps_without_discovery = false

View File

@ -25,8 +25,9 @@ This plugin gathers sizes of Azure Storage Queues.
- account - account
- fields: - fields:
- size (integer, count) - size (integer, count)
- oldest_message_age_ns (integer, nanoseconds) Age of message at the head of the queue. - oldest_message_age_ns (integer, nanoseconds) Age of message at the head
Requires `peek_oldest_message_age` to be configured to `true`. of the queue. Requires `peek_oldest_message_age` to be configured
to `true`.
## Example Output ## Example Output

View File

@ -30,14 +30,15 @@ distros still do not enable support for JSON statistics in their BIND packages.
# timeout = "4s" # timeout = "4s"
``` ```
- **urls** []string: List of BIND statistics channel URLs to collect from. Do not include a - **urls** []string: List of BIND statistics channel URLs to collect from.
trailing slash in the URL. Default is "http://localhost:8053/xml/v3". Do not include a trailing slash in the URL.
Default is "http://localhost:8053/xml/v3".
- **gather_memory_contexts** bool: Report per-context memory statistics. - **gather_memory_contexts** bool: Report per-context memory statistics.
- **gather_views** bool: Report per-view query statistics. - **gather_views** bool: Report per-view query statistics.
- **timeout** Timeout for http requests made by bind nameserver (example: "4s"). - **timeout** Timeout for http requests made by bind (example: "4s").
The following table summarizes the URL formats which should be used, depending The following table summarizes the URL formats which should be used,
on your BIND version and configured statistics channel. depending on your BIND version and configured statistics channel.
| BIND Version | Statistics Format | Example URL | | BIND Version | Statistics Format | Example URL |
| ------------ | ----------------- | ----------------------------- | | ------------ | ----------------- | ----------------------------- |
@ -48,8 +49,8 @@ on your BIND version and configured statistics channel.
### Configuration of BIND Daemon ### Configuration of BIND Daemon
Add the following to your named.conf if running Telegraf on the same host as the Add the following to your named.conf if running Telegraf on the same host
BIND daemon: as the BIND daemon:
```json ```json
statistics-channels { statistics-channels {
@ -57,10 +58,11 @@ statistics-channels {
}; };
``` ```
Alternatively, specify a wildcard address (e.g., 0.0.0.0) or specific IP address Alternatively, specify a wildcard address (e.g., 0.0.0.0) or specific
of an interface to configure the BIND daemon to listen on that address. Note IP address of an interface to configure the BIND daemon to listen on that
that you should secure the statistics channel with an ACL if it is publicly address. Note that you should secure the statistics channel with an ACL if
reachable. Consult the BIND Administrator Reference Manual for more information. it is publicly reachable. Consult the BIND Administrator Reference Manual
for more information.
## Metrics ## Metrics

View File

@ -3,20 +3,28 @@
Collects performance metrics from the MON and OSD nodes in a Ceph storage Collects performance metrics from the MON and OSD nodes in a Ceph storage
cluster. cluster.
Ceph has introduced a Telegraf and Influx plugin in the 13.x Mimic release. The Ceph has introduced a Telegraf and Influx plugin in the 13.x Mimic release.
Telegraf module sends to a Telegraf configured with a socket_listener. [Learn The Telegraf module sends to a Telegraf configured with a socket_listener.
more in their docs](https://docs.ceph.com/en/latest/mgr/telegraf/) [Learn more in their docs](https://docs.ceph.com/en/latest/mgr/telegraf/)
## Admin Socket Stats ## Admin Socket Stats
This gatherer works by scanning the configured SocketDir for OSD, MON, MDS and This gatherer works by scanning the configured SocketDir for OSD, MON, MDS
RGW socket files. When it finds a MON socket, it runs **ceph --admin-daemon and RGW socket files. When it finds a MON socket, it runs
$file perfcounters_dump**. For OSDs it runs **ceph --admin-daemon $file perf
dump**
The resulting JSON is parsed and grouped into collections, based on top-level ```shell
key. Top-level keys are used as collection tags, and all sub-keys are ceph --admin-daemon $file perfcounters_dump
flattened. For example: ```
For OSDs it runs
```shell
ceph --admin-daemon $file perf dump
```
The resulting JSON is parsed and grouped into collections, based on
top-level key. Top-level keys are used as collection tags, and all
sub-keys are flattened. For example:
```json ```json
{ {
@ -30,8 +38,8 @@ flattened. For example:
} }
``` ```
Would be parsed into the following metrics, all of which would be tagged with Would be parsed into the following metrics, all of which would be tagged
collection=paxos: with `collection=paxos`:
- refresh = 9363435 - refresh = 9363435
- refresh_latency.avgcount: 9363435 - refresh_latency.avgcount: 9363435
@ -40,10 +48,10 @@ collection=paxos:
## Cluster Stats ## Cluster Stats
This gatherer works by invoking ceph commands against the cluster thus only This gatherer works by invoking ceph commands against the cluster thus only
requires the ceph client, valid ceph configuration and an access key to function requires the ceph client, valid ceph configuration and an access key to
(the ceph_config and ceph_user configuration variables work in conjunction to function (the ceph_config and ceph_user configuration variables work in
specify these prerequisites). It may be run on any server you wish which has conjunction to specify these prerequisites). It may be run on any server you
access to the cluster. The currently supported commands are: wish which has access to the cluster. The currently supported commands are:
- ceph status - ceph status
- ceph df - ceph df
@ -52,10 +60,11 @@ access to the cluster. The currently supported commands are:
## Configuration ## Configuration
```toml @sample.conf ```toml @sample.conf
# Collects performance metrics from the MON, OSD, MDS and RGW nodes in a Ceph storage cluster. # Collects performance metrics from the MON, OSD, MDS and RGW nodes
# in a Ceph storage cluster.
[[inputs.ceph]] [[inputs.ceph]]
## This is the recommended interval to poll. Too frequent and you will lose ## This is the recommended interval to poll. Too frequent and you
## data points due to timeouts during rebalancing and recovery ## will lose data points due to timeouts during rebalancing and recovery
interval = '1m' interval = '1m'
## All configuration values are optional, defaults are shown below ## All configuration values are optional, defaults are shown below
@ -75,9 +84,9 @@ access to the cluster. The currently supported commands are:
## suffix used to identify socket files ## suffix used to identify socket files
socket_suffix = "asok" socket_suffix = "asok"
## Ceph user to authenticate as, ceph will search for the corresponding keyring ## Ceph user to authenticate as, ceph will search for the corresponding
## e.g. client.admin.keyring in /etc/ceph, or the explicit path defined in the ## keyring e.g. client.admin.keyring in /etc/ceph, or the explicit path
## client section of ceph.conf for example: ## defined in the client section of ceph.conf for example:
## ##
## [client.telegraf] ## [client.telegraf]
## keyring = /etc/ceph/client.telegraf.keyring ## keyring = /etc/ceph/client.telegraf.keyring
@ -91,8 +100,8 @@ access to the cluster. The currently supported commands are:
## Whether to gather statistics via the admin socket ## Whether to gather statistics via the admin socket
gather_admin_socket_stats = true gather_admin_socket_stats = true
## Whether to gather statistics via ceph commands, requires ceph_user and ceph_config ## Whether to gather statistics via ceph commands, requires ceph_user
## to be specified ## and ceph_config to be specified
gather_cluster_stats = false gather_cluster_stats = false
``` ```
@ -105,9 +114,10 @@ float64s. For a full list of fields, see the sample perf dumps in ceph_test.go.
All admin measurements will have the following tags: All admin measurements will have the following tags:
- type: either 'osd', 'mon', 'mds' or 'rgw' to indicate which type of node was queried - type: either 'osd', 'mon', 'mds' or 'rgw' to indicate the queried node type
- id: a unique string identifier, parsed from the socket file name for the node - id: a unique string identifier, parsed from the socket file name for the node
- collection: the top-level key under which these fields were reported. Possible values are: - collection: the top-level key under which these fields were reported.
Possible values are:
- for MON nodes: - for MON nodes:
- cluster - cluster
- leveldb - leveldb

View File

@ -1,7 +1,8 @@
# Collects performance metrics from the MON, OSD, MDS and RGW nodes in a Ceph storage cluster. # Collects performance metrics from the MON, OSD, MDS and RGW nodes
# in a Ceph storage cluster.
[[inputs.ceph]] [[inputs.ceph]]
## This is the recommended interval to poll. Too frequent and you will lose ## This is the recommended interval to poll. Too frequent and you
## data points due to timeouts during rebalancing and recovery ## will lose data points due to timeouts during rebalancing and recovery
interval = '1m' interval = '1m'
## All configuration values are optional, defaults are shown below ## All configuration values are optional, defaults are shown below
@ -21,9 +22,9 @@
## suffix used to identify socket files ## suffix used to identify socket files
socket_suffix = "asok" socket_suffix = "asok"
## Ceph user to authenticate as, ceph will search for the corresponding keyring ## Ceph user to authenticate as, ceph will search for the corresponding
## e.g. client.admin.keyring in /etc/ceph, or the explicit path defined in the ## keyring e.g. client.admin.keyring in /etc/ceph, or the explicit path
## client section of ceph.conf for example: ## defined in the client section of ceph.conf for example:
## ##
## [client.telegraf] ## [client.telegraf]
## keyring = /etc/ceph/client.telegraf.keyring ## keyring = /etc/ceph/client.telegraf.keyring
@ -37,6 +38,6 @@
## Whether to gather statistics via the admin socket ## Whether to gather statistics via the admin socket
gather_admin_socket_stats = true gather_admin_socket_stats = true
## Whether to gather statistics via ceph commands, requires ceph_user and ceph_config ## Whether to gather statistics via ceph commands, requires ceph_user
## to be specified ## and ceph_config to be specified
gather_cluster_stats = false gather_cluster_stats = false

View File

@ -9,38 +9,35 @@ This plugin gathers the statistic data from
# Read metrics from one or many ClickHouse servers # Read metrics from one or many ClickHouse servers
[[inputs.clickhouse]] [[inputs.clickhouse]]
## Username for authorization on ClickHouse server ## Username for authorization on ClickHouse server
## example: username = "default"
username = "default" username = "default"
## Password for authorization on ClickHouse server ## Password for authorization on ClickHouse server
## example: password = "super_secret" # password = ""
## HTTP(s) timeout while getting metrics values ## HTTP(s) timeout while getting metrics values
## The timeout includes connection time, any redirects, and reading the response body. ## The timeout includes connection time, any redirects, and reading the
## example: timeout = 1s ## response body.
# timeout = 5s # timeout = 5s
## List of servers for metrics scraping ## List of servers for metrics scraping
## metrics scrape via HTTP(s) clickhouse interface ## metrics scrape via HTTP(s) clickhouse interface
## https://clickhouse.tech/docs/en/interfaces/http/ ## https://clickhouse.tech/docs/en/interfaces/http/
## example: servers = ["http://127.0.0.1:8123","https://custom-server.mdb.yandexcloud.net"] servers = ["http://127.0.0.1:8123"]
servers = ["http://127.0.0.1:8123"]
## If "auto_discovery"" is "true" plugin tries to connect to all servers available in the cluster ## If "auto_discovery"" is "true" plugin tries to connect to all servers
## with using same "user:password" described in "user" and "password" parameters ## available in the cluster with using same "user:password" described in
## and get this server hostname list from "system.clusters" table ## "user" and "password" parameters and get this server hostname list from
## see ## "system.clusters" table. See
## - https://clickhouse.tech/docs/en/operations/system_tables/#system-clusters ## - https://clickhouse.tech/docs/en/operations/system_tables/#system-clusters
## - https://clickhouse.tech/docs/en/operations/server_settings/settings/#server_settings_remote_servers ## - https://clickhouse.tech/docs/en/operations/server_settings/settings/#server_settings_remote_servers
## - https://clickhouse.tech/docs/en/operations/table_engines/distributed/ ## - https://clickhouse.tech/docs/en/operations/table_engines/distributed/
## - https://clickhouse.tech/docs/en/operations/table_engines/replication/#creating-replicated-tables ## - https://clickhouse.tech/docs/en/operations/table_engines/replication/#creating-replicated-tables
## example: auto_discovery = false
# auto_discovery = true # auto_discovery = true
## Filter cluster names in "system.clusters" when "auto_discovery" is "true" ## Filter cluster names in "system.clusters" when "auto_discovery" is "true"
## when this filter present then "WHERE cluster IN (...)" filter will apply ## when this filter present then "WHERE cluster IN (...)" filter will apply
## please use only full cluster names here, regexp and glob filters is not allowed ## please use only full cluster names here, regexp and glob filters is not
## for "/etc/clickhouse-server/config.d/remote.xml" ## allowed for "/etc/clickhouse-server/config.d/remote.xml"
## <yandex> ## <yandex>
## <remote_servers> ## <remote_servers>
## <my-own-cluster> ## <my-own-cluster>
@ -60,8 +57,9 @@ This plugin gathers the statistic data from
## example: cluster_include = ["my-own-cluster"] ## example: cluster_include = ["my-own-cluster"]
# cluster_include = [] # cluster_include = []
## Filter cluster names in "system.clusters" when "auto_discovery" is "true" ## Filter cluster names in "system.clusters" when "auto_discovery" is
## when this filter present then "WHERE cluster NOT IN (...)" filter will apply ## "true" when this filter present then "WHERE cluster NOT IN (...)"
## filter will apply
## example: cluster_exclude = ["my-internal-not-discovered-cluster"] ## example: cluster_exclude = ["my-internal-not-discovered-cluster"]
# cluster_exclude = [] # cluster_exclude = []
@ -75,7 +73,7 @@ This plugin gathers the statistic data from
## Metrics ## Metrics
- clickhouse_events - clickhouse_events (see [system.events][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
@ -83,7 +81,7 @@ This plugin gathers the statistic data from
- fields: - fields:
- all rows from [system.events][] - all rows from [system.events][]
- clickhouse_metrics - clickhouse_metrics (see [system.metrics][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
@ -91,7 +89,8 @@ This plugin gathers the statistic data from
- fields: - fields:
- all rows from [system.metrics][] - all rows from [system.metrics][]
- clickhouse_asynchronous_metrics - clickhouse_asynchronous_metrics (see [system.asynchronous_metrics][]
for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
@ -111,51 +110,56 @@ This plugin gathers the statistic data from
- parts - parts
- rows - rows
- clickhouse_zookeeper - clickhouse_zookeeper (see [system.zookeeper][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- fields: - fields:
- root_nodes (count of node from [system.zookeeper][] where path=/) - root_nodes (count of node where path=/)
- clickhouse_replication_queue - clickhouse_replication_queue (see [system.replication_queue][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- fields: - fields:
- too_many_tries_replicas (count of replicas which have num_tries > 1 in `system.replication_queue`) - too_many_tries_replicas (count of replicas which have `num_tries > 1`)
- clickhouse_detached_parts - clickhouse_detached_parts (see [system.detached_parts][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- fields: - fields:
- detached_parts (total detached parts for all tables and databases from [system.detached_parts][]) - detached_parts (total detached parts for all tables and databases
from [system.detached_parts][])
- clickhouse_dictionaries - clickhouse_dictionaries (see [system.dictionaries][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- dict_origin (xml Filename when dictionary created from *_dictionary.xml, database.table when dictionary created from DDL) - dict_origin (xml Filename when dictionary created from *_dictionary.xml,
database.table when dictionary created from DDL)
- fields: - fields:
- is_loaded (0 - when dictionary data not successful load, 1 - when dictionary data loading fail, see [system.dictionaries][] for details) - is_loaded (0 - when dictionary data not successful load, 1 - when
- bytes_allocated (how many bytes allocated in RAM after a dictionary loaded) dictionary data loading fail
- bytes_allocated (bytes allocated in RAM after a dictionary loaded)
- clickhouse_mutations - clickhouse_mutations (see [system.mutations][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- fields: - fields:
- running - gauge which show how much mutation doesn't complete now, see [system.mutations][] for details - running - gauge which show how much mutation doesn't complete now
- failed - counter which show total failed mutations from first clickhouse-server run - failed - counter which show total failed mutations from first
- completed - counter which show total successful finished mutations from first clickhouse-server run clickhouse-server run
- completed - counter which show total successful finished mutations
from first clickhouse-server run
- clickhouse_disks - clickhouse_disks (see [system.disks][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
@ -163,25 +167,31 @@ This plugin gathers the statistic data from
- name (disk name in storage configuration) - name (disk name in storage configuration)
- path (path to disk) - path (path to disk)
- fields: - fields:
- free_space_percent - 0-100, gauge which show current percent of free disk space bytes relative to total disk space bytes - free_space_percent - 0-100, gauge which show current percent of
- keep_free_space_percent - 0-100, gauge which show current percent of required keep free disk bytes relative to total disk space bytes free disk space bytes relative to total disk space bytes
- keep_free_space_percent - 0-100, gauge which show current percent
of required keep free disk bytes relative to total disk space bytes
- clickhouse_processes - clickhouse_processes (see [system.processes][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- fields: - fields:
- percentile_50 - float gauge which show 50% percentile (quantile 0.5) for `elapsed` field of running processes, see [system.processes][] for details - percentile_50 - float gauge which show 50% percentile (quantile 0.5) for
- percentile_90 - float gauge which show 90% percentile (quantile 0.9) for `elapsed` field of running processes, see [system.processes][] for details `elapsed` field of running processes
- longest_running - float gauge which show maximum value for `elapsed` field of running processes, see [system.processes][] for details - percentile_90 - float gauge which show 90% percentile (quantile 0.9) for
`elapsed` field of running processes
- longest_running - float gauge which show maximum value for `elapsed`
field of running processes
- clickhouse_text_log - clickhouse_text_log (see [system.text_log][] for details)
- tags: - tags:
- source (ClickHouse server hostname) - source (ClickHouse server hostname)
- cluster (Name of the cluster [optional]) - cluster (Name of the cluster [optional])
- shard_num (Shard number in the cluster [optional]) - shard_num (Shard number in the cluster [optional])
- level (message level, only message with level less or equal Notice is collects), see details on [system.text_log][] - level (message level, only messages with level less or equal Notice are
collected)
- fields: - fields:
- messages_last_10_min - gauge which show how many messages collected - messages_last_10_min - gauge which show how many messages collected
@ -195,13 +205,14 @@ clickhouse_tables,cluster=test_cluster_two_shards_localhost,database=system,host
clickhouse_tables,cluster=test_cluster_two_shards_localhost,database=default,host=kshvakov,source=localhost,shard_num=1,table=example bytes=326i,parts=2i,rows=2i 1569421000000000000 clickhouse_tables,cluster=test_cluster_two_shards_localhost,database=default,host=kshvakov,source=localhost,shard_num=1,table=example bytes=326i,parts=2i,rows=2i 1569421000000000000
``` ```
[system.events]: https://clickhouse.tech/docs/en/operations/system-tables/events/
[system.metrics]: https://clickhouse.tech/docs/en/operations/system-tables/metrics/
[system.asynchronous_metrics]: https://clickhouse.tech/docs/en/operations/system-tables/asynchronous_metrics/ [system.asynchronous_metrics]: https://clickhouse.tech/docs/en/operations/system-tables/asynchronous_metrics/
[system.zookeeper]: https://clickhouse.tech/docs/en/operations/system-tables/zookeeper/
[system.detached_parts]: https://clickhouse.tech/docs/en/operations/system-tables/detached_parts/ [system.detached_parts]: https://clickhouse.tech/docs/en/operations/system-tables/detached_parts/
[system.dictionaries]: https://clickhouse.tech/docs/en/operations/system-tables/dictionaries/ [system.dictionaries]: https://clickhouse.tech/docs/en/operations/system-tables/dictionaries/
[system.mutations]: https://clickhouse.tech/docs/en/operations/system-tables/mutations/
[system.disks]: https://clickhouse.tech/docs/en/operations/system-tables/disks/ [system.disks]: https://clickhouse.tech/docs/en/operations/system-tables/disks/
[system.events]: https://clickhouse.tech/docs/en/operations/system-tables/events/
[system.metrics]: https://clickhouse.tech/docs/en/operations/system-tables/metrics/
[system.mutations]: https://clickhouse.tech/docs/en/operations/system-tables/mutations/
[system.processes]: https://clickhouse.tech/docs/en/operations/system-tables/processes/ [system.processes]: https://clickhouse.tech/docs/en/operations/system-tables/processes/
[system.replication_queue]:https://clickhouse.com/docs/en/operations/system-tables/replication_queue/
[system.text_log]: https://clickhouse.tech/docs/en/operations/system-tables/text_log/ [system.text_log]: https://clickhouse.tech/docs/en/operations/system-tables/text_log/
[system.zookeeper]: https://clickhouse.tech/docs/en/operations/system-tables/zookeeper/

View File

@ -1,38 +1,35 @@
# Read metrics from one or many ClickHouse servers # Read metrics from one or many ClickHouse servers
[[inputs.clickhouse]] [[inputs.clickhouse]]
## Username for authorization on ClickHouse server ## Username for authorization on ClickHouse server
## example: username = "default"
username = "default" username = "default"
## Password for authorization on ClickHouse server ## Password for authorization on ClickHouse server
## example: password = "super_secret" # password = ""
## HTTP(s) timeout while getting metrics values ## HTTP(s) timeout while getting metrics values
## The timeout includes connection time, any redirects, and reading the response body. ## The timeout includes connection time, any redirects, and reading the
## example: timeout = 1s ## response body.
# timeout = 5s # timeout = 5s
## List of servers for metrics scraping ## List of servers for metrics scraping
## metrics scrape via HTTP(s) clickhouse interface ## metrics scrape via HTTP(s) clickhouse interface
## https://clickhouse.tech/docs/en/interfaces/http/ ## https://clickhouse.tech/docs/en/interfaces/http/
## example: servers = ["http://127.0.0.1:8123","https://custom-server.mdb.yandexcloud.net"] servers = ["http://127.0.0.1:8123"]
servers = ["http://127.0.0.1:8123"]
## If "auto_discovery"" is "true" plugin tries to connect to all servers available in the cluster ## If "auto_discovery"" is "true" plugin tries to connect to all servers
## with using same "user:password" described in "user" and "password" parameters ## available in the cluster with using same "user:password" described in
## and get this server hostname list from "system.clusters" table ## "user" and "password" parameters and get this server hostname list from
## see ## "system.clusters" table. See
## - https://clickhouse.tech/docs/en/operations/system_tables/#system-clusters ## - https://clickhouse.tech/docs/en/operations/system_tables/#system-clusters
## - https://clickhouse.tech/docs/en/operations/server_settings/settings/#server_settings_remote_servers ## - https://clickhouse.tech/docs/en/operations/server_settings/settings/#server_settings_remote_servers
## - https://clickhouse.tech/docs/en/operations/table_engines/distributed/ ## - https://clickhouse.tech/docs/en/operations/table_engines/distributed/
## - https://clickhouse.tech/docs/en/operations/table_engines/replication/#creating-replicated-tables ## - https://clickhouse.tech/docs/en/operations/table_engines/replication/#creating-replicated-tables
## example: auto_discovery = false
# auto_discovery = true # auto_discovery = true
## Filter cluster names in "system.clusters" when "auto_discovery" is "true" ## Filter cluster names in "system.clusters" when "auto_discovery" is "true"
## when this filter present then "WHERE cluster IN (...)" filter will apply ## when this filter present then "WHERE cluster IN (...)" filter will apply
## please use only full cluster names here, regexp and glob filters is not allowed ## please use only full cluster names here, regexp and glob filters is not
## for "/etc/clickhouse-server/config.d/remote.xml" ## allowed for "/etc/clickhouse-server/config.d/remote.xml"
## <yandex> ## <yandex>
## <remote_servers> ## <remote_servers>
## <my-own-cluster> ## <my-own-cluster>
@ -52,8 +49,9 @@
## example: cluster_include = ["my-own-cluster"] ## example: cluster_include = ["my-own-cluster"]
# cluster_include = [] # cluster_include = []
## Filter cluster names in "system.clusters" when "auto_discovery" is "true" ## Filter cluster names in "system.clusters" when "auto_discovery" is
## when this filter present then "WHERE cluster NOT IN (...)" filter will apply ## "true" when this filter present then "WHERE cluster NOT IN (...)"
## filter will apply
## example: cluster_exclude = ["my-internal-not-discovered-cluster"] ## example: cluster_exclude = ["my-internal-not-discovered-cluster"]
# cluster_exclude = [] # cluster_exclude = []

View File

@ -1,11 +1,12 @@
# Google Cloud PubSub Push Input Plugin # Google Cloud PubSub Push Input Plugin
The Google Cloud PubSub Push listener is a service input plugin that listens for The Google Cloud PubSub Push listener is a service input plugin that listens
messages sent via an HTTP POST from [Google Cloud PubSub][pubsub]. The plugin for messages sent via an HTTP POST from [Google Cloud PubSub][pubsub].
expects messages in Google's Pub/Sub JSON Format ONLY. The intent of the plugin The plugin expects messages in Google's Pub/Sub JSON Format ONLY. The intent
is to allow Telegraf to serve as an endpoint of the Google Pub/Sub 'Push' of the plugin is to allow Telegraf to serve as an endpoint of the
service. Google's PubSub service will **only** send over HTTPS/TLS so this Google Pub/Sub 'Push' service. Google's PubSub service will **only** send
plugin must be behind a valid proxy or must be configured to use TLS. over HTTPS/TLS so this plugin must be behind a valid proxy or must be
configured to use TLS.
Enable TLS by specifying the file names of a service TLS certificate and key. Enable TLS by specifying the file names of a service TLS certificate and key.
@ -29,16 +30,17 @@ in `tls_allowed_cacerts`.
## Maximum duration before timing out read of the request ## Maximum duration before timing out read of the request
# read_timeout = "10s" # read_timeout = "10s"
## Maximum duration before timing out write of the response. This should be set to a value ## Maximum duration before timing out write of the response. This should be
## large enough that you can send at least 'metric_batch_size' number of messages within the ## set to a value large enough that you can send at least 'metric_batch_size'
## duration. ## number of messages within the duration.
# write_timeout = "10s" # write_timeout = "10s"
## Maximum allowed http request body size in bytes. ## Maximum allowed http request body size in bytes.
## 0 means to use the default of 524,288,00 bytes (500 mebibytes) ## 0 means to use the default of 524,288,00 bytes (500 mebibytes)
# max_body_size = "500MB" # max_body_size = "500MB"
## Whether to add the pubsub metadata, such as message attributes and subscription as a tag. ## Whether to add the pubsub metadata, such as message attributes and
## subscription as a tag.
# add_meta = false # add_meta = false
## Optional. Maximum messages to read from PubSub that have not been written ## Optional. Maximum messages to read from PubSub that have not been written
@ -71,4 +73,3 @@ This plugin assumes you have already created a PUSH subscription for a given
PubSub topic. PubSub topic.
[pubsub]: https://cloud.google.com/pubsub [pubsub]: https://cloud.google.com/pubsub
[input data formats]: /docs/DATA_FORMATS_INPUT.md

View File

@ -11,16 +11,17 @@
## Maximum duration before timing out read of the request ## Maximum duration before timing out read of the request
# read_timeout = "10s" # read_timeout = "10s"
## Maximum duration before timing out write of the response. This should be set to a value ## Maximum duration before timing out write of the response. This should be
## large enough that you can send at least 'metric_batch_size' number of messages within the ## set to a value large enough that you can send at least 'metric_batch_size'
## duration. ## number of messages within the duration.
# write_timeout = "10s" # write_timeout = "10s"
## Maximum allowed http request body size in bytes. ## Maximum allowed http request body size in bytes.
## 0 means to use the default of 524,288,00 bytes (500 mebibytes) ## 0 means to use the default of 524,288,00 bytes (500 mebibytes)
# max_body_size = "500MB" # max_body_size = "500MB"
## Whether to add the pubsub metadata, such as message attributes and subscription as a tag. ## Whether to add the pubsub metadata, such as message attributes and
## subscription as a tag.
# add_meta = false # add_meta = false
## Optional. Maximum messages to read from PubSub that have not been written ## Optional. Maximum messages to read from PubSub that have not been written

View File

@ -7,12 +7,13 @@ This plugin will pull Metric Statistics from Amazon CloudWatch.
This plugin uses a credential chain for Authentication with the CloudWatch This plugin uses a credential chain for Authentication with the CloudWatch
API endpoint. In the following order the plugin will attempt to authenticate. API endpoint. In the following order the plugin will attempt to authenticate.
1. Assumed credentials via STS if `role_arn` attribute is specified (source credentials are evaluated from subsequent rules) 1. Assumed credentials via STS if `role_arn` attribute is specified
(source credentials are evaluated from subsequent rules)
2. Explicit credentials from `access_key`, `secret_key`, and `token` attributes 2. Explicit credentials from `access_key`, `secret_key`, and `token` attributes
3. Shared profile from `profile` attribute 3. Shared profile from `profile` attribute
4. [Environment Variables](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#environment-variables) 4. [Environment Variables][env]
5. [Shared Credentials](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#shared-credentials-file) 5. [Shared Credentials][credentials]
6. [EC2 Instance Profile](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) 6. [EC2 Instance Profile][iam-roles]
## Configuration ## Configuration
@ -24,7 +25,8 @@ API endpoint. In the following order the plugin will attempt to authenticate.
## Amazon Credentials ## Amazon Credentials
## Credentials are loaded in the following order ## Credentials are loaded in the following order
## 1) Web identity provider credentials via STS if role_arn and web_identity_token_file are specified ## 1) Web identity provider credentials via STS if role_arn and
## web_identity_token_file are specified
## 2) Assumed credentials via STS if role_arn is specified ## 2) Assumed credentials via STS if role_arn is specified
## 3) explicit credentials from 'access_key' and 'secret_key' ## 3) explicit credentials from 'access_key' and 'secret_key'
## 4) shared profile from 'profile' ## 4) shared profile from 'profile'
@ -50,27 +52,33 @@ API endpoint. In the following order the plugin will attempt to authenticate.
# use_system_proxy = false # use_system_proxy = false
# http_proxy_url = "http://localhost:8888" # http_proxy_url = "http://localhost:8888"
# The minimum period for Cloudwatch metrics is 1 minute (60s). However not all ## The minimum period for Cloudwatch metrics is 1 minute (60s). However not
# metrics are made available to the 1 minute period. Some are collected at ## all metrics are made available to the 1 minute period. Some are collected
# 3 minute, 5 minute, or larger intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring. ## at 3 minute, 5 minute, or larger intervals.
# Note that if a period is configured that is smaller than the minimum for a ## See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
# particular metric, that metric will not be returned by the Cloudwatch API ## Note that if a period is configured that is smaller than the minimum for a
# and will not be collected by Telegraf. ## particular metric, that metric will not be returned by the Cloudwatch API
## and will not be collected by Telegraf.
# #
## Requested CloudWatch aggregation Period (required - must be a multiple of 60s) ## Requested CloudWatch aggregation Period (required)
## Must be a multiple of 60s.
period = "5m" period = "5m"
## Collection Delay (required - must account for metrics availability via CloudWatch API) ## Collection Delay (required)
## Must account for metrics availability via CloudWatch API
delay = "5m" delay = "5m"
## Recommended: use metric 'interval' that is a multiple of 'period' to avoid ## Recommended: use metric 'interval' that is a multiple of 'period' to avoid
## gaps or overlap in pulled data ## gaps or overlap in pulled data
interval = "5m" interval = "5m"
## Recommended if "delay" and "period" are both within 3 hours of request time. Invalid values will be ignored. ## Recommended if "delay" and "period" are both within 3 hours of request
## Recently Active feature will only poll for CloudWatch ListMetrics values that occurred within the last 3 Hours. ## time. Invalid values will be ignored. Recently Active feature will only
## If enabled, it will reduce total API usage of the CloudWatch ListMetrics API and require less memory to retain. ## poll for CloudWatch ListMetrics values that occurred within the last 3h.
## Do not enable if "period" or "delay" is longer than 3 hours, as it will not return data more than 3 hours old. ## If enabled, it will reduce total API usage of the CloudWatch ListMetrics
## API and require less memory to retain.
## Do not enable if "period" or "delay" is longer than 3 hours, as it will
## not return data more than 3 hours old.
## See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html ## See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html
#recently_active = "PT3H" #recently_active = "PT3H"
@ -79,12 +87,12 @@ API endpoint. In the following order the plugin will attempt to authenticate.
## Metric Statistic Namespaces (required) ## Metric Statistic Namespaces (required)
namespaces = ["AWS/ELB"] namespaces = ["AWS/ELB"]
# A single metric statistic namespace that will be appended to namespaces on startup ## Single metric statistic namespace appended to namespaces on startup
# namespace = "AWS/ELB" # namespace = "AWS/ELB"
## Maximum requests per second. Note that the global default AWS rate limit is ## Maximum requests per second. Note that the global default AWS rate limit
## 50 reqs/sec, so if you define multiple namespaces, these should add up to a ## is 50 reqs/sec, so if you define multiple namespaces, these should add up
## maximum of 50. ## to a maximum of 50.
## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html ## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html
# ratelimit = 25 # ratelimit = 25
@ -99,7 +107,7 @@ API endpoint. In the following order the plugin will attempt to authenticate.
## Namespace-wide statistic filters. These allow fewer queries to be made to ## Namespace-wide statistic filters. These allow fewer queries to be made to
## cloudwatch. ## cloudwatch.
# statistic_include = [ "average", "sum", "minimum", "maximum", sample_count" ] # statistic_include = ["average", "sum", "minimum", "maximum", sample_count"]
# statistic_exclude = [] # statistic_exclude = []
## Metrics to Pull ## Metrics to Pull
@ -110,11 +118,12 @@ API endpoint. In the following order the plugin will attempt to authenticate.
# #
# ## Statistic filters for Metric. These allow for retrieving specific # ## Statistic filters for Metric. These allow for retrieving specific
# ## statistics for an individual metric. # ## statistics for an individual metric.
# # statistic_include = [ "average", "sum", "minimum", "maximum", sample_count" ] # # statistic_include = ["average", "sum", "minimum", "maximum", sample_count"]
# # statistic_exclude = [] # # statistic_exclude = []
# #
# ## Dimension filters for Metric. All dimensions defined for the metric names # ## Dimension filters for Metric.
# ## must be specified in order to retrieve the metric statistics. # ## All dimensions defined for the metric names must be specified in order
# ## to retrieve the metric statistics.
# ## 'value' has wildcard / 'glob' matching support such as 'p-*'. # ## 'value' has wildcard / 'glob' matching support such as 'p-*'.
# [[inputs.cloudwatch.metrics.dimensions]] # [[inputs.cloudwatch.metrics.dimensions]]
# name = "LoadBalancerName" # name = "LoadBalancerName"
@ -123,14 +132,14 @@ API endpoint. In the following order the plugin will attempt to authenticate.
## Requirements and Terminology ## Requirements and Terminology
Plugin Configuration utilizes [CloudWatch concepts][1] and access pattern to Plugin Configuration utilizes [CloudWatch concepts][concept] and access pattern to
allow monitoring of any CloudWatch Metric. allow monitoring of any CloudWatch Metric.
- `region` must be a valid AWS [Region](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#CloudWatchRegions) value - `region` must be a valid AWS [region][] value
- `period` must be a valid CloudWatch [Period](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#CloudWatchPeriods) value - `period` must be a valid CloudWatch [period][] value
- `namespace` must be a valid CloudWatch [Namespace](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Namespace) value - `namespace` must be a valid CloudWatch [namespace][] value
- `names` must be valid CloudWatch [Metric](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Metric) names - `names` must be valid CloudWatch [metric][] names
- `dimensions` must be valid CloudWatch [Dimension](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension) name/value pairs - `dimensions` must be valid CloudWatch [dimension][] name/value pairs
Omitting or specifying a value of `'*'` for a dimension value configures all Omitting or specifying a value of `'*'` for a dimension value configures all
available metrics that contain a dimension with the specified name to be available metrics that contain a dimension with the specified name to be
@ -178,12 +187,12 @@ To maximize efficiency and savings, consider making fewer requests by increasing
reported. The above example will request metrics from Cloudwatch every 5 minutes reported. The above example will request metrics from Cloudwatch every 5 minutes
but will output five metrics timestamped one minute apart. but will output five metrics timestamped one minute apart.
[1]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html
## Restrictions and Limitations ## Restrictions and Limitations
- CloudWatch metrics are not available instantly via the CloudWatch API. You should adjust your collection `delay` to account for this lag in metrics availability based on your [monitoring subscription level](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) - CloudWatch metrics are not available instantly via the CloudWatch API.
- CloudWatch API usage incurs cost - see [GetMetricData Pricing](https://aws.amazon.com/cloudwatch/pricing/) You should adjust your collection `delay` to account for this lag in metrics
availability based on your [monitoring subscription level][using]
- CloudWatch API usage incurs cost - see [GetMetricData Pricing][pricing]
## Metrics ## Metrics
@ -206,7 +215,7 @@ case](https://en.wikipedia.org/wiki/Snake_case)
- All measurements have the following tags: - All measurements have the following tags:
- region (CloudWatch Region) - region (CloudWatch Region)
- {dimension-name} (Cloudwatch Dimension value - one for each metric dimension) - {dimension-name} (Cloudwatch Dimension value - one per metric dimension)
## Troubleshooting ## Troubleshooting
@ -252,3 +261,15 @@ aws cloudwatch get-metric-data \
$ ./telegraf --config telegraf.conf --input-filter cloudwatch --test $ ./telegraf --config telegraf.conf --input-filter cloudwatch --test
> cloudwatch_aws_elb,load_balancer_name=p-example,region=us-east-1 latency_average=0.004810798017284538,latency_maximum=0.1100282669067383,latency_minimum=0.0006084442138671875,latency_sample_count=4029,latency_sum=19.382705211639404 1459542420000000000 > cloudwatch_aws_elb,load_balancer_name=p-example,region=us-east-1 latency_average=0.004810798017284538,latency_maximum=0.1100282669067383,latency_minimum=0.0006084442138671875,latency_sample_count=4029,latency_sum=19.382705211639404 1459542420000000000
``` ```
[concept]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html
[credentials]: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#shared-credentials-file
[dimension]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension
[env]: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#environment-variables
[iam-roles]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
[metric]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Metric
[namespace]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Namespace
[period]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#CloudWatchPeriods
[pricing]: https://aws.amazon.com/cloudwatch/pricing/
[region]: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#CloudWatchRegions
[using]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html

View File

@ -5,7 +5,8 @@
## Amazon Credentials ## Amazon Credentials
## Credentials are loaded in the following order ## Credentials are loaded in the following order
## 1) Web identity provider credentials via STS if role_arn and web_identity_token_file are specified ## 1) Web identity provider credentials via STS if role_arn and
## web_identity_token_file are specified
## 2) Assumed credentials via STS if role_arn is specified ## 2) Assumed credentials via STS if role_arn is specified
## 3) explicit credentials from 'access_key' and 'secret_key' ## 3) explicit credentials from 'access_key' and 'secret_key'
## 4) shared profile from 'profile' ## 4) shared profile from 'profile'
@ -31,27 +32,33 @@
# use_system_proxy = false # use_system_proxy = false
# http_proxy_url = "http://localhost:8888" # http_proxy_url = "http://localhost:8888"
# The minimum period for Cloudwatch metrics is 1 minute (60s). However not all ## The minimum period for Cloudwatch metrics is 1 minute (60s). However not
# metrics are made available to the 1 minute period. Some are collected at ## all metrics are made available to the 1 minute period. Some are collected
# 3 minute, 5 minute, or larger intervals. See https://aws.amazon.com/cloudwatch/faqs/#monitoring. ## at 3 minute, 5 minute, or larger intervals.
# Note that if a period is configured that is smaller than the minimum for a ## See https://aws.amazon.com/cloudwatch/faqs/#monitoring.
# particular metric, that metric will not be returned by the Cloudwatch API ## Note that if a period is configured that is smaller than the minimum for a
# and will not be collected by Telegraf. ## particular metric, that metric will not be returned by the Cloudwatch API
## and will not be collected by Telegraf.
# #
## Requested CloudWatch aggregation Period (required - must be a multiple of 60s) ## Requested CloudWatch aggregation Period (required)
## Must be a multiple of 60s.
period = "5m" period = "5m"
## Collection Delay (required - must account for metrics availability via CloudWatch API) ## Collection Delay (required)
## Must account for metrics availability via CloudWatch API
delay = "5m" delay = "5m"
## Recommended: use metric 'interval' that is a multiple of 'period' to avoid ## Recommended: use metric 'interval' that is a multiple of 'period' to avoid
## gaps or overlap in pulled data ## gaps or overlap in pulled data
interval = "5m" interval = "5m"
## Recommended if "delay" and "period" are both within 3 hours of request time. Invalid values will be ignored. ## Recommended if "delay" and "period" are both within 3 hours of request
## Recently Active feature will only poll for CloudWatch ListMetrics values that occurred within the last 3 Hours. ## time. Invalid values will be ignored. Recently Active feature will only
## If enabled, it will reduce total API usage of the CloudWatch ListMetrics API and require less memory to retain. ## poll for CloudWatch ListMetrics values that occurred within the last 3h.
## Do not enable if "period" or "delay" is longer than 3 hours, as it will not return data more than 3 hours old. ## If enabled, it will reduce total API usage of the CloudWatch ListMetrics
## API and require less memory to retain.
## Do not enable if "period" or "delay" is longer than 3 hours, as it will
## not return data more than 3 hours old.
## See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html ## See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html
#recently_active = "PT3H" #recently_active = "PT3H"
@ -60,12 +67,12 @@
## Metric Statistic Namespaces (required) ## Metric Statistic Namespaces (required)
namespaces = ["AWS/ELB"] namespaces = ["AWS/ELB"]
# A single metric statistic namespace that will be appended to namespaces on startup ## Single metric statistic namespace appended to namespaces on startup
# namespace = "AWS/ELB" # namespace = "AWS/ELB"
## Maximum requests per second. Note that the global default AWS rate limit is ## Maximum requests per second. Note that the global default AWS rate limit
## 50 reqs/sec, so if you define multiple namespaces, these should add up to a ## is 50 reqs/sec, so if you define multiple namespaces, these should add up
## maximum of 50. ## to a maximum of 50.
## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html ## See http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html
# ratelimit = 25 # ratelimit = 25
@ -80,7 +87,7 @@
## Namespace-wide statistic filters. These allow fewer queries to be made to ## Namespace-wide statistic filters. These allow fewer queries to be made to
## cloudwatch. ## cloudwatch.
# statistic_include = [ "average", "sum", "minimum", "maximum", sample_count" ] # statistic_include = ["average", "sum", "minimum", "maximum", sample_count"]
# statistic_exclude = [] # statistic_exclude = []
## Metrics to Pull ## Metrics to Pull
@ -91,11 +98,12 @@
# #
# ## Statistic filters for Metric. These allow for retrieving specific # ## Statistic filters for Metric. These allow for retrieving specific
# ## statistics for an individual metric. # ## statistics for an individual metric.
# # statistic_include = [ "average", "sum", "minimum", "maximum", sample_count" ] # # statistic_include = ["average", "sum", "minimum", "maximum", sample_count"]
# # statistic_exclude = [] # # statistic_exclude = []
# #
# ## Dimension filters for Metric. All dimensions defined for the metric names # ## Dimension filters for Metric.
# ## must be specified in order to retrieve the metric statistics. # ## All dimensions defined for the metric names must be specified in order
# ## to retrieve the metric statistics.
# ## 'value' has wildcard / 'glob' matching support such as 'p-*'. # ## 'value' has wildcard / 'glob' matching support such as 'p-*'.
# [[inputs.cloudwatch.metrics.dimensions]] # [[inputs.cloudwatch.metrics.dimensions]]
# name = "LoadBalancerName" # name = "LoadBalancerName"

View File

@ -1,8 +1,7 @@
# CloudWatch Metric Streams Input Plugin # CloudWatch Metric Streams Input Plugin
The CloudWatch Metric Streams plugin is a service input plugin that The CloudWatch Metric Streams plugin is a service input plugin that listens
listens for metrics sent via HTTP and performs the required for metrics sent via HTTP and performs the required processing for
processing for
[Metric Streams from AWS](#troubleshooting-documentation). [Metric Streams from AWS](#troubleshooting-documentation).
For cost, see the Metric Streams example in For cost, see the Metric Streams example in
@ -11,6 +10,7 @@ For cost, see the Metric Streams example in
## Configuration ## Configuration
```toml @sample.conf ```toml @sample.conf
# AWS Metric Streams listener
[[inputs.cloudwatch_metric_streams]] [[inputs.cloudwatch_metric_streams]]
## Address and port to host HTTP listener on ## Address and port to host HTTP listener on
service_address = ":443" service_address = ":443"
@ -31,7 +31,8 @@ For cost, see the Metric Streams example in
## Optional access key for Firehose security. ## Optional access key for Firehose security.
# access_key = "test-key" # access_key = "test-key"
## An optional flag to keep Metric Streams metrics compatible with CloudWatch's API naming ## An optional flag to keep Metric Streams metrics compatible with
## CloudWatch's API naming
# api_compatability = false # api_compatability = false
## Set one or more allowed client CA certificate file names to ## Set one or more allowed client CA certificate file names to
@ -125,7 +126,9 @@ The plugin has its own internal metrics for troubleshooting:
* Request Time * Request Time
* The duration of the request measured in ns. * The duration of the request measured in ns.
* Age Max * Age Max
* The maximum age of a metric in this interval. This is useful for offsetting any lag or latency measurements in a metrics pipeline that measures based on the timestamp. * The maximum age of a metric in this interval. This is useful for offsetting
any lag or latency measurements in a metrics pipeline that measures based
on the timestamp.
* Age Min * Age Min
* The minimum age of a metric in this interval. * The minimum age of a metric in this interval.

View File

@ -1,3 +1,4 @@
//go:generate ../../../tools/readme_config_includer/generator
package cloudwatch_metric_streams package cloudwatch_metric_streams
import ( import (
@ -24,6 +25,7 @@ import (
) )
// DO NOT REMOVE THE NEXT TWO LINES! This is required to embed the sampleConfig data. // DO NOT REMOVE THE NEXT TWO LINES! This is required to embed the sampleConfig data.
//
//go:embed sample.conf //go:embed sample.conf
var sampleConfig string var sampleConfig string

View File

@ -19,7 +19,8 @@
## Optional access key for Firehose security. ## Optional access key for Firehose security.
# access_key = "test-key" # access_key = "test-key"
## An optional flag to keep Metric Streams metrics compatible with CloudWatch's API naming ## An optional flag to keep Metric Streams metrics compatible with
## CloudWatch's API naming
# api_compatability = false # api_compatability = false
## Set one or more allowed client CA certificate file names to ## Set one or more allowed client CA certificate file names to

View File

@ -46,7 +46,9 @@ couchbase server.
Tags: Tags:
- cluster: sanitized string from `servers` configuration field e.g.: `http://user:password@couchbase-0.example.com:8091/endpoint` -> `http://couchbase-0.example.com:8091/endpoint` - cluster: sanitized string from `servers` configuration field
e.g.: `http://user:password@couchbase-0.example.com:8091/endpoint` becomes
`http://couchbase-0.example.com:8091/endpoint`
- hostname: Couchbase's name for the node and port, e.g., `172.16.10.187:8091` - hostname: Couchbase's name for the node and port, e.g., `172.16.10.187:8091`
Fields: Fields:
@ -58,9 +60,11 @@ Fields:
Tags: Tags:
- cluster: whatever you called it in `servers` in the configuration, e.g.: `http://couchbase-0.example.com/`) - cluster: whatever you called it in `servers` in the configuration,
e.g. `http://couchbase-0.example.com/`
- bucket: the name of the couchbase bucket, e.g., `blastro-df` - bucket: the name of the couchbase bucket, e.g., `blastro-df`
- hostname: the hostname of the node the bucket metrics were collected from, e.g., `172.16.10.187:8091` (only present in `couchbase_node_bucket`) - hostname: the hostname of the node the bucket metrics were collected
from, e.g. `172.16.10.187:8091` (only present in `couchbase_node_bucket`)
Default bucket fields: Default bucket fields:

View File

@ -28,49 +28,63 @@ Sample Applications](https://doc.dpdk.org/guides/sample_app_ug/index.html) is
also available for users to discover and test the capabilities of DPDK libraries also available for users to discover and test the capabilities of DPDK libraries
and to explore the exposed metrics. and to explore the exposed metrics.
> **DPDK Version Info:** This plugin uses this `v2` interface to read telemetry data from applications build with > **DPDK Version Info:** This plugin uses this `v2` interface to read telemetry
> `DPDK version >= 20.05`. The default configuration include reading common statistics from `/ethdev/stats` that is > data from applications build with `DPDK version >= 20.05`. The default
> available from `DPDK version >= 20.11`. When using `DPDK 20.05 <= version < DPDK 20.11` it is recommended to disable > configuration include reading common statistics from `/ethdev/stats` that is
> querying `/ethdev/stats` by setting corresponding `exclude_commands` configuration option. > available from `DPDK version >= 20.11`. When using
> **NOTE:** Since DPDK will most likely run with root privileges, the socket telemetry interface exposed by DPDK > `DPDK 20.05 <= version < DPDK 20.11` it is recommended to disable querying
> will also require root access. This means that either access permissions have to be adjusted for socket telemetry > `/ethdev/stats` by setting corresponding `exclude_commands` configuration
> interface to allow Telegraf to access it, or Telegraf should run with root privileges. > option.
> **NOTE:** The DPDK socket must exist for Telegraf to start successfully. Telegraf will attempt > **NOTE:** Since DPDK will most likely run with root privileges, the socket
> to connect to the DPDK socket during the initialization phase. > telemetry interface exposed by DPDK will also require root access. This means
> that either access permissions have to be adjusted for socket telemetry
> interface to allow Telegraf to access it, or Telegraf should run with root
> privileges.
> **NOTE:** The DPDK socket must exist for Telegraf to start successfully.
> Telegraf will attempt to connect to the DPDK socket during the initialization
> phase.
## Configuration ## Configuration
```toml @sample.conf ```toml @sample.conf
# Reads metrics from DPDK applications using v2 telemetry interface. # Reads metrics from DPDK applications using v2 telemetry interface.
[[inputs.dpdk]] [[inputs.dpdk]]
## Path to DPDK telemetry socket. This shall point to v2 version of DPDK telemetry interface. ## Path to DPDK telemetry socket. This shall point to v2 version of DPDK
## telemetry interface.
# socket_path = "/var/run/dpdk/rte/dpdk_telemetry.v2" # socket_path = "/var/run/dpdk/rte/dpdk_telemetry.v2"
## Duration that defines how long the connected socket client will wait for a response before terminating connection. ## Duration that defines how long the connected socket client will wait for
## This includes both writing to and reading from socket. Since it's local socket access ## a response before terminating connection.
## to a fast packet processing application, the timeout should be sufficient for most users. ## This includes both writing to and reading from socket. Since it's local
## socket access to a fast packet processing application, the timeout should
## be sufficient for most users.
## Setting the value to 0 disables the timeout (not recommended) ## Setting the value to 0 disables the timeout (not recommended)
# socket_access_timeout = "200ms" # socket_access_timeout = "200ms"
## Enables telemetry data collection for selected device types. ## Enables telemetry data collection for selected device types.
## Adding "ethdev" enables collection of telemetry from DPDK NICs (stats, xstats, link_status). ## Adding "ethdev" enables collection of telemetry from DPDK NICs
## Adding "rawdev" enables collection of telemetry from DPDK Raw Devices (xstats). ## (stats, xstats, link_status).
## Adding "rawdev" enables collection of telemetry from DPDK Raw Devices
## (xstats).
# device_types = ["ethdev"] # device_types = ["ethdev"]
## List of custom, application-specific telemetry commands to query ## List of custom, application-specific telemetry commands to query
## The list of available commands depend on the application deployed. Applications can register their own commands ## The list of available commands depend on the application deployed.
## via telemetry library API http://doc.dpdk.org/guides/prog_guide/telemetry_lib.html#registering-commands ## Applications can register their own commands via telemetry library API
## For e.g. L3 Forwarding with Power Management Sample Application this could be: ## http://doc.dpdk.org/guides/prog_guide/telemetry_lib.html#registering-commands
## For L3 Forwarding with Power Management Sample Application this could be:
## additional_commands = ["/l3fwd-power/stats"] ## additional_commands = ["/l3fwd-power/stats"]
# additional_commands = [] # additional_commands = []
## Allows turning off collecting data for individual "ethdev" commands. ## Allows turning off collecting data for individual "ethdev" commands.
## Remove "/ethdev/link_status" from list to start getting link status metrics. ## Remove "/ethdev/link_status" from list to gather link status metrics.
[inputs.dpdk.ethdev] [inputs.dpdk.ethdev]
exclude_commands = ["/ethdev/link_status"] exclude_commands = ["/ethdev/link_status"]
## When running multiple instances of the plugin it's recommended to add a unique tag to each instance to identify ## When running multiple instances of the plugin it's recommended to add a
## metrics exposed by an instance of DPDK application. This is useful when multiple DPDK apps run on a single host. ## unique tag to each instance to identify metrics exposed by an instance
## of DPDK application. This is useful when multiple DPDK apps run on a
## single host.
## [inputs.dpdk.tags] ## [inputs.dpdk.tags]
## dpdk_instance = "my-fwd-app" ## dpdk_instance = "my-fwd-app"
``` ```
@ -152,7 +166,8 @@ Management Sample Application][sample-app].
Command entries specified in `additional_commands` should match DPDK command Command entries specified in `additional_commands` should match DPDK command
format: format:
* Command entry format: either `command` or `command,params` for commands that expect parameters, where comma (`,`) separates command from params. * Command entry format: either `command` or `command,params` for commands that
expect parameters, where comma (`,`) separates command from params.
* Command entry length (command with params) should be `< 1024` characters. * Command entry length (command with params) should be `< 1024` characters.
* Command length (without params) should be `< 56` characters. * Command length (without params) should be `< 56` characters.
* Commands have to start with `/`. * Commands have to start with `/`.
@ -182,7 +197,8 @@ instance a unique tag `[inputs.dpdk.tags]` allows distinguishing between them.
[inputs.dpdk.tags] [inputs.dpdk.tags]
dpdk_instance = "l3fwd-power" dpdk_instance = "l3fwd-power"
# Instance #2 - L2 Forwarding with Intel Cache Allocation Technology (CAT) Application # Instance #2 - L2 Forwarding with Intel Cache Allocation Technology (CAT)
# Application
[[inputs.dpdk]] [[inputs.dpdk]]
socket_path = "/var/run/dpdk/rte/l2fwd-cat_telemetry.v2" socket_path = "/var/run/dpdk/rte/l2fwd-cat_telemetry.v2"
device_types = ["ethdev"] device_types = ["ethdev"]
@ -206,10 +222,12 @@ JSON Flattener](../../parsers/json/README.md) and exposed as fields. If DPDK
response contains no information (is empty or is null) then such response will response contains no information (is empty or is null) then such response will
be discarded. be discarded.
> **NOTE:** Since DPDK allows registering custom metrics in its telemetry framework the JSON response from DPDK > **NOTE:** Since DPDK allows registering custom metrics in its telemetry
> may contain various sets of metrics. While metrics from `/ethdev/stats` should be most stable, the `/ethdev/xstats` > framework the JSON response from DPDK may contain various sets of metrics.
> may contain driver-specific metrics (depending on DPDK application configuration). The application-specific commands > While metrics from `/ethdev/stats` should be most stable, the `/ethdev/xstats`
> like `/l3fwd-power/stats` can return their own specific set of metrics. > may contain driver-specific metrics (depending on DPDK application
> configuration). The application-specific commands like `/l3fwd-power/stats`
> can return their own specific set of metrics.
## Example Output ## Example Output

View File

@ -1,32 +1,40 @@
# Reads metrics from DPDK applications using v2 telemetry interface. # Reads metrics from DPDK applications using v2 telemetry interface.
[[inputs.dpdk]] [[inputs.dpdk]]
## Path to DPDK telemetry socket. This shall point to v2 version of DPDK telemetry interface. ## Path to DPDK telemetry socket. This shall point to v2 version of DPDK
## telemetry interface.
# socket_path = "/var/run/dpdk/rte/dpdk_telemetry.v2" # socket_path = "/var/run/dpdk/rte/dpdk_telemetry.v2"
## Duration that defines how long the connected socket client will wait for a response before terminating connection. ## Duration that defines how long the connected socket client will wait for
## This includes both writing to and reading from socket. Since it's local socket access ## a response before terminating connection.
## to a fast packet processing application, the timeout should be sufficient for most users. ## This includes both writing to and reading from socket. Since it's local
## socket access to a fast packet processing application, the timeout should
## be sufficient for most users.
## Setting the value to 0 disables the timeout (not recommended) ## Setting the value to 0 disables the timeout (not recommended)
# socket_access_timeout = "200ms" # socket_access_timeout = "200ms"
## Enables telemetry data collection for selected device types. ## Enables telemetry data collection for selected device types.
## Adding "ethdev" enables collection of telemetry from DPDK NICs (stats, xstats, link_status). ## Adding "ethdev" enables collection of telemetry from DPDK NICs
## Adding "rawdev" enables collection of telemetry from DPDK Raw Devices (xstats). ## (stats, xstats, link_status).
## Adding "rawdev" enables collection of telemetry from DPDK Raw Devices
## (xstats).
# device_types = ["ethdev"] # device_types = ["ethdev"]
## List of custom, application-specific telemetry commands to query ## List of custom, application-specific telemetry commands to query
## The list of available commands depend on the application deployed. Applications can register their own commands ## The list of available commands depend on the application deployed.
## via telemetry library API http://doc.dpdk.org/guides/prog_guide/telemetry_lib.html#registering-commands ## Applications can register their own commands via telemetry library API
## For e.g. L3 Forwarding with Power Management Sample Application this could be: ## http://doc.dpdk.org/guides/prog_guide/telemetry_lib.html#registering-commands
## For L3 Forwarding with Power Management Sample Application this could be:
## additional_commands = ["/l3fwd-power/stats"] ## additional_commands = ["/l3fwd-power/stats"]
# additional_commands = [] # additional_commands = []
## Allows turning off collecting data for individual "ethdev" commands. ## Allows turning off collecting data for individual "ethdev" commands.
## Remove "/ethdev/link_status" from list to start getting link status metrics. ## Remove "/ethdev/link_status" from list to gather link status metrics.
[inputs.dpdk.ethdev] [inputs.dpdk.ethdev]
exclude_commands = ["/ethdev/link_status"] exclude_commands = ["/ethdev/link_status"]
## When running multiple instances of the plugin it's recommended to add a unique tag to each instance to identify ## When running multiple instances of the plugin it's recommended to add a
## metrics exposed by an instance of DPDK application. This is useful when multiple DPDK apps run on a single host. ## unique tag to each instance to identify metrics exposed by an instance
## of DPDK application. This is useful when multiple DPDK apps run on a
## single host.
## [inputs.dpdk.tags] ## [inputs.dpdk.tags]
## dpdk_instance = "my-fwd-app" ## dpdk_instance = "my-fwd-app"

View File

@ -57,20 +57,22 @@ mid-low level.
## Set cluster_stats to true when you want to obtain cluster stats. ## Set cluster_stats to true when you want to obtain cluster stats.
cluster_stats = false cluster_stats = false
## Only gather cluster_stats from the master node. To work this require local = true ## Only gather cluster_stats from the master node.
## To work this require local = true
cluster_stats_only_from_master = true cluster_stats_only_from_master = true
## Indices to collect; can be one or more indices names or _all ## Indices to collect; can be one or more indices names or _all
## Use of wildcards is allowed. Use a wildcard at the end to retrieve index names that end with a changing value, like a date. ## Use of wildcards is allowed. Use a wildcard at the end to retrieve index
## names that end with a changing value, like a date.
indices_include = ["_all"] indices_include = ["_all"]
## One of "shards", "cluster", "indices" ## One of "shards", "cluster", "indices"
## Currently only "shards" is implemented ## Currently only "shards" is implemented
indices_level = "shards" indices_level = "shards"
## node_stats is a list of sub-stats that you want to have gathered. Valid options ## node_stats is a list of sub-stats that you want to have gathered.
## are "indices", "os", "process", "jvm", "thread_pool", "fs", "transport", "http", ## Valid options are "indices", "os", "process", "jvm", "thread_pool",
## "breaker". Per default, all stats are gathered. ## "fs", "transport", "http", "breaker". Per default, all stats are gathered.
# node_stats = ["jvm", "http"] # node_stats = ["jvm", "http"]
## HTTP Basic Authentication username and password. ## HTTP Basic Authentication username and password.
@ -84,10 +86,12 @@ mid-low level.
## Use TLS but skip chain & host verification ## Use TLS but skip chain & host verification
# insecure_skip_verify = false # insecure_skip_verify = false
## Sets the number of most recent indices to return for indices that are configured with a date-stamped suffix. ## Sets the number of most recent indices to return for indices that are
## Each 'indices_include' entry ending with a wildcard (*) or glob matching pattern will group together all indices that match it, and ## configured with a date-stamped suffix. Each 'indices_include' entry
## sort them by the date or number after the wildcard. Metrics then are gathered for only the 'num_most_recent_indices' amount of most ## ending with a wildcard (*) or glob matching pattern will group together
## recent indices. ## all indices that match it, and sort them by the date or number after
## the wildcard. Metrics then are gathered for only the
## 'num_most_recent_indices' amount of most recent indices.
# num_most_recent_indices = 0 # num_most_recent_indices = 0
``` ```
@ -826,7 +830,8 @@ Emitted when the appropriate `shards_stats` options are set.
- request_cache_miss_count (float) - request_cache_miss_count (float)
- retention_leases_primary_term (float) - retention_leases_primary_term (float)
- retention_leases_version (float) - retention_leases_version (float)
- routing_state (int) (UNASSIGNED = 1, INITIALIZING = 2, STARTED = 3, RELOCATING = 4, other = 0) - routing_state (int)
(UNASSIGNED = 1, INITIALIZING = 2, STARTED = 3, RELOCATING = 4, other = 0)
- search_fetch_current (float) - search_fetch_current (float)
- search_fetch_time_in_millis (float) - search_fetch_time_in_millis (float)
- search_fetch_total (float) - search_fetch_total (float)

View File

@ -25,20 +25,22 @@
## Set cluster_stats to true when you want to obtain cluster stats. ## Set cluster_stats to true when you want to obtain cluster stats.
cluster_stats = false cluster_stats = false
## Only gather cluster_stats from the master node. To work this require local = true ## Only gather cluster_stats from the master node.
## To work this require local = true
cluster_stats_only_from_master = true cluster_stats_only_from_master = true
## Indices to collect; can be one or more indices names or _all ## Indices to collect; can be one or more indices names or _all
## Use of wildcards is allowed. Use a wildcard at the end to retrieve index names that end with a changing value, like a date. ## Use of wildcards is allowed. Use a wildcard at the end to retrieve index
## names that end with a changing value, like a date.
indices_include = ["_all"] indices_include = ["_all"]
## One of "shards", "cluster", "indices" ## One of "shards", "cluster", "indices"
## Currently only "shards" is implemented ## Currently only "shards" is implemented
indices_level = "shards" indices_level = "shards"
## node_stats is a list of sub-stats that you want to have gathered. Valid options ## node_stats is a list of sub-stats that you want to have gathered.
## are "indices", "os", "process", "jvm", "thread_pool", "fs", "transport", "http", ## Valid options are "indices", "os", "process", "jvm", "thread_pool",
## "breaker". Per default, all stats are gathered. ## "fs", "transport", "http", "breaker". Per default, all stats are gathered.
# node_stats = ["jvm", "http"] # node_stats = ["jvm", "http"]
## HTTP Basic Authentication username and password. ## HTTP Basic Authentication username and password.
@ -52,8 +54,10 @@
## Use TLS but skip chain & host verification ## Use TLS but skip chain & host verification
# insecure_skip_verify = false # insecure_skip_verify = false
## Sets the number of most recent indices to return for indices that are configured with a date-stamped suffix. ## Sets the number of most recent indices to return for indices that are
## Each 'indices_include' entry ending with a wildcard (*) or glob matching pattern will group together all indices that match it, and ## configured with a date-stamped suffix. Each 'indices_include' entry
## sort them by the date or number after the wildcard. Metrics then are gathered for only the 'num_most_recent_indices' amount of most ## ending with a wildcard (*) or glob matching pattern will group together
## recent indices. ## all indices that match it, and sort them by the date or number after
## the wildcard. Metrics then are gathered for only the
## 'num_most_recent_indices' amount of most recent indices.
# num_most_recent_indices = 0 # num_most_recent_indices = 0

View File

@ -1,7 +1,7 @@
# Elasticsearch Query Input Plugin # Elasticsearch Query Input Plugin
This [elasticsearch](https://www.elastic.co/) query plugin queries endpoints to This [elasticsearch](https://www.elastic.co/) query plugin queries endpoints
obtain metrics from data stored in an Elasticsearch cluster. to obtain metrics from data stored in an Elasticsearch cluster.
The following is supported: The following is supported:
@ -12,8 +12,8 @@ The following is supported:
## Elasticsearch Support ## Elasticsearch Support
This plugins is tested against Elasticsearch 5.x and 6.x releases. Currently it This plugins is tested against Elasticsearch 5.x and 6.x releases.
is known to break on 7.x or greater versions. Currently it is known to break on 7.x or greater versions.
## Configuration ## Configuration
@ -80,7 +80,8 @@ is known to break on 7.x or greater versions.
# metric_function = "avg" # metric_function = "avg"
## Fields to be used as tags ## Fields to be used as tags
## Must be text, non-analyzed fields. Metric aggregations are performed per tag ## Must be text, non-analyzed fields. Metric aggregations are performed
## per tag
# tags = ["field.keyword", "field2.keyword"] # tags = ["field.keyword", "field2.keyword"]
## Set to true to not ignore documents when the tag(s) above are missing ## Set to true to not ignore documents when the tag(s) above are missing

View File

@ -60,7 +60,8 @@
# metric_function = "avg" # metric_function = "avg"
## Fields to be used as tags ## Fields to be used as tags
## Must be text, non-analyzed fields. Metric aggregations are performed per tag ## Must be text, non-analyzed fields. Metric aggregations are performed
## per tag
# tags = ["field.keyword", "field2.keyword"] # tags = ["field.keyword", "field2.keyword"]
## Set to true to not ignore documents when the tag(s) above are missing ## Set to true to not ignore documents when the tag(s) above are missing

View File

@ -10,7 +10,8 @@ This input plugin checks HTTP/HTTPS connections.
## List of urls to query. ## List of urls to query.
# urls = ["http://localhost"] # urls = ["http://localhost"]
## Set http_proxy (telegraf uses the system wide proxy settings if it's is not set) ## Set http_proxy.
## Telegraf uses the system wide proxy settings if it's is not set.
# http_proxy = "http://localhost:8888" # http_proxy = "http://localhost:8888"
## Set response_timeout (default 5 seconds) ## Set response_timeout (default 5 seconds)
@ -36,12 +37,14 @@ This input plugin checks HTTP/HTTPS connections.
# ''' # '''
## Optional name of the field that will contain the body of the response. ## Optional name of the field that will contain the body of the response.
## By default it is set to an empty String indicating that the body's content won't be added ## By default it is set to an empty String indicating that the body's
## content won't be added
# response_body_field = '' # response_body_field = ''
## Maximum allowed HTTP response body size in bytes. ## Maximum allowed HTTP response body size in bytes.
## 0 means to use the default of 32MiB. ## 0 means to use the default of 32MiB.
## If the response body size exceeds this limit a "body_read_error" will be raised ## If the response body size exceeds this limit a "body_read_error" will
## be raised.
# response_body_max_size = "32MiB" # response_body_max_size = "32MiB"
## Optional substring or regex match in body of the response (case sensitive) ## Optional substring or regex match in body of the response (case sensitive)
@ -50,9 +53,10 @@ This input plugin checks HTTP/HTTPS connections.
# response_string_match = "\".*_status\".?:.?\"up\"" # response_string_match = "\".*_status\".?:.?\"up\""
## Expected response status code. ## Expected response status code.
## The status code of the response is compared to this value. If they match, the field ## The status code of the response is compared to this value. If they match,
## "response_status_code_match" will be 1, otherwise it will be 0. If the ## the field "response_status_code_match" will be 1, otherwise it will be 0.
## expected status code is 0, the check is disabled and the field won't be added. ## If the expected status code is 0, the check is disabled and the field
## won't be added.
# response_status_code = 0 # response_status_code = 0
## Optional TLS Config ## Optional TLS Config
@ -69,8 +73,9 @@ This input plugin checks HTTP/HTTPS connections.
# Host = "github.com" # Host = "github.com"
## Optional setting to map response http headers into tags ## Optional setting to map response http headers into tags
## If the http header is not present on the request, no corresponding tag will be added ## If the http header is not present on the request, no corresponding tag will
## If multiple instances of the http header are present, only the first value will be used ## be added. If multiple instances of the http header are present, only the
## first value will be used.
# http_header_tags = {"HTTP_HEADER" = "TAG_NAME"} # http_header_tags = {"HTTP_HEADER" = "TAG_NAME"}
## Interface to use when dialing an address ## Interface to use when dialing an address
@ -91,7 +96,8 @@ This input plugin checks HTTP/HTTPS connections.
- response_string_match (int, 0 = mismatch / body read error, 1 = match) - response_string_match (int, 0 = mismatch / body read error, 1 = match)
- response_status_code_match (int, 0 = mismatch, 1 = match) - response_status_code_match (int, 0 = mismatch, 1 = match)
- http_response_code (int, response status code) - http_response_code (int, response status code)
- result_type (string, deprecated in 1.6: use `result` tag and `result_code` field) - result_type (string, deprecated in 1.6: use `result` tag and
`result_code` field)
- result_code (int, [see below](#result--result_code)) - result_code (int, [see below](#result--result_code))
### `result` / `result_code` ### `result` / `result_code`

View File

@ -3,7 +3,8 @@
## List of urls to query. ## List of urls to query.
# urls = ["http://localhost"] # urls = ["http://localhost"]
## Set http_proxy (telegraf uses the system wide proxy settings if it's is not set) ## Set http_proxy.
## Telegraf uses the system wide proxy settings if it's is not set.
# http_proxy = "http://localhost:8888" # http_proxy = "http://localhost:8888"
## Set response_timeout (default 5 seconds) ## Set response_timeout (default 5 seconds)
@ -29,12 +30,14 @@
# ''' # '''
## Optional name of the field that will contain the body of the response. ## Optional name of the field that will contain the body of the response.
## By default it is set to an empty String indicating that the body's content won't be added ## By default it is set to an empty String indicating that the body's
## content won't be added
# response_body_field = '' # response_body_field = ''
## Maximum allowed HTTP response body size in bytes. ## Maximum allowed HTTP response body size in bytes.
## 0 means to use the default of 32MiB. ## 0 means to use the default of 32MiB.
## If the response body size exceeds this limit a "body_read_error" will be raised ## If the response body size exceeds this limit a "body_read_error" will
## be raised.
# response_body_max_size = "32MiB" # response_body_max_size = "32MiB"
## Optional substring or regex match in body of the response (case sensitive) ## Optional substring or regex match in body of the response (case sensitive)
@ -43,9 +46,10 @@
# response_string_match = "\".*_status\".?:.?\"up\"" # response_string_match = "\".*_status\".?:.?\"up\""
## Expected response status code. ## Expected response status code.
## The status code of the response is compared to this value. If they match, the field ## The status code of the response is compared to this value. If they match,
## "response_status_code_match" will be 1, otherwise it will be 0. If the ## the field "response_status_code_match" will be 1, otherwise it will be 0.
## expected status code is 0, the check is disabled and the field won't be added. ## If the expected status code is 0, the check is disabled and the field
## won't be added.
# response_status_code = 0 # response_status_code = 0
## Optional TLS Config ## Optional TLS Config
@ -62,8 +66,9 @@
# Host = "github.com" # Host = "github.com"
## Optional setting to map response http headers into tags ## Optional setting to map response http headers into tags
## If the http header is not present on the request, no corresponding tag will be added ## If the http header is not present on the request, no corresponding tag will
## If multiple instances of the http header are present, only the first value will be used ## be added. If multiple instances of the http header are present, only the
## first value will be used.
# http_header_tags = {"HTTP_HEADER" = "TAG_NAME"} # http_header_tags = {"HTTP_HEADER" = "TAG_NAME"}
## Interface to use when dialing an address ## Interface to use when dialing an address

View File

@ -4,8 +4,9 @@ Transparent Huge Pages (THP) is a Linux memory management system that reduces
the overhead of Translation Lookaside Buffer (TLB) lookups on machines with the overhead of Translation Lookaside Buffer (TLB) lookups on machines with
large amounts of memory by using larger memory pages. large amounts of memory by using larger memory pages.
Consult <https://www.kernel.org/doc/html/latest/admin-guide/mm/hugetlbpage.html> Consult [the website][website] for more details.
for more details.
[website]: https://www.kernel.org/doc/html/latest/admin-guide/mm/hugetlbpage.html
## Configuration ## Configuration
@ -13,9 +14,11 @@ for more details.
# Gathers huge pages measurements. # Gathers huge pages measurements.
[[inputs.hugepages]] [[inputs.hugepages]]
## Supported huge page types: ## Supported huge page types:
## - "root" - based on root huge page control directory: /sys/kernel/mm/hugepages ## - "root" - based on root huge page control directory:
## - "per_node" - based on per NUMA node directories: /sys/devices/system/node/node[0-9]*/hugepages ## /sys/kernel/mm/hugepages
## - "meminfo" - based on /proc/meminfo file ## - "per_node" - based on per NUMA node directories:
## /sys/devices/system/node/node[0-9]*/hugepages
## - "meminfo" - based on /proc/meminfo file
# types = ["root", "per_node"] # types = ["root", "per_node"]
``` ```
@ -23,7 +26,7 @@ for more details.
**The following measurements are supported by Hugepages plugin:** **The following measurements are supported by Hugepages plugin:**
- hugepages_root (gathered from root huge page control directory: `/sys/kernel/mm/hugepages`) - hugepages_root (gathered from `/sys/kernel/mm/hugepages`)
- tags: - tags:
- size_kb (integer, kB) - size_kb (integer, kB)
- fields: - fields:
@ -33,7 +36,7 @@ for more details.
- reserved (integer) - reserved (integer)
- surplus (integer) - surplus (integer)
- total (integer) - total (integer)
- hugepages_per_node (gathered from per NUMA node directories: `/sys/devices/system/node/node[0-9]*/hugepages`) - hugepages_per_node (gathered from `/sys/devices/system/node/node[0-9]*/hugepages`)
- tags: - tags:
- size_kb (integer, kB) - size_kb (integer, kB)
- node (integer) - node (integer)
@ -42,7 +45,8 @@ for more details.
- surplus (integer) - surplus (integer)
- total (integer) - total (integer)
- hugepages_meminfo (gathered from `/proc/meminfo` file) - hugepages_meminfo (gathered from `/proc/meminfo` file)
- The fields `total`, `free`, `reserved`, and `surplus` are counts of pages of default size. Fields with suffix `_kb` are in kilobytes. - The fields `total`, `free`, `reserved`, and `surplus` are counts of pages
of default size. Fields with suffix `_kb` are in kilobytes.
- fields: - fields:
- anonymous_kb (integer, kB) - anonymous_kb (integer, kB)
- file_kb (integer, kB) - file_kb (integer, kB)

View File

@ -1,7 +1,9 @@
# Gathers huge pages measurements. # Gathers huge pages measurements.
[[inputs.hugepages]] [[inputs.hugepages]]
## Supported huge page types: ## Supported huge page types:
## - "root" - based on root huge page control directory: /sys/kernel/mm/hugepages ## - "root" - based on root huge page control directory:
## - "per_node" - based on per NUMA node directories: /sys/devices/system/node/node[0-9]*/hugepages ## /sys/kernel/mm/hugepages
## - "meminfo" - based on /proc/meminfo file ## - "per_node" - based on per NUMA node directories:
## /sys/devices/system/node/node[0-9]*/hugepages
## - "meminfo" - based on /proc/meminfo file
# types = ["root", "per_node"] # types = ["root", "per_node"]

View File

@ -1,7 +1,7 @@
# InfluxDB Input Plugin # InfluxDB Input Plugin
The InfluxDB plugin will collect metrics on the given InfluxDB servers. Read our The InfluxDB plugin will collect metrics on the given InfluxDB servers. Read
[documentation][1] for detailed information about `influxdb` metrics. our [documentation][1] for detailed information about `influxdb` metrics.
This plugin can also gather metrics from endpoints that expose This plugin can also gather metrics from endpoints that expose
InfluxDB-formatted endpoints. See below for more information. InfluxDB-formatted endpoints. See below for more information.
@ -43,86 +43,138 @@ InfluxDB-formatted endpoints. See below for more information.
**Note:** The measurements and fields included in this plugin are dynamically **Note:** The measurements and fields included in this plugin are dynamically
built from the InfluxDB source, and may vary between versions: built from the InfluxDB source, and may vary between versions:
- **influxdb_ae** _(Enterprise Only)_ : Statistics related to the Anti-Entropy (AE) engine in InfluxDB Enterprise clusters. - **influxdb_ae** _(Enterprise Only)_ : Statistics related to the Anti-Entropy
(AE) engine in InfluxDB Enterprise clusters.
- **bytesRx**: Number of bytes received by the data node. - **bytesRx**: Number of bytes received by the data node.
- **errors**: Total number of anti-entropy jobs that have resulted in errors. - **errors**: Total number of anti-entropy jobs that have resulted in errors.
- **jobs**: Total number of jobs executed by the data node. - **jobs**: Total number of jobs executed by the data node.
- **jobsActive**: Number of active (currently executing) jobs. - **jobsActive**: Number of active (currently executing) jobs.
- **influxdb_cluster** _(Enterprise Only)_ : Statistics related to the clustering features of the data nodes in InfluxDB Enterprise clusters. - **influxdb_cluster** _(Enterprise Only)_ : Statistics related to the
- **copyShardReq**: Number of internal requests made to copy a shard from one data node to another. clustering features of the data nodes in InfluxDB Enterprise clusters.
- **createIteratorReq**: Number of read requests from other data nodes in the cluster. - **copyShardReq**: Number of internal requests made to copy a shard from
- **expandSourcesReq**: Number of remote node requests made to find measurements on this node that match a particular regular expression. one data node to another.
- **fieldDimensionsReq**: Number of remote node requests for information about the fields and associated types, and tag keys of measurements on this data node. - **createIteratorReq**: Number of read requests from other data nodes in
the cluster.
- **expandSourcesReq**: Number of remote node requests made to find
measurements on this node that match a particular regular expression.
- **fieldDimensionsReq**: Number of remote node requests for information
about the fields and associated types, and tag keys of measurements on
this data node.
- **iteratorCostReq**: Number of internal requests for iterator cost. - **iteratorCostReq**: Number of internal requests for iterator cost.
- **openConnections**: Tracks the number of open connections being handled by the data node - **openConnections**: Tracks the number of open connections being handled by
(including logical connections multiplexed onto a single yamux connection). the data node (including logical connections multiplexed onto a single
- **removeShardReq**: Number of internal requests to delete a shard from this data node. Exclusively incremented by use of the influxd-ctl remove shard command. yamux connection).
- **writeShardFail**: Total number of internal write requests from a remote node that failed. - **removeShardReq**: Number of internal requests to delete a shard from this
- **writeShardPointsReq**: Number of points in every internal write request from any remote node, regardless of success. data node. Exclusively incremented by use of the influxd-ctl remove shard
- **writeShardReq**: Number of internal write requests from a remote data node, regardless of success. command.
- **writeShardFail**: Total number of internal write requests from a remote
node that failed.
- **writeShardPointsReq**: Number of points in every internal write request
from any remote node, regardless of success.
- **writeShardReq**: Number of internal write requests from a remote data
node, regardless of success.
- **influxdb_cq**: Metrics related to continuous queries (CQs). - **influxdb_cq**: Metrics related to continuous queries (CQs).
- **queryFail**: Total number of continuous queries that executed but failed. - **queryFail**: Total number of continuous queries that executed but failed.
- **queryOk**: Total number of continuous queries that executed successfully. - **queryOk**: Total number of continuous queries that executed successfully.
- **influxdb_database**: Database metrics are collected from. - **influxdb_database**: Database metrics are collected from.
- **numMeasurements**: Current number of measurements in the specified database. - **numMeasurements**: Current number of measurements in the specified
database.
- **numSeries**: Current series cardinality of the specified database. - **numSeries**: Current series cardinality of the specified database.
- **influxdb_hh** _(Enterprise Only)_ : Events resulting in new hinted handoff (HH) processors in InfluxDB Enterprise clusters. - **influxdb_hh** _(Enterprise Only)_ : Events resulting in new hinted handoff
- **writeShardReq**: Number of initial write requests handled by the hinted handoff engine for a remote node. (HH) processors in InfluxDB Enterprise clusters.
- **writeShardReqPoints**: Number of write requests for each point in the initial request to the hinted handoff engine for a remote node. - **writeShardReq**: Number of initial write requests handled by the hinted
- **influxdb_hh_database** _(Enterprise Only)_ : Aggregates all hinted handoff queues for a single database and node. handoff engine for a remote node.
- **bytesRead**: Size, in bytes, of points read from the hinted handoff queue and sent to its destination data node. - **writeShardReqPoints**: Number of write requests for each point in the
initial request to the hinted handoff engine for a remote node.
- **influxdb_hh_database** _(Enterprise Only)_ : Aggregates all hinted handoff
queues for a single database and node.
- **bytesRead**: Size, in bytes, of points read from the hinted handoff queue
and sent to its destination data node.
- **bytesWritten**: Total number of bytes written to the hinted handoff queue. - **bytesWritten**: Total number of bytes written to the hinted handoff queue.
- **queueBytes**: Total number of bytes remaining in the hinted handoff queue. - **queueBytes**: Total number of bytes remaining in the hinted handoff queue.
- **queueDepth**: Total number of segments in the hinted handoff queue. The HH queue is a sequence of 10MB “segment” files. - **queueDepth**: Total number of segments in the hinted handoff queue.
- **writeBlocked**: Number of writes blocked because the number of concurrent HH requests exceeds the limit. The HH queue is a sequence of 10MB “segment” files.
- **writeDropped**: Number of writes dropped from the HH queue because the write appeared to be corrupted. - **writeBlocked**: Number of writes blocked because the number of concurrent
- **writeNodeReq**: Total number of write requests that succeeded in writing a batch to the destination node. HH requests exceeds the limit.
- **writeNodeReqFail**: Total number of write requests that failed in writing a batch of data from the hinted handoff queue to the destination node. - **writeDropped**: Number of writes dropped from the HH queue because the
- **writeNodeReqPoints**: Total number of points successfully written from the HH queue to the destination node fr write appeared to be corrupted.
- **writeShardReq**: Total number of every write batch request enqueued into the hinted handoff queue. - **writeNodeReq**: Total number of write requests that succeeded in writing
- **writeShardReqPoints**: Total number of points enqueued into the hinted handoff queue. a batch to the destination node.
- **influxdb_hh_processor** _(Enterprise Only)_: Statistics stored for a single queue (shard). - **writeNodeReqFail**: Total number of write requests that failed in writing
- **bytesRead**: Size, in bytes, of points read from the hinted handoff queue and sent to its destination data node. a batch of data from the hinted handoff queue to the destination node.
- **writeNodeReqPoints**: Total number of points successfully written from
the HH queue to the destination node fr
- **writeShardReq**: Total number of every write batch request enqueued into
the hinted handoff queue.
- **writeShardReqPoints**: Total number of points enqueued into the hinted
handoff queue.
- **influxdb_hh_processor** _(Enterprise Only)_: Statistics stored for a single
queue (shard).
- **bytesRead**: Size, in bytes, of points read from the hinted handoff queue
and sent to its destination data node.
- **bytesWritten**: Total number of bytes written to the hinted handoff queue. - **bytesWritten**: Total number of bytes written to the hinted handoff queue.
- **queueBytes**: Total number of bytes remaining in the hinted handoff queue. - **queueBytes**: Total number of bytes remaining in the hinted handoff queue.
- **queueDepth**: Total number of segments in the hinted handoff queue. The HH queue is a sequence of 10MB “segment” files. - **queueDepth**: Total number of segments in the hinted handoff queue.
- **writeBlocked**: Number of writes blocked because the number of concurrent HH requests exceeds the limit. The HH queue is a sequence of 10MB “segment” files.
- **writeDropped**: Number of writes dropped from the HH queue because the write appeared to be corrupted. - **writeBlocked**: Number of writes blocked because the number of concurrent
- **writeNodeReq**: Total number of write requests that succeeded in writing a batch to the destination node. HH requests exceeds the limit.
- **writeNodeReqFail**: Total number of write requests that failed in writing a batch of data from the hinted handoff queue to the destination node. - **writeDropped**: Number of writes dropped from the HH queue because the
- **writeNodeReqPoints**: Total number of points successfully written from the HH queue to the destination node fr write appeared to be corrupted.
- **writeShardReq**: Total number of every write batch request enqueued into the hinted handoff queue. - **writeNodeReq**: Total number of write requests that succeeded in writing
- **writeShardReqPoints**: Total number of points enqueued into the hinted handoff queue. a batch to the destination node.
- **writeNodeReqFail**: Total number of write requests that failed in writing
a batch of data from the hinted handoff queue to the destination node.
- **writeNodeReqPoints**: Total number of points successfully written from
the HH queue to the destination node fr
- **writeShardReq**: Total number of every write batch request enqueued into
the hinted handoff queue.
- **writeShardReqPoints**: Total number of points enqueued into the hinted
handoff queue.
- **influxdb_httpd**: Metrics related to the InfluxDB HTTP server. - **influxdb_httpd**: Metrics related to the InfluxDB HTTP server.
- **authFail**: Number of HTTP requests that were aborted due to authentication being required, but not supplied or incorrect. - **authFail**: Number of HTTP requests that were aborted due to
- **clientError**: Number of HTTP responses due to client errors, with a 4XX HTTP status code. authentication being required, but not supplied or incorrect.
- **clientError**: Number of HTTP responses due to client errors, with
a 4XX HTTP status code.
- **fluxQueryReq**: Number of Flux query requests served. - **fluxQueryReq**: Number of Flux query requests served.
- **fluxQueryReqDurationNs**: Duration (wall-time), in nanoseconds, spent executing Flux query requests. - **fluxQueryReqDurationNs**: Duration (wall-time), in nanoseconds, spent
- **pingReq**: Number of times InfluxDB HTTP server served the /ping HTTP endpoint. executing Flux query requests.
- **pingReq**: Number of times InfluxDB HTTP server served the /ping HTTP
endpoint.
- **pointsWrittenDropped**: Number of points dropped by the storage engine. - **pointsWrittenDropped**: Number of points dropped by the storage engine.
- **pointsWrittenFail**: Number of points accepted by the HTTP /write endpoint, but unable to be persisted. - **pointsWrittenFail**: Number of points accepted by the HTTP /write
- **pointsWrittenOK**: Number of points successfully accepted and persisted by the HTTP /write endpoint. endpoint, but unable to be persisted.
- **pointsWrittenOK**: Number of points successfully accepted and persisted
by the HTTP /write endpoint.
- **promReadReq**: Number of read requests to the Prometheus /read endpoint. - **promReadReq**: Number of read requests to the Prometheus /read endpoint.
- **promWriteReq**: Number of write requests to the Prometheus /write endpoint. - **promWriteReq**: Number of write requests to the Prometheus /write
endpoint.
- **queryReq**: Number of query requests. - **queryReq**: Number of query requests.
- **queryReqDurationNs**: Total query request duration, in nanosecond (ns). - **queryReqDurationNs**: Total query request duration, in nanosecond (ns).
- **queryRespBytes**: Total number of bytes returned in query responses. - **queryRespBytes**: Total number of bytes returned in query responses.
- **recoveredPanics**: Total number of panics recovered by the HTTP handler. - **recoveredPanics**: Total number of panics recovered by the HTTP handler.
- **req**: Total number of HTTP requests served. - **req**: Total number of HTTP requests served.
- **reqActive**: Number of currently active requests. - **reqActive**: Number of currently active requests.
- **reqDurationNs**: Duration (wall time), in nanoseconds, spent inside HTTP requests. - **reqDurationNs**: Duration (wall time), in nanoseconds, spent inside HTTP
requests.
- **serverError**: Number of HTTP responses due to server errors. - **serverError**: Number of HTTP responses due to server errors.
- **statusReq**: Number of status requests served using the HTTP /status endpoint. - **statusReq**: Number of status requests served using the HTTP /status
- **valuesWrittenOK**: Number of values (fields) successfully accepted and persisted by the HTTP /write endpoint. endpoint.
- **writeReq**: Number of write requests served using the HTTP /write endpoint. - **valuesWrittenOK**: Number of values (fields) successfully accepted and
persisted by the HTTP /write endpoint.
- **writeReq**: Number of write requests served using the HTTP /write
endpoint.
- **writeReqActive**: Number of currently active write requests. - **writeReqActive**: Number of currently active write requests.
- **writeReqBytes**: Total number of bytes of line protocol data received by write requests, using the HTTP /write endpoint. - **writeReqBytes**: Total number of bytes of line protocol data received by
- **writeReqDurationNs**: Duration, in nanoseconds, of write requests served using the /write HTTP endpoint. write requests, using the HTTP /write endpoint.
- **influxdb_memstats**: Statistics about the memory allocator in the specified database. - **writeReqDurationNs**: Duration, in nanoseconds, of write requests served
using the /write HTTP endpoint.
- **influxdb_memstats**: Statistics about the memory allocator in the specified
database.
- **Alloc**: Number of bytes allocated to heap objects. - **Alloc**: Number of bytes allocated to heap objects.
- **BuckHashSys**: Number of bytes of memory in profiling bucket hash tables. - **BuckHashSys**: Number of bytes of memory in profiling bucket hash tables.
- **Frees**: Cumulative count of heap objects freed. - **Frees**: Cumulative count of heap objects freed.
- **GCCPUFraction**: fraction of InfluxDB's available CPU time used by the garbage collector (GC) since InfluxDB started. - **GCCPUFraction**: fraction of InfluxDB's available CPU time used by the
garbage collector (GC) since InfluxDB started.
- **GCSys**: Number of bytes of memory in garbage collection metadata. - **GCSys**: Number of bytes of memory in garbage collection metadata.
- **HeapAlloc**: Number of bytes of allocated heap objects. - **HeapAlloc**: Number of bytes of allocated heap objects.
- **HeapIdle**: Number of bytes in idle (unused) spans. - **HeapIdle**: Number of bytes in idle (unused) spans.
@ -133,39 +185,51 @@ built from the InfluxDB source, and may vary between versions:
- **LastGC**: Time the last garbage collection finished. - **LastGC**: Time the last garbage collection finished.
- **Lookups**: Number of pointer lookups performed by the runtime. - **Lookups**: Number of pointer lookups performed by the runtime.
- **MCacheInuse**: Number of bytes of allocated mcache structures. - **MCacheInuse**: Number of bytes of allocated mcache structures.
- **MCacheSys**: Number of bytes of memory obtained from the OS for mcache structures. - **MCacheSys**: Number of bytes of memory obtained from the OS for mcache
structures.
- **MSpanInuse**: Number of bytes of allocated mspan structures. - **MSpanInuse**: Number of bytes of allocated mspan structures.
- **MSpanSys**: Number of bytes of memory obtained from the OS for mspan structures. - **MSpanSys**: Number of bytes of memory obtained from the OS for mspan
structures.
- **Mallocs**: Cumulative count of heap objects allocated. - **Mallocs**: Cumulative count of heap objects allocated.
- **NextGC**: Target heap size of the next GC cycle. - **NextGC**: Target heap size of the next GC cycle.
- **NumForcedGC**: Number of GC cycles that were forced by the application calling the GC function. - **NumForcedGC**: Number of GC cycles that were forced by the application
calling the GC function.
- **NumGC**: Number of completed GC cycles. - **NumGC**: Number of completed GC cycles.
- **OtherSys**: Number of bytes of memory in miscellaneous off-heap runtime allocations. - **OtherSys**: Number of bytes of memory in miscellaneous off-heap runtime
- **PauseTotalNs**: Cumulative nanoseconds in GC stop-the-world pauses since the program started. allocations.
- **PauseTotalNs**: Cumulative nanoseconds in GC stop-the-world pauses since
the program started.
- **StackInuse**: Number of bytes in stack spans. - **StackInuse**: Number of bytes in stack spans.
- **StackSys**: Number of bytes of stack memory obtained from the OS. - **StackSys**: Number of bytes of stack memory obtained from the OS.
- **Sys**: Total bytes of memory obtained from the OS. - **Sys**: Total bytes of memory obtained from the OS.
- **TotalAlloc**: Cumulative bytes allocated for heap objects. - **TotalAlloc**: Cumulative bytes allocated for heap objects.
- **influxdb_queryExecutor**: Metrics related to usage of the Query Executor of the InfluxDB engine. - **influxdb_queryExecutor**: Metrics related to usage of the Query Executor
of the InfluxDB engine.
- **queriesActive**: Number of active queries currently being handled. - **queriesActive**: Number of active queries currently being handled.
- **queriesExecuted**: Number of queries executed (started). - **queriesExecuted**: Number of queries executed (started).
- **queriesFinished**: Number of queries that have finished executing. - **queriesFinished**: Number of queries that have finished executing.
- **queryDurationNs**: Total duration, in nanoseconds, of executed queries. - **queryDurationNs**: Total duration, in nanoseconds, of executed queries.
- **recoveredPanics**: Number of panics recovered by the Query Executor. - **recoveredPanics**: Number of panics recovered by the Query Executor.
- **influxdb_rpc** _(Enterprise Only)_ : Statistics related to the use of RPC calls within InfluxDB Enterprise clusters. - **influxdb_rpc** _(Enterprise Only)_ : Statistics related to the use of RPC
- **idleStreams**: Number of idle multiplexed streams across all live TCP connections. calls within InfluxDB Enterprise clusters.
- **idleStreams**: Number of idle multiplexed streams across all live TCP
connections.
- **liveConnections**: Current number of live TCP connections to other nodes. - **liveConnections**: Current number of live TCP connections to other nodes.
- **liveStreams**: Current number of live multiplexed streams across all live TCP connections. - **liveStreams**: Current number of live multiplexed streams across all live
TCP connections.
- **rpcCalls**: Total number of RPC calls made to remote nodes. - **rpcCalls**: Total number of RPC calls made to remote nodes.
- **rpcFailures**: Total number of RPC failures, which are RPCs that did not recover. - **rpcFailures**: Total number of RPC failures, which are RPCs that did
not recover.
- **rpcReadBytes**: Total number of RPC bytes read. - **rpcReadBytes**: Total number of RPC bytes read.
- **rpcRetries**: Total number of RPC calls that retried at least once. - **rpcRetries**: Total number of RPC calls that retried at least once.
- **rpcWriteBytes**: Total number of RPC bytes written. - **rpcWriteBytes**: Total number of RPC bytes written.
- **singleUse**: Total number of single-use connections opened using Dial. - **singleUse**: Total number of single-use connections opened using Dial.
- **singleUseOpen**: Number of single-use connections currently open. - **singleUseOpen**: Number of single-use connections currently open.
- **totalConnections**: Total number of TCP connections that have been established. - **totalConnections**: Total number of TCP connections that have been
established.
- **totalStreams**: Total number of streams established. - **totalStreams**: Total number of streams established.
- **influxdb_runtime**: Subset of memstat record statistics for the Go memory allocator. - **influxdb_runtime**: Subset of memstat record statistics for the Go memory
allocator.
- **Alloc**: Currently allocated number of bytes of heap objects. - **Alloc**: Currently allocated number of bytes of heap objects.
- **Frees**: Cumulative number of freed (live) heap objects. - **Frees**: Cumulative number of freed (live) heap objects.
- **HeapAlloc**: Size, in bytes, of all heap objects. - **HeapAlloc**: Size, in bytes, of all heap objects.
@ -173,71 +237,112 @@ built from the InfluxDB source, and may vary between versions:
- **HeapInUse**: Number of bytes in in-use spans. - **HeapInUse**: Number of bytes in in-use spans.
- **HeapObjects**: Number of allocated heap objects. - **HeapObjects**: Number of allocated heap objects.
- **HeapReleased**: Number of bytes of physical memory returned to the OS. - **HeapReleased**: Number of bytes of physical memory returned to the OS.
- **HeapSys**: Number of bytes of heap memory obtained from the OS. Measures the amount of virtual address space reserved for the heap. - **HeapSys**: Number of bytes of heap memory obtained from the OS. Measures
- **Lookups**: Number of pointer lookups performed by the runtime. Primarily useful for debugging runtime internals. the amount of virtual address space reserved for the heap.
- **Mallocs**: Total number of heap objects allocated. The total number of live objects is Frees. - **Lookups**: Number of pointer lookups performed by the runtime. Primarily
useful for debugging runtime internals.
- **Mallocs**: Total number of heap objects allocated. The total number of
live objects is Frees.
- **NumGC**: Number of completed GC (garbage collection) cycles. - **NumGC**: Number of completed GC (garbage collection) cycles.
- **NumGoroutine**: Total number of Go routines. - **NumGoroutine**: Total number of Go routines.
- **PauseTotalNs**: Total duration, in nanoseconds, of total GC (garbage collection) pauses. - **PauseTotalNs**: Total duration, in nanoseconds, of total GC
- **Sys**: Total number of bytes of memory obtained from the OS. Measures the virtual address space reserved by the Go runtime for the heap, stacks, and other internal data structures. (garbage collection) pauses.
- **TotalAlloc**: Total number of bytes allocated for heap objects. This statistic does not decrease when objects are freed. - **Sys**: Total number of bytes of memory obtained from the OS. Measures
the virtual address space reserved by the Go runtime for the heap, stacks,
and other internal data structures.
- **TotalAlloc**: Total number of bytes allocated for heap objects. This
statistic does not decrease when objects are freed.
- **influxdb_shard**: Metrics related to InfluxDB shards. - **influxdb_shard**: Metrics related to InfluxDB shards.
- **diskBytes**: Size, in bytes, of the shard, including the size of the data directory and the WAL directory. - **diskBytes**: Size, in bytes, of the shard, including the size of the
data directory and the WAL directory.
- **fieldsCreate**: Number of fields created. - **fieldsCreate**: Number of fields created.
- **indexType**: Type of index inmem or tsi1. - **indexType**: Type of index inmem or tsi1.
- **n_shards**: Total number of shards in the specified database. - **n_shards**: Total number of shards in the specified database.
- **seriesCreate**: Number of series created. - **seriesCreate**: Number of series created.
- **writeBytes**: Number of bytes written to the shard. - **writeBytes**: Number of bytes written to the shard.
- **writePointsDropped**: Number of requests to write points t dropped from a write. - **writePointsDropped**: Number of requests to write points t dropped from
- **writePointsErr**: Number of requests to write points that failed to be written due to errors. a write.
- **writePointsErr**: Number of requests to write points that failed to be
written due to errors.
- **writePointsOk**: Number of points written successfully. - **writePointsOk**: Number of points written successfully.
- **writeReq**: Total number of write requests. - **writeReq**: Total number of write requests.
- **writeReqErr**: Total number of write requests that failed due to errors. - **writeReqErr**: Total number of write requests that failed due to errors.
- **writeReqOk**: Total number of successful write requests. - **writeReqOk**: Total number of successful write requests.
- **influxdb_subscriber**: InfluxDB subscription metrics. - **influxdb_subscriber**: InfluxDB subscription metrics.
- **createFailures**: Number of subscriptions that failed to be created. - **createFailures**: Number of subscriptions that failed to be created.
- **pointsWritten**: Total number of points that were successfully written to subscribers. - **pointsWritten**: Total number of points that were successfully written
- **writeFailures**: Total number of batches that failed to be written to subscribers. to subscribers.
- **writeFailures**: Total number of batches that failed to be written
to subscribers.
- **influxdb_tsm1_cache**: TSM cache metrics. - **influxdb_tsm1_cache**: TSM cache metrics.
- **cacheAgeMs**: Duration, in milliseconds, since the cache was last snapshotted at sample time. - **cacheAgeMs**: Duration, in milliseconds, since the cache was last
snapshotted at sample time.
- **cachedBytes**: Total number of bytes that have been written into snapshots. - **cachedBytes**: Total number of bytes that have been written into snapshots.
- **diskBytes**: Size, in bytes, of on-disk snapshots. - **diskBytes**: Size, in bytes, of on-disk snapshots.
- **memBytes**: Size, in bytes, of in-memory cache. - **memBytes**: Size, in bytes, of in-memory cache.
- **snapshotCount**: Current level (number) of active snapshots. - **snapshotCount**: Current level (number) of active snapshots.
- **WALCompactionTimeMs**: Duration, in milliseconds, that the commit lock is held while compacting snapshots. - **WALCompactionTimeMs**: Duration, in milliseconds, that the commit lock is
held while compacting snapshots.
- **writeDropped**: Total number of writes dropped due to timeouts. - **writeDropped**: Total number of writes dropped due to timeouts.
- **writeErr**: Total number of writes that failed. - **writeErr**: Total number of writes that failed.
- **writeOk**: Total number of successful writes. - **writeOk**: Total number of successful writes.
- **influxdb_tsm1_engine**: TSM storage engine metrics. - **influxdb_tsm1_engine**: TSM storage engine metrics.
- **cacheCompactionDuration** Duration (wall time), in nanoseconds, spent in cache compactions. - **cacheCompactionDuration** Duration (wall time), in nanoseconds, spent in
- **cacheCompactionErr** Number of cache compactions that have failed due to errors. cache compactions.
- **cacheCompactionErr** Number of cache compactions that have failed due
to errors.
- **cacheCompactions** Total number of cache compactions that have ever run. - **cacheCompactions** Total number of cache compactions that have ever run.
- **cacheCompactionsActive** Number of cache compactions that are currently running. - **cacheCompactionsActive** Number of cache compactions that are currently
- **tsmFullCompactionDuration** Duration (wall time), in nanoseconds, spent in full compactions. running.
- **tsmFullCompactionErr** Total number of TSM full compactions that have failed due to errors. - **tsmFullCompactionDuration** Duration (wall time), in nanoseconds, spent
in full compactions.
- **tsmFullCompactionErr** Total number of TSM full compactions that have
failed due to errors.
- **tsmFullCompactionQueue** Current number of pending TMS Full compactions. - **tsmFullCompactionQueue** Current number of pending TMS Full compactions.
- **tsmFullCompactions** Total number of TSM full compactions that have ever run. - **tsmFullCompactions** Total number of TSM full compactions that have
- **tsmFullCompactionsActive** Number of TSM full compactions currently running. ever run.
- **tsmLevel1CompactionDuration** Duration (wall time), in nanoseconds, spent in TSM level 1 compactions. - **tsmFullCompactionsActive** Number of TSM full compactions currently
- **tsmLevel1CompactionErr** Total number of TSM level 1 compactions that have failed due to errors. running.
- **tsmLevel1CompactionQueue** Current number of pending TSM level 1 compactions. - **tsmLevel1CompactionDuration** Duration (wall time), in nanoseconds,
- **tsmLevel1Compactions** Total number of TSM level 1 compactions that have ever run. spent in TSM level 1 compactions.
- **tsmLevel1CompactionsActive** Number of TSM level 1 compactions that are currently running. - **tsmLevel1CompactionErr** Total number of TSM level 1 compactions that
- **tsmLevel2CompactionDuration** Duration (wall time), in nanoseconds, spent in TSM level 2 compactions. have failed due to errors.
- **tsmLevel2CompactionErr** Number of TSM level 2 compactions that have failed due to errors. - **tsmLevel1CompactionQueue** Current number of pending TSM level 1
- **tsmLevel2CompactionQueue** Current number of pending TSM level 2 compactions. compactions.
- **tsmLevel2Compactions** Total number of TSM level 2 compactions that have ever run. - **tsmLevel1Compactions** Total number of TSM level 1 compactions that have
- **tsmLevel2CompactionsActive** Number of TSM level 2 compactions that are currently running. ever run.
- **tsmLevel3CompactionDuration** Duration (wall time), in nanoseconds, spent in TSM level 3 compactions. - **tsmLevel1CompactionsActive** Number of TSM level 1 compactions that are
- **tsmLevel3CompactionErr** Number of TSM level 3 compactions that have failed due to errors. currently running.
- **tsmLevel3CompactionQueue** Current number of pending TSM level 3 compactions. - **tsmLevel2CompactionDuration** Duration (wall time), in nanoseconds,
- **tsmLevel3Compactions** Total number of TSM level 3 compactions that have ever run. spent in TSM level 2 compactions.
- **tsmLevel3CompactionsActive** Number of TSM level 3 compactions that are currently running. - **tsmLevel2CompactionErr** Number of TSM level 2 compactions that have
- **tsmOptimizeCompactionDuration** Duration (wall time), in nanoseconds, spent during TSM optimize compactions. failed due to errors.
- **tsmOptimizeCompactionErr** Total number of TSM optimize compactions that have failed due to errors. - **tsmLevel2CompactionQueue** Current number of pending TSM level 2
- **tsmOptimizeCompactionQueue** Current number of pending TSM optimize compactions. compactions.
- **tsmOptimizeCompactions** Total number of TSM optimize compactions that have ever run. - **tsmLevel2Compactions** Total number of TSM level 2 compactions that
- **tsmOptimizeCompactionsActive** Number of TSM optimize compactions that are currently running. have ever run.
- **tsmLevel2CompactionsActive** Number of TSM level 2 compactions that
are currently running.
- **tsmLevel3CompactionDuration** Duration (wall time), in nanoseconds,
spent in TSM level 3 compactions.
- **tsmLevel3CompactionErr** Number of TSM level 3 compactions that have
failed due to errors.
- **tsmLevel3CompactionQueue** Current number of pending TSM level 3
compactions.
- **tsmLevel3Compactions** Total number of TSM level 3 compactions that
have ever run.
- **tsmLevel3CompactionsActive** Number of TSM level 3 compactions that
are currently running.
- **tsmOptimizeCompactionDuration** Duration (wall time), in nanoseconds,
spent during TSM optimize compactions.
- **tsmOptimizeCompactionErr** Total number of TSM optimize compactions
that have failed due to errors.
- **tsmOptimizeCompactionQueue** Current number of pending TSM optimize
compactions.
- **tsmOptimizeCompactions** Total number of TSM optimize compactions that
have ever run.
- **tsmOptimizeCompactionsActive** Number of TSM optimize compactions that
are currently running.
- **influxdb_tsm1_filestore**: The TSM file store metrics. - **influxdb_tsm1_filestore**: The TSM file store metrics.
- **diskBytes**: Size, in bytes, of disk usage by the TSM file store. - **diskBytes**: Size, in bytes, of disk usage by the TSM file store.
- **numFiles**: Total number of files in the TSM file store. - **numFiles**: Total number of files in the TSM file store.
@ -248,19 +353,32 @@ built from the InfluxDB source, and may vary between versions:
- **writeOK**: Number of writes that succeeded. - **writeOK**: Number of writes that succeeded.
- **influxdb_write**: Metrics related to InfluxDB writes. - **influxdb_write**: Metrics related to InfluxDB writes.
- **pointReq**: Total number of points requested to be written. - **pointReq**: Total number of points requested to be written.
- **pointReqHH** _(Enterprise only)_: Total number of points received for write by this node and then enqueued into hinted handoff for the destination node. - **pointReqHH** _(Enterprise only)_: Total number of points received for
- **pointReqLocal** _(Enterprise only)_: Total number of point requests that have been attempted to be written into a shard on the same (local) node. write by this node and then enqueued into hinted handoff for the
- **pointReqRemote** _(Enterprise only)_: Total number of points received for write by this node but needed to be forwarded into a shard on a remote node. destination node.
- **pointsWrittenOK**: Number of points written to the HTTP /write endpoint and persisted successfully. - **pointReqLocal** _(Enterprise only)_: Total number of point requests that
have been attempted to be written into a shard on the same (local) node.
- **pointReqRemote** _(Enterprise only)_: Total number of points received for
write by this node but needed to be forwarded into a shard on a remote node.
- **pointsWrittenOK**: Number of points written to the HTTP /write endpoint
and persisted successfully.
- **req**: Total number of batches requested to be written. - **req**: Total number of batches requested to be written.
- **subWriteDrop**: Total number of batches that failed to be sent to the subscription dispatcher. - **subWriteDrop**: Total number of batches that failed to be sent to the
- **subWriteOk**: Total number of batches successfully sent to the subscription dispatcher. subscription dispatcher.
- **valuesWrittenOK**: Number of values (fields) written to the HTTP /write endpoint and persisted successfully. - **subWriteOk**: Total number of batches successfully sent to the
- **writeDrop**: Total number of write requests for points that have been dropped due to timestamps not matching any existing retention policies. subscription dispatcher.
- **writeError**: Total number of batches of points that were not successfully written, due to a failure to write to a local or remote shard. - **valuesWrittenOK**: Number of values (fields) written to the HTTP
- **writeOk**: Total number of batches of points written at the requested consistency level. /write endpoint and persisted successfully.
- **writePartial** _(Enterprise only)_: Total number of batches written to at least one node, but did not meet the requested consistency level. - **writeDrop**: Total number of write requests for points that have been
- **writeTimeout**: Total number of write requests that failed to complete within the default write timeout duration. dropped due to timestamps not matching any existing retention policies.
- **writeError**: Total number of batches of points that were not
successfully written, due to a failure to write to a local or remote shard.
- **writeOk**: Total number of batches of points written at the requested
consistency level.
- **writePartial** _(Enterprise only)_: Total number of batches written to
at least one node, but did not meet the requested consistency level.
- **writeTimeout**: Total number of write requests that failed to complete
within the default write timeout duration.
## Example Output ## Example Output

View File

@ -1,7 +1,7 @@
# Intel PowerStat Input Plugin # Intel PowerStat Input Plugin
This input plugin monitors power statistics on Intel-based platforms and assumes This input plugin monitors power statistics on Intel-based platforms and
presence of Linux based OS. assumes presence of Linux based OS.
Main use cases are power saving and workload migration. Telemetry frameworks Main use cases are power saving and workload migration. Telemetry frameworks
allow users to monitor critical platform level metrics. Key source of platform allow users to monitor critical platform level metrics. Key source of platform
@ -12,28 +12,37 @@ temperature, actual CPU utilization and power statistics.
## Configuration ## Configuration
```toml @sample.conf ```toml @sample.conf
# Intel PowerStat plugin enables monitoring of platform metrics (power, TDP) and per-CPU metrics like temperature, power and utilization. # Intel PowerStat plugin enables monitoring of platform metrics (power, TDP)
# and per-CPU metrics like temperature, power and utilization.
[[inputs.intel_powerstat]] [[inputs.intel_powerstat]]
## The user can choose which package metrics are monitored by the plugin with the package_metrics setting: ## The user can choose which package metrics are monitored by the plugin with
## - The default, will collect "current_power_consumption", "current_dram_power_consumption" and "thermal_design_power" ## the package_metrics setting:
## - Setting this value to an empty array means no package metrics will be collected ## - The default, will collect "current_power_consumption",
## - Finally, a user can specify individual metrics to capture from the supported options list ## "current_dram_power_consumption" and "thermal_design_power"
## - Leaving this setting empty means no package metrics will be collected
## - Finally, a user can specify individual metrics to capture from the
## supported options list
## Supported options: ## Supported options:
## "current_power_consumption", "current_dram_power_consumption", "thermal_design_power", "max_turbo_frequency", "uncore_frequency" ## "current_power_consumption", "current_dram_power_consumption",
## "thermal_design_power", "max_turbo_frequency", "uncore_frequency"
# package_metrics = ["current_power_consumption", "current_dram_power_consumption", "thermal_design_power"] # package_metrics = ["current_power_consumption", "current_dram_power_consumption", "thermal_design_power"]
## The user can choose which per-CPU metrics are monitored by the plugin in cpu_metrics array. ## The user can choose which per-CPU metrics are monitored by the plugin in
## Empty or missing array means no per-CPU specific metrics will be collected by the plugin. ## cpu_metrics array.
## Empty or missing array means no per-CPU specific metrics will be collected
## by the plugin.
## Supported options: ## Supported options:
## "cpu_frequency", "cpu_c0_state_residency", "cpu_c1_state_residency", "cpu_c6_state_residency", "cpu_busy_cycles", "cpu_temperature", "cpu_busy_frequency" ## "cpu_frequency", "cpu_c0_state_residency", "cpu_c1_state_residency",
## ATTENTION: cpu_busy_cycles option is DEPRECATED - superseded by cpu_c0_state_residency ## "cpu_c6_state_residency", "cpu_busy_cycles", "cpu_temperature",
## "cpu_busy_frequency"
## ATTENTION: cpu_busy_cycles is DEPRECATED - use cpu_c0_state_residency
# cpu_metrics = [] # cpu_metrics = []
``` ```
## Example: Configuration with no per-CPU telemetry ## Example: Configuration with no per-CPU telemetry
This configuration allows getting default processor package specific metrics, no This configuration allows getting default processor package specific metrics,
per-CPU metrics are collected: no per-CPU metrics are collected:
```toml ```toml
[[inputs.intel_powerstat]] [[inputs.intel_powerstat]]
@ -42,8 +51,8 @@ per-CPU metrics are collected:
## Example: Configuration with no per-CPU telemetry - equivalent case ## Example: Configuration with no per-CPU telemetry - equivalent case
This configuration allows getting default processor package specific metrics, no This configuration allows getting default processor package specific metrics,
per-CPU metrics are collected: no per-CPU metrics are collected:
```toml ```toml
[[inputs.intel_powerstat]] [[inputs.intel_powerstat]]
@ -72,8 +81,8 @@ Temperature and CPU Frequency):
## Example: Configuration with all available metrics ## Example: Configuration with all available metrics
This configuration allows getting all processor package specific metrics and all This configuration allows getting all processor package specific metrics and
per-CPU metrics: all per-CPU metrics:
```toml ```toml
[[inputs.intel_powerstat]] [[inputs.intel_powerstat]]
@ -87,10 +96,14 @@ Plugin is based on Linux Kernel modules that expose specific metrics over
`sysfs` or `devfs` interfaces. The following dependencies are expected by `sysfs` or `devfs` interfaces. The following dependencies are expected by
plugin: plugin:
- _intel-rapl_ module which exposes Intel Runtime Power Limiting metrics over `sysfs` (`/sys/devices/virtual/powercap/intel-rapl`), - _intel-rapl_ module which exposes Intel Runtime Power Limiting metrics over
- _msr_ kernel module that provides access to processor model specific registers over `devfs` (`/dev/cpu/cpu%d/msr`), `sysfs` (`/sys/devices/virtual/powercap/intel-rapl`),
- _cpufreq_ kernel module - which exposes per-CPU Frequency over `sysfs` (`/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq`). - _msr_ kernel module that provides access to processor model specific
- _intel-uncore-frequency_ module exposes Intel uncore frequency metrics over `sysfs` (`/sys/devices/system/cpu/intel_uncore_frequency`), registers over `devfs` (`/dev/cpu/cpu%d/msr`),
- _cpufreq_ kernel module - which exposes per-CPU Frequency over `sysfs`
(`/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq`).
- _intel-uncore-frequency_ module exposes Intel uncore frequency metrics
over `sysfs` (`/sys/devices/system/cpu/intel_uncore_frequency`),
Minimum kernel version required is 3.13 to satisfy most of requirements, Minimum kernel version required is 3.13 to satisfy most of requirements,
for `uncore_frequency` metrics `intel-uncore-frequency` module is required for `uncore_frequency` metrics `intel-uncore-frequency` module is required
@ -143,17 +156,23 @@ The following processor properties are examined in more detail in this section:
processor _cpu family_, _model_ and _flags_. The following processor properties processor _cpu family_, _model_ and _flags_. The following processor properties
are required by the plugin: are required by the plugin:
- Processor _cpu family_ must be Intel (0x6) - since data used by the plugin assumes Intel specific - Processor _cpu family_ must be Intel (0x6) - since data used by the plugin
model specific registers for all features assumes Intel specific model specific registers for all features
- The following processor flags shall be present: - The following processor flags shall be present:
- "_msr_" shall be present for plugin to read platform data from processor model specific registers and collect - "_msr_" shall be present for plugin to read platform data from processor
the following metrics: _powerstat\_core.cpu\_temperature_, _powerstat\_core.cpu\_busy\_frequency_, model specific registers and collect the following metrics:
_powerstat\_core.cpu\_c0\_state\_residency_, _powerstat\_core.cpu\_c1\_state\_residency_, _powerstat\_core.cpu\_c6\_state\_residency_ _powerstat\_core.cpu\_temperature_, _powerstat\_core.cpu\_busy\_frequency_,
- "_aperfmperf_" shall be present to collect the following metrics: _powerstat\_core.cpu\_busy\_frequency_, _powerstat\_core.cpu\_c0\_state\_residency_,
_powerstat\_core.cpu\_c0\_state\_residency_, _powerstat\_core.cpu\_c1\_state\_residency_ _powerstat\_core.cpu\_c1\_state\_residency_,
_powerstat\_core.cpu\_c6\_state\_residency_
- "_aperfmperf_" shall be present to collect the following metrics:
_powerstat\_core.cpu\_busy\_frequency_,
_powerstat\_core.cpu\_c0\_state\_residency_,
_powerstat\_core.cpu\_c1\_state\_residency_
- "_dts_" shall be present to collect _powerstat\_core.cpu\_temperature_ - "_dts_" shall be present to collect _powerstat\_core.cpu\_temperature_
- Processor _Model number_ must be one of the following values for plugin to read _powerstat\_core.cpu\_c1\_state\_residency_ - Processor _Model number_ must be one of the following values for plugin to
and _powerstat\_core.cpu\_c6\_state\_residency_ metrics: read _powerstat\_core.cpu\_c1\_state\_residency_ and
_powerstat\_core.cpu\_c6\_state\_residency_ metrics:
| Model number | Processor name | | Model number | Processor name |
|-----|-------------| |-----|-------------|
@ -228,7 +247,7 @@ value.
while core_id and package_id tags are additional topology information. while core_id and package_id tags are additional topology information.
- Available metrics for powerstat_core measurement - Available metrics for powerstat_core measurement
| Metric name (field) | Description | Units | | Metric name (field) | Description | Units |
|---------------------|-------------|-------| |---------------------|-------------|-------|
| `cpu_frequency_mhz` | Current operational frequency of CPU Core | MHz | | `cpu_frequency_mhz` | Current operational frequency of CPU Core | MHz |
@ -240,7 +259,6 @@ value.
| `cpu_busy_cycles_percent` | (**DEPRECATED** - superseded by cpu_c0_state_residency_percent) CPU Core Busy cycles as a ratio of Cycles spent in C0 state residency to all cycles executed by CPU Core | % | | `cpu_busy_cycles_percent` | (**DEPRECATED** - superseded by cpu_c0_state_residency_percent) CPU Core Busy cycles as a ratio of Cycles spent in C0 state residency to all cycles executed by CPU Core | % |
- powerstat_package - powerstat_package
- The following Tags are returned by plugin with powerstat_package measurements: - The following Tags are returned by plugin with powerstat_package measurements:
| Tag | Description | | Tag | Description |
@ -250,8 +268,8 @@ value.
| `die`| Specific tag for all `uncore_frequency` metrics. Id of die | `die`| Specific tag for all `uncore_frequency` metrics. Id of die
| `type`| Specific tag for all `uncore_frequency` metrics. Type of uncore frequency (current or initial) | `type`| Specific tag for all `uncore_frequency` metrics. Type of uncore frequency (current or initial)
Measurement powerstat_package metrics are collected per processor package -_package_id_ tag indicates which package metric refers to. Measurement powerstat_package metrics are collected per processor package
_package_id_ tag indicates which package metric refers to.
- Available metrics for powerstat_package measurement - Available metrics for powerstat_package measurement
| Metric name (field) | Description | Units | | Metric name (field) | Description | Units |

View File

@ -1,16 +1,25 @@
# Intel PowerStat plugin enables monitoring of platform metrics (power, TDP) and per-CPU metrics like temperature, power and utilization. # Intel PowerStat plugin enables monitoring of platform metrics (power, TDP)
# and per-CPU metrics like temperature, power and utilization.
[[inputs.intel_powerstat]] [[inputs.intel_powerstat]]
## The user can choose which package metrics are monitored by the plugin with the package_metrics setting: ## The user can choose which package metrics are monitored by the plugin with
## - The default, will collect "current_power_consumption", "current_dram_power_consumption" and "thermal_design_power" ## the package_metrics setting:
## - Setting this value to an empty array means no package metrics will be collected ## - The default, will collect "current_power_consumption",
## - Finally, a user can specify individual metrics to capture from the supported options list ## "current_dram_power_consumption" and "thermal_design_power"
## - Leaving this setting empty means no package metrics will be collected
## - Finally, a user can specify individual metrics to capture from the
## supported options list
## Supported options: ## Supported options:
## "current_power_consumption", "current_dram_power_consumption", "thermal_design_power", "max_turbo_frequency", "uncore_frequency" ## "current_power_consumption", "current_dram_power_consumption",
## "thermal_design_power", "max_turbo_frequency", "uncore_frequency"
# package_metrics = ["current_power_consumption", "current_dram_power_consumption", "thermal_design_power"] # package_metrics = ["current_power_consumption", "current_dram_power_consumption", "thermal_design_power"]
## The user can choose which per-CPU metrics are monitored by the plugin in cpu_metrics array. ## The user can choose which per-CPU metrics are monitored by the plugin in
## Empty or missing array means no per-CPU specific metrics will be collected by the plugin. ## cpu_metrics array.
## Empty or missing array means no per-CPU specific metrics will be collected
## by the plugin.
## Supported options: ## Supported options:
## "cpu_frequency", "cpu_c0_state_residency", "cpu_c1_state_residency", "cpu_c6_state_residency", "cpu_busy_cycles", "cpu_temperature", "cpu_busy_frequency" ## "cpu_frequency", "cpu_c0_state_residency", "cpu_c1_state_residency",
## ATTENTION: cpu_busy_cycles option is DEPRECATED - superseded by cpu_c0_state_residency ## "cpu_c6_state_residency", "cpu_busy_cycles", "cpu_temperature",
## "cpu_busy_frequency"
## ATTENTION: cpu_busy_cycles is DEPRECATED - use cpu_c0_state_residency
# cpu_metrics = [] # cpu_metrics = []

View File

@ -1,11 +1,11 @@
# Iptables Input Plugin # Iptables Input Plugin
The iptables plugin gathers packets and bytes counters for rules within a set of The iptables plugin gathers packets and bytes counters for rules within a set
table and chain from the Linux's iptables firewall. of table and chain from the Linux's iptables firewall.
Rules are identified through associated comment. **Rules without comment are Rules are identified through associated comment. **Rules without comment are
ignored**. Indeed we need a unique ID for the rule and the rule number is not a ignored**. Indeed we need a unique ID for the rule and the rule number is not
constant: it may vary when rules are inserted/deleted at start-up or by a constant: it may vary when rules are inserted/deleted at start-up or by
automatic tools (interactive firewalls, fail2ban, ...). Also when the rule set automatic tools (interactive firewalls, fail2ban, ...). Also when the rule set
is becoming big (hundreds of lines) most people are interested in monitoring is becoming big (hundreds of lines) most people are interested in monitoring
only a small part of the rule set. only a small part of the rule set.
@ -20,8 +20,8 @@ have several options to grant telegraf to run iptables:
* Run telegraf as root. This is strongly discouraged. * Run telegraf as root. This is strongly discouraged.
* Configure systemd to run telegraf with CAP_NET_ADMIN and CAP_NET_RAW. This is * Configure systemd to run telegraf with CAP_NET_ADMIN and CAP_NET_RAW. This is
the simplest and recommended option. the simplest and recommended option.
* Configure sudo to grant telegraf to run iptables. This is the most restrictive * Configure sudo to grant telegraf to run iptables. This is the most
option, but require sudo setup. restrictive option, but require sudo setup.
## Using systemd capabilities ## Using systemd capabilities
@ -33,7 +33,8 @@ CapabilityBoundingSet=CAP_NET_RAW CAP_NET_ADMIN
AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN
``` ```
Since telegraf will fork a process to run iptables, `AmbientCapabilities` is required to transmit the capabilities bounding set to the forked process. Since telegraf will fork a process to run iptables, `AmbientCapabilities` is
required to transmit the capabilities bounding set to the forked process.
## Using sudo ## Using sudo
@ -69,11 +70,13 @@ allowing a lock usage to prevent this error.
[[inputs.iptables]] [[inputs.iptables]]
## iptables require root access on most systems. ## iptables require root access on most systems.
## Setting 'use_sudo' to true will make use of sudo to run iptables. ## Setting 'use_sudo' to true will make use of sudo to run iptables.
## Users must configure sudo to allow telegraf user to run iptables with no password. ## Users must configure sudo to allow telegraf user to run iptables with
## no password.
## iptables can be restricted to only list command "iptables -nvL". ## iptables can be restricted to only list command "iptables -nvL".
use_sudo = false use_sudo = false
## Setting 'use_lock' to true runs iptables with the "-w" option. ## Setting 'use_lock' to true runs iptables with the "-w" option.
## Adjust your sudo settings appropriately if using this option ("iptables -w 5 -nvl") ## Adjust your sudo settings appropriately if using this option
## ("iptables -w 5 -nvl")
use_lock = false use_lock = false
## Define an alternate executable, such as "ip6tables". Default is "iptables". ## Define an alternate executable, such as "ip6tables". Default is "iptables".
# binary = "ip6tables" # binary = "ip6tables"

View File

@ -2,11 +2,13 @@
[[inputs.iptables]] [[inputs.iptables]]
## iptables require root access on most systems. ## iptables require root access on most systems.
## Setting 'use_sudo' to true will make use of sudo to run iptables. ## Setting 'use_sudo' to true will make use of sudo to run iptables.
## Users must configure sudo to allow telegraf user to run iptables with no password. ## Users must configure sudo to allow telegraf user to run iptables with
## no password.
## iptables can be restricted to only list command "iptables -nvL". ## iptables can be restricted to only list command "iptables -nvL".
use_sudo = false use_sudo = false
## Setting 'use_lock' to true runs iptables with the "-w" option. ## Setting 'use_lock' to true runs iptables with the "-w" option.
## Adjust your sudo settings appropriately if using this option ("iptables -w 5 -nvl") ## Adjust your sudo settings appropriately if using this option
## ("iptables -w 5 -nvl")
use_lock = false use_lock = false
## Define an alternate executable, such as "ip6tables". Default is "iptables". ## Define an alternate executable, such as "ip6tables". Default is "iptables".
# binary = "ip6tables" # binary = "ip6tables"

View File

@ -11,8 +11,8 @@ protocol](https://jolokia.org/reference/html/protocol.html).
### Jolokia Agent Configuration ### Jolokia Agent Configuration
The `jolokia2_agent` input plugin reads JMX metrics from one or more [Jolokia The `jolokia2_agent` input plugin reads JMX metrics from one or more
agent](https://jolokia.org/agent/jvm.html) REST endpoints. [Jolokia agent](https://jolokia.org/agent/jvm.html) REST endpoints.
```toml @sample.conf ```toml @sample.conf
[[inputs.jolokia2_agent]] [[inputs.jolokia2_agent]]

View File

@ -1,10 +1,11 @@
# Jolokia2 Proxy input plugin # Jolokia2 Agent Input Plugin
The `jolokia2_proxy` input plugin reads JMX metrics from one or more _targets_ by interacting with a [Jolokia proxy](https://jolokia.org/features/proxy.html) REST endpoint. The `jolokia2_agent` input plugin reads JMX metrics from one or more
[Jolokia agent](https://jolokia.org/agent/jvm.html) REST endpoints.
## Configuration ## Configuration
```toml ```toml @sample.conf
# Read JMX metrics from a Jolokia REST agent endpoint # Read JMX metrics from a Jolokia REST agent endpoint
[[inputs.jolokia2_agent]] [[inputs.jolokia2_agent]]
# default_tag_prefix = "" # default_tag_prefix = ""

View File

@ -1,10 +1,12 @@
# Jolokia2 Agent plugin # Jolokia2 Proxy Input Plugin
The `jolokia2_agent` input plugin reads JMX metrics from one or more [Jolokia agent](https://jolokia.org/agent/jvm.html) REST endpoints. The `jolokia2_proxy` input plugin reads JMX metrics from one or more _targets_
by interacting with a [Jolokia proxy](https://jolokia.org/features/proxy.html)
REST endpoint.
## Configuration ## Configuration
```toml ```toml @sample.conf
# Read JMX metrics from a Jolokia REST proxy endpoint # Read JMX metrics from a Jolokia REST proxy endpoint
[[inputs.jolokia2_proxy]] [[inputs.jolokia2_proxy]]
# default_tag_prefix = "" # default_tag_prefix = ""

View File

@ -31,10 +31,11 @@ The Kapacitor plugin collects metrics from the given Kapacitor instances.
- [num_subscriptions](#num_subscriptions) _(integer)_ - [num_subscriptions](#num_subscriptions) _(integer)_
- [num_tasks](#num_tasks) _(integer)_ - [num_tasks](#num_tasks) _(integer)_
- [kapacitor_alert](#kapacitor_alert) - [kapacitor_alert](#kapacitor_alert)
- [notification_dropped](#notification_dropped) _(integer)_ - [notification_dropped](#notification-dropped) _(integer)_
- [primary-handle-count](#primary-handle-count) _(integer)_ - [primary-handle-count](#primary-handle-count) _(integer)_
- [secondary-handle-count](#secondary-handle-count) _(integer)_ - [secondary-handle-count](#secondary-handle-count) _(integer)_
- (Kapacitor Enterprise only) [kapacitor_cluster](#kapacitor_cluster) _(integer)_ - (Kapacitor Enterprise only) [kapacitor_cluster](#kapacitor_cluster)
_(integer)_
- [dropped_member_events](#dropped_member_events) _(integer)_ - [dropped_member_events](#dropped_member_events) _(integer)_
- [dropped_user_events](#dropped_user_events) _(integer)_ - [dropped_user_events](#dropped_user_events) _(integer)_
- [query_handler_errors](#query_handler_errors) _(integer)_ - [query_handler_errors](#query_handler_errors) _(integer)_
@ -90,8 +91,8 @@ The Kapacitor plugin collects metrics from the given Kapacitor instances.
## kapacitor ## kapacitor
The `kapacitor` measurement stores fields with information related to [Kapacitor The `kapacitor` measurement stores fields with information related to
tasks][tasks] and [subscriptions][subs]. [Kapacitor tasks][tasks] and [subscriptions][subs].
[tasks]: https://docs.influxdata.com/kapacitor/latest/introduction/getting-started/#kapacitor-tasks [tasks]: https://docs.influxdata.com/kapacitor/latest/introduction/getting-started/#kapacitor-tasks
@ -151,6 +152,10 @@ The number of gossip member events that were dropped.
The number of gossip user events that were dropped. The number of gossip user events that were dropped.
### query_handler_errors
The number of errors from event handlers.
--- ---
## kapacitor_edges ## kapacitor_edges

View File

@ -1,7 +1,7 @@
# Kubernetes Inventory Input Plugin # Kubernetes Inventory Input Plugin
This plugin generates metrics derived from the state of the following Kubernetes This plugin generates metrics derived from the state of the following
resources: Kubernetes resources:
- daemonsets - daemonsets
- deployments - deployments
@ -14,9 +14,9 @@ resources:
- services - services
- statefulsets - statefulsets
Kubernetes is a fast moving project, with a new minor release every 3 months. As Kubernetes is a fast moving project, with a new minor release every 3 months.
such, we will aim to maintain support only for versions that are supported by As such, we will aim to maintain support only for versions that are supported
the major cloud providers; this is roughly 4 release / 2 years. by the major cloud providers; this is roughly 4 release / 2 years.
**This plugin supports Kubernetes 1.11 and later.** **This plugin supports Kubernetes 1.11 and later.**
@ -30,7 +30,8 @@ avoid cardinality issues:
- Write to a database with an appropriate [retention policy][]. - Write to a database with an appropriate [retention policy][].
- Consider using the [Time Series Index][tsi]. - Consider using the [Time Series Index][tsi].
- Monitor your databases [series cardinality][]. - Monitor your databases [series cardinality][].
- Consult the [InfluxDB documentation][influx-docs] for the most up-to-date techniques. - Consult the [InfluxDB documentation][influx-docs] for the most up-to-date
techniques.
## Configuration ## Configuration
@ -60,8 +61,9 @@ avoid cardinality issues:
## Optional Resources to exclude from gathering ## Optional Resources to exclude from gathering
## Leave them with blank with try to gather everything available. ## Leave them with blank with try to gather everything available.
## Values can be - "daemonsets", deployments", "endpoints", "ingress", "nodes", ## Values can be - "daemonsets", deployments", "endpoints", "ingress",
## "persistentvolumes", "persistentvolumeclaims", "pods", "services", "statefulsets" ## "nodes", "persistentvolumes", "persistentvolumeclaims", "pods", "services",
## "statefulsets"
# resource_exclude = [ "deployments", "nodes", "statefulsets" ] # resource_exclude = [ "deployments", "nodes", "statefulsets" ]
## Optional Resources to include when gathering ## Optional Resources to include when gathering
@ -352,4 +354,3 @@ kubernetes_statefulset,namespace=default,selector_select1=s1,statefulset_name=et
[tsi]: https://docs.influxdata.com/influxdb/latest/concepts/time-series-index/ [tsi]: https://docs.influxdata.com/influxdb/latest/concepts/time-series-index/
[series cardinality]: https://docs.influxdata.com/influxdb/latest/query_language/spec/#show-cardinality [series cardinality]: https://docs.influxdata.com/influxdb/latest/query_language/spec/#show-cardinality
[influx-docs]: https://docs.influxdata.com/influxdb/latest/ [influx-docs]: https://docs.influxdata.com/influxdb/latest/
[k8s-telegraf]: https://www.influxdata.com/blog/monitoring-kubernetes-architecture/

View File

@ -23,8 +23,9 @@
## Optional Resources to exclude from gathering ## Optional Resources to exclude from gathering
## Leave them with blank with try to gather everything available. ## Leave them with blank with try to gather everything available.
## Values can be - "daemonsets", deployments", "endpoints", "ingress", "nodes", ## Values can be - "daemonsets", deployments", "endpoints", "ingress",
## "persistentvolumes", "persistentvolumeclaims", "pods", "services", "statefulsets" ## "nodes", "persistentvolumes", "persistentvolumeclaims", "pods", "services",
## "statefulsets"
# resource_exclude = [ "deployments", "nodes", "statefulsets" ] # resource_exclude = [ "deployments", "nodes", "statefulsets" ]
## Optional Resources to include when gathering ## Optional Resources to include when gathering

View File

@ -1,9 +1,9 @@
# mdstat Input Plugin # mdstat Input Plugin
The mdstat plugin gathers statistics about any Linux MD RAID arrays configured The mdstat plugin gathers statistics about any Linux MD RAID arrays configured
on the host by reading /proc/mdstat. For a full list of available fields see the on the host by reading /proc/mdstat. For a full list of available fields see
/proc/mdstat section of the [proc man page][man-proc]. For a better idea of the /proc/mdstat section of the [proc man page][man-proc]. For a better idea
what each field represents, see the [mdstat man page][man-mdstat]. of what each field represents, see the [mdstat man page][man-mdstat].
Stat collection based on Prometheus' [mdstat collection library][prom-lib]. Stat collection based on Prometheus' [mdstat collection library][prom-lib].
@ -26,12 +26,16 @@ Stat collection based on Prometheus' [mdstat collection library][prom-lib].
## Metrics ## Metrics
- mdstat - mdstat
- BlocksSynced (if the array is rebuilding/checking, this is the count of blocks that have been scanned) - BlocksSynced (if the array is rebuilding/checking, this is the count of
- BlocksSyncedFinishTime (the expected finish time of the rebuild scan, listed in minutes remaining) blocks that have been scanned)
- BlocksSyncedFinishTime (the expected finish time of the rebuild scan,
listed in minutes remaining)
- BlocksSyncedPct (the percentage of the rebuild scan left) - BlocksSyncedPct (the percentage of the rebuild scan left)
- BlocksSyncedSpeed (the current speed the rebuild is running at, listed in K/sec) - BlocksSyncedSpeed (the current speed the rebuild is running at, listed
in K/sec)
- BlocksTotal (the total count of blocks in the array) - BlocksTotal (the total count of blocks in the array)
- DisksActive (the number of disks that are currently considered healthy in the array) - DisksActive (the number of disks that are currently considered healthy
in the array)
- DisksFailed (the current count of failed disks in the array) - DisksFailed (the current count of failed disks in the array)
- DisksSpare (the current count of "spare" disks in the array) - DisksSpare (the current count of "spare" disks in the array)
- DisksTotal (total count of disks in the array) - DisksTotal (total count of disks in the array)

View File

@ -34,27 +34,36 @@ Fields:
* bytes - Current number of bytes used to store items * bytes - Current number of bytes used to store items
* bytes_read - Total number of bytes read by this server from network * bytes_read - Total number of bytes read by this server from network
* bytes_written - Total number of bytes sent by this server to network * bytes_written - Total number of bytes sent by this server to network
* cas_badval - Number of CAS reqs for which a key was found, but the CAS value did not match * cas_badval - Number of CAS reqs for which a key was found, but the CAS value
did not match
* cas_hits - Number of successful CAS reqs * cas_hits - Number of successful CAS reqs
* cas_misses - Number of CAS reqs against missing keys * cas_misses - Number of CAS reqs against missing keys
* cmd_flush - Cumulative number of flush reqs * cmd_flush - Cumulative number of flush reqs
* cmd_get - Cumulative number of retrieval reqs * cmd_get - Cumulative number of retrieval reqs
* cmd_set - Cumulative number of storage reqs * cmd_set - Cumulative number of storage reqs
* cmd_touch - Cumulative number of touch reqs * cmd_touch - Cumulative number of touch reqs
* conn_yields - Number of times any connection yielded to another due to hitting the -R limit * conn_yields - Number of times any connection yielded to another due to
* connection_structures - Number of connection structures allocated by the server hitting the -R limit
* connection_structures - Number of connection structures allocated by the
server
* curr_connections - Number of open connections * curr_connections - Number of open connections
* curr_items - Current number of items stored * curr_items - Current number of items stored
* decr_hits - Number of successful decr reqs * decr_hits - Number of successful decr reqs
* decr_misses - Number of decr reqs against missing keys * decr_misses - Number of decr reqs against missing keys
* delete_hits - Number of deletion reqs resulting in an item being removed * delete_hits - Number of deletion reqs resulting in an item being removed
* delete_misses - umber of deletions reqs for missing keys * delete_misses - umber of deletions reqs for missing keys
* evicted_active - Items evicted from LRU that had been hit recently but did not jump to top of LRU * evicted_active - Items evicted from LRU that had been hit recently but did
* evicted_unfetched - Items evicted from LRU that were never touched by get/incr/append/etc not jump to top of LRU
* evictions - Number of valid items removed from cache to free memory for new items * evicted_unfetched - Items evicted from LRU that were never touched by
* expired_unfetched - Items pulled from LRU that were never touched by get/incr/append/etc before expiring get/incr/append/etc
* get_expired - Number of items that have been requested but had already expired * evictions - Number of valid items removed from cache to free memory for
* get_flushed - Number of items that have been requested but have been flushed via flush_all new items
* expired_unfetched - Items pulled from LRU that were never touched by
get/incr/append/etc before expiring
* get_expired - Number of items that have been requested but had already
expired
* get_flushed - Number of items that have been requested but have been flushed
via flush_all
* get_hits - Number of keys that have been requested and found present * get_hits - Number of keys that have been requested and found present
* get_misses - Number of items that have been requested and not found * get_misses - Number of items that have been requested and not found
* hash_bytes - Bytes currently used by hash tables * hash_bytes - Bytes currently used by hash tables
@ -63,14 +72,19 @@ Fields:
* incr_hits - Number of successful incr reqs * incr_hits - Number of successful incr reqs
* incr_misses - Number of incr reqs against missing keys * incr_misses - Number of incr reqs against missing keys
* limit_maxbytes - Number of bytes this server is allowed to use for storage * limit_maxbytes - Number of bytes this server is allowed to use for storage
* listen_disabled_num - Number of times server has stopped accepting new connections (maxconns) * listen_disabled_num - Number of times server has stopped accepting new
connections (maxconns)
* max_connections - Max number of simultaneous connections * max_connections - Max number of simultaneous connections
* reclaimed - Number of times an entry was stored using memory from an expired entry * reclaimed - Number of times an entry was stored using memory from an
expired entry
* rejected_connections - Conns rejected in maxconns_fast mode * rejected_connections - Conns rejected in maxconns_fast mode
* store_no_memory - Number of rejected storage requests caused by exhaustion of the memory limit when evictions are disabled * store_no_memory - Number of rejected storage requests caused by exhaustion
* store_too_large - Number of rejected storage requests caused by attempting to write a value larger than the item size limit of the memory limit when evictions are disabled
* store_too_large - Number of rejected storage requests caused by attempting
to write a value larger than the item size limit
* threads - Number of worker threads requested * threads - Number of worker threads requested
* total_connections - Total number of connections opened since the server started running * total_connections - Total number of connections opened since the server
started running
* total_items - Total number of items stored since the server started * total_items - Total number of items stored since the server started
* touch_hits - Number of keys that have been touched with a new expiration time * touch_hits - Number of keys that have been touched with a new expiration time
* touch_misses - Number of items that have been touched and not found * touch_misses - Number of items that have been touched and not found

View File

@ -51,7 +51,8 @@ The mock plugin only requires that:
The available algorithms for generating mock data include: The available algorithms for generating mock data include:
* Constant - generate a field with the given value of type string, float, int or bool * Constant - generate a field with the given value of type string, float, int
or bool
* Random Float - generate a random float, inclusive of min and max * Random Float - generate a random float, inclusive of min and max
* Sine Wave - produce a sine wave with a certain amplitude and period * Sine Wave - produce a sine wave with a certain amplitude and period
* Step - always add the step value, negative values accepted * Step - always add the step value, negative values accepted

View File

@ -4,8 +4,9 @@ The multifile input plugin allows Telegraf to combine data from multiple files
into a single metric, creating one field or tag per file. This is often into a single metric, creating one field or tag per file. This is often
useful creating custom metrics from the `/sys` or `/proc` filesystems. useful creating custom metrics from the `/sys` or `/proc` filesystems.
> Note: If you wish to parse metrics from a single file formatted in one of the supported > Note: If you wish to parse metrics from a single file formatted in one of
> [input data formats][], you should use the [file][] input plugin instead. > the supported [input data formats][], you should use the [file][] input
> plugin instead.
## Configuration ## Configuration
@ -43,8 +44,11 @@ Path of the file to be parsed, relative to the `base_dir`.
Name of the field/tag key, defaults to `$(basename file)`. Name of the field/tag key, defaults to `$(basename file)`.
* `conversion`: * `conversion`:
Data format used to parse the file contents: Data format used to parse the file contents:
* `float(X)`: Converts the input value into a float and divides by the Xth power of 10. Effectively just moves the decimal left X places. For example a value of `123` with `float(2)` will result in `1.23`. * `float(X)`: Converts the input value into a float and divides by the Xth
* `float`: Converts the value into a float with no adjustment. Same as `float(0)`. power of 10. Effectively just moves the decimal left X places. For example
a value of `123` with `float(2)` will result in `1.23`.
* `float`: Converts the value into a float with no adjustment.
Same as `float(0)`.
* `int`: Converts the value into an integer. * `int`: Converts the value into an integer.
* `string`, `""`: No conversion. * `string`, `""`: No conversion.
* `bool`: Converts the value into a boolean. * `bool`: Converts the value into a boolean.

View File

@ -54,7 +54,8 @@ in mySQL configuration. See the performance schema [quick start][quick-start].
## if the list is empty, then metrics are gathered from all database tables ## if the list is empty, then metrics are gathered from all database tables
# table_schema_databases = [] # table_schema_databases = []
## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided
## in the list above
# gather_table_schema = false # gather_table_schema = false
## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
@ -120,7 +121,7 @@ in mySQL configuration. See the performance schema [quick start][quick-start].
## example: interval_slow = "30m" ## example: interval_slow = "30m"
# interval_slow = "" # interval_slow = ""
## Optional TLS Config (will be used if tls=custom parameter specified in server uri) ## Optional TLS Config (used if tls=custom parameter specified in server uri)
# tls_ca = "/etc/telegraf/ca.pem" # tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem" # tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem" # tls_key = "/etc/telegraf/key.pem"
@ -236,9 +237,11 @@ differences.
Requires to be turned on in configuration. Requires to be turned on in configuration.
* binary_size_bytes(int, number) * binary_size_bytes(int, number)
* binary_files_count(int, number) * binary_files_count(int, number)
* Process list - connection metrics from processlist for each user. It has the following tags * Process list - connection metrics from processlist for each user. It has the
following tags
* connections(int, number) * connections(int, number)
* User Statistics - connection metrics from user statistics for each user. It has the following fields * User Statistics - connection metrics from user statistics for each user.
It has the following fields
* access_denied * access_denied
* binlog_bytes_written * binlog_bytes_written
* busy_time * busy_time
@ -286,8 +289,8 @@ and process. It has following fields:
for them. It has following fields: for them. It has following fields:
* auto_increment_column(int, number) * auto_increment_column(int, number)
* auto_increment_column_max(int, number) * auto_increment_column_max(int, number)
* InnoDB metrics - all metrics of information_schema.INNODB_METRICS with a status "enabled". For MariaDB, * InnoDB metrics - all metrics of information_schema.INNODB_METRICS with a
`mariadb_dialect = true` to use `ENABLED=1`. status "enabled". For MariaDB, `mariadb_dialect = true` to use `ENABLED=1`.
* Perf table lock waits - gathers total number and time for SQL and external * Perf table lock waits - gathers total number and time for SQL and external
lock waits events for each table and operation. It has following fields. lock waits events for each table and operation. It has following fields.
The unit of fields varies by the tags. The unit of fields varies by the tags.
@ -321,7 +324,7 @@ The unit of fields varies by the tags.
* events_statements_sort_merge_passes_totals(float, number) * events_statements_sort_merge_passes_totals(float, number)
* events_statements_sort_rows_total(float, number) * events_statements_sort_rows_total(float, number)
* events_statements_no_index_used_total(float, number) * events_statements_no_index_used_total(float, number)
* Table schema - gathers statistics of each schema. It has following measurements * Table schema - gathers statistics per schema. It has following measurements
* info_schema_table_rows(float, number) * info_schema_table_rows(float, number)
* info_schema_table_size_data_length(float, number) * info_schema_table_size_data_length(float, number)
* info_schema_table_size_index_length(float, number) * info_schema_table_size_index_length(float, number)
@ -353,7 +356,8 @@ The unit of fields varies by the tags.
* sql_lock_waits_total(fields including this tag have numeric unit) * sql_lock_waits_total(fields including this tag have numeric unit)
* external_lock_waits_total(fields including this tag have numeric unit) * external_lock_waits_total(fields including this tag have numeric unit)
* sql_lock_waits_seconds_total(fields including this tag have millisecond unit) * sql_lock_waits_seconds_total(fields including this tag have millisecond unit)
* external_lock_waits_seconds_total(fields including this tag have millisecond unit) * external_lock_waits_seconds_total(fields including this tag have
millisecond unit)
* Perf events statements has following tags * Perf events statements has following tags
* event_name * event_name
* Perf file events statuses has following tags * Perf file events statuses has following tags

View File

@ -26,7 +26,8 @@
## if the list is empty, then metrics are gathered from all database tables ## if the list is empty, then metrics are gathered from all database tables
# table_schema_databases = [] # table_schema_databases = []
## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided
## in the list above
# gather_table_schema = false # gather_table_schema = false
## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
@ -92,7 +93,7 @@
## example: interval_slow = "30m" ## example: interval_slow = "30m"
# interval_slow = "" # interval_slow = ""
## Optional TLS Config (will be used if tls=custom parameter specified in server uri) ## Optional TLS Config (used if tls=custom parameter specified in server uri)
# tls_ca = "/etc/telegraf/ca.pem" # tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem" # tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem" # tls_key = "/etc/telegraf/key.pem"