196 lines
7.8 KiB
Markdown
196 lines
7.8 KiB
Markdown
|
# Alibaba Cloud Monitor Service (Aliyun) Input Plugin
|
||
|
|
||
|
This plugin gathers statistics from the
|
||
|
[Alibaba / Aliyun cloud monitoring service][alibaba]. In the following we will
|
||
|
use `Aliyun` instead of `Alibaba` as it's the default naming across the web
|
||
|
console and docs.
|
||
|
|
||
|
⭐ Telegraf v1.19.0
|
||
|
🏷️ cloud
|
||
|
💻 all
|
||
|
|
||
|
[alibaba]: https://www.alibabacloud.com
|
||
|
|
||
|
## Aliyun Authentication
|
||
|
|
||
|
This plugin uses an [AccessKey][1] credential for Authentication with the
|
||
|
Aliyun OpenAPI endpoint. In the following order the plugin will attempt
|
||
|
to authenticate.
|
||
|
|
||
|
1. Ram RoleARN credential if `access_key_id`, `access_key_secret`, `role_arn`,
|
||
|
`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
|
||
|
4. Ecs Ram Role Credential if `role_name` is specified
|
||
|
5. RSA keypair credential if `private_key`, `public_key_id` is specified
|
||
|
6. Environment variables credential
|
||
|
7. Instance metadata credential
|
||
|
|
||
|
[1]: https://www.alibabacloud.com/help/doc-detail/53045.htm?spm=a2c63.p38356.b99.127.5cba21fdt5MJKr&parentId=28572
|
||
|
|
||
|
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
|
||
|
|
||
|
In addition to the plugin-specific configuration settings, plugins support
|
||
|
additional global and plugin configuration settings. These settings are used to
|
||
|
modify metrics, tags, and field or create aliases and configure ordering, etc.
|
||
|
See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||
|
|
||
|
[CONFIGURATION.md]: ../../../docs/CONFIGURATION.md#plugins
|
||
|
|
||
|
## Configuration
|
||
|
|
||
|
```toml @sample.conf
|
||
|
# Pull Metric Statistics from Aliyun CMS
|
||
|
[[inputs.aliyuncms]]
|
||
|
## Aliyun Credentials
|
||
|
## Credentials are loaded in the following order
|
||
|
## 1) Ram RoleArn credential
|
||
|
## 2) AccessKey STS token credential
|
||
|
## 3) AccessKey credential
|
||
|
## 4) Ecs Ram Role credential
|
||
|
## 5) RSA keypair credential
|
||
|
## 6) Environment variables credential
|
||
|
## 7) Instance metadata credential
|
||
|
|
||
|
# access_key_id = ""
|
||
|
# access_key_secret = ""
|
||
|
# access_key_sts_token = ""
|
||
|
# role_arn = ""
|
||
|
# role_session_name = ""
|
||
|
# private_key = ""
|
||
|
# public_key_id = ""
|
||
|
# role_name = ""
|
||
|
|
||
|
## 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 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:
|
||
|
## cn-qingdao,cn-beijing,cn-zhangjiakou,cn-huhehaote,cn-hangzhou,
|
||
|
## cn-shanghai, cn-shenzhen, cn-heyuan,cn-chengdu,cn-hongkong,
|
||
|
## 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 the metrics with objects
|
||
|
## attributes/tags. Discovery is not supported for all projects.
|
||
|
## Currently, discovery supported for the following projects:
|
||
|
## - acs_ecs_dashboard
|
||
|
## - acs_rds_dashboard
|
||
|
## - acs_slb_dashboard
|
||
|
## - acs_vpc_eip
|
||
|
regions = ["cn-hongkong"]
|
||
|
|
||
|
## Requested AliyunCMS aggregation Period (required)
|
||
|
## The period must be multiples of 60s and the minimum for AliyunCMS metrics
|
||
|
## is 1 minute (60s). However not all metrics are made available to the
|
||
|
## one minute period. Some are collected at 3 minute, 5 minute, or larger
|
||
|
## intervals.
|
||
|
## See: https://help.aliyun.com/document_detail/51936.html?spm=a2c4g.11186623.2.18.2bc1750eeOw1Pv
|
||
|
## 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
|
||
|
## OpenAPI and will not be collected by Telegraf.
|
||
|
period = "5m"
|
||
|
|
||
|
## Collection Delay (required)
|
||
|
## The delay must account for metrics availability via AliyunCMS API.
|
||
|
delay = "1m"
|
||
|
|
||
|
## Recommended: use metric 'interval' that is a multiple of 'period'
|
||
|
## to avoid gaps or overlap in pulled data
|
||
|
interval = "5m"
|
||
|
|
||
|
## Metric Statistic Project (required)
|
||
|
project = "acs_slb_dashboard"
|
||
|
|
||
|
## Maximum requests per second, default value is 200
|
||
|
ratelimit = 200
|
||
|
|
||
|
## How often the discovery API call executed (default 1m)
|
||
|
#discovery_interval = "1m"
|
||
|
|
||
|
## NOTE: Due to the way TOML is parsed, tables must be at the END of the
|
||
|
## plugin definition, otherwise additional config options are read as part of
|
||
|
## the table
|
||
|
|
||
|
## Metrics to Pull
|
||
|
## At least one metrics definition required
|
||
|
[[inputs.aliyuncms.metrics]]
|
||
|
## Metrics names to be requested,
|
||
|
## Description can be found here (per project):
|
||
|
## https://help.aliyun.com/document_detail/28619.html?spm=a2c4g.11186623.6.690.1938ad41wg8QSq
|
||
|
names = ["InstanceActiveConnection", "InstanceNewConnection"]
|
||
|
|
||
|
## Dimension filters for Metric (optional)
|
||
|
## This allows to get additional metric dimension. If dimension is not
|
||
|
## 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). Values specified here would
|
||
|
## be added into the list of discovered objects. You can specify either
|
||
|
## single dimension:
|
||
|
# dimensions = '{"instanceId": "p-example"}'
|
||
|
|
||
|
## Or you can specify several dimensions at once:
|
||
|
# dimensions = '[{"instanceId": "p-example"},{"instanceId": "q-example"}]'
|
||
|
|
||
|
## Tag Query Path
|
||
|
## The following tags added by default:
|
||
|
## * regionId (if discovery enabled)
|
||
|
## * userId
|
||
|
## * instanceId
|
||
|
## Enrichment tags, can be added from discovery (if supported)
|
||
|
## 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. For example, for SLB see:
|
||
|
## https://api.aliyun.com/#/?product=Slb&version=2014-05-15&api=DescribeLoadBalancers¶ms={}&tab=MOCK&lang=GO
|
||
|
# tag_query_path = [
|
||
|
# "address:Address",
|
||
|
# "name:LoadBalancerName",
|
||
|
# "cluster_owner:Tags.Tag[?TagKey=='cs.cluster.name'].TagValue | [0]"
|
||
|
# ]
|
||
|
|
||
|
## Allow metrics without discovery data, if discovery is enabled.
|
||
|
## If set to true, then metric without discovery data would be emitted, otherwise dropped.
|
||
|
## This cane be of help, in case debugging dimension filters, or partial coverage of
|
||
|
## discovery scope vs monitoring scope
|
||
|
# allow_dps_without_discovery = false
|
||
|
```
|
||
|
|
||
|
### Requirements and Terminology
|
||
|
|
||
|
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
|
||
|
- `period` must be a valid duration value
|
||
|
- `project` must be a preset project value
|
||
|
- `names` must be preset metric names
|
||
|
- `dimensions` must be preset dimension values
|
||
|
|
||
|
[2]: https://www.alibabacloud.com/help/doc-detail/28619.htm?spm=a2c63.p38356.a3.2.389f233d0kPJn0
|
||
|
|
||
|
## Metrics
|
||
|
|
||
|
Each Aliyun CMS Project monitored records a measurement with fields for each
|
||
|
available Metric Statistic Project and Metrics are represented in [snake
|
||
|
case](https://en.wikipedia.org/wiki/Snake_case)
|
||
|
|
||
|
- aliyuncms_{project}
|
||
|
- {metric}_average (metric Average value)
|
||
|
- {metric}_minimum (metric Minimum value)
|
||
|
- {metric}_maximum (metric Maximum value)
|
||
|
- {metric}_value (metric Value value)
|
||
|
|
||
|
## Example Output
|
||
|
|
||
|
```text
|
||
|
aliyuncms_acs_slb_dashboard,instanceId=p-example,regionId=cn-hangzhou,userId=1234567890 latency_average=0.004810798017284538,latency_maximum=0.1100282669067383,latency_minimum=0.0006084442138671875
|
||
|
```
|