mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
docs: updated cloudwatch docs, closes #8315
This commit is contained in:
parent
c323d2fc4c
commit
e2f0b42d90
@ -13,29 +13,26 @@ weight = 10
|
|||||||
|
|
||||||
# Using AWS CloudWatch in Grafana
|
# Using AWS CloudWatch in Grafana
|
||||||
|
|
||||||
Grafana ships with built in support for CloudWatch. You just have to add it as a data source and you will
|
Grafana ships with built in support for CloudWatch. You just have to add it as a data source and you will be ready to build dashboards for you CloudWatch metrics.
|
||||||
be ready to build dashboards for you CloudWatch metrics.
|
|
||||||
|
|
||||||
## Adding the data source
|
## Adding the data source to Grafana
|
||||||

|
|
||||||
|
|
||||||
1. Open the side menu by clicking the the Grafana icon in the top header.
|
1. Open the side menu by clicking the Grafana icon in the top header.
|
||||||
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
|
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
|
||||||
|
3. Click the `+ Add data source` button in the top header.
|
||||||
|
4. Select `Cloudwatch` from the *Type* dropdown.
|
||||||
|
|
||||||
> NOTE: If this link is missing in the side menu it means that your current user does not have the `Admin` role for the current organization.
|
> NOTE: If at any moment you have issues with getting this datasource to work and Grafana is giving you undescriptive errors then don't
|
||||||
|
forget to check your log file (try looking in /var/log/grafana/grafana.log).
|
||||||
3. Click the `Add new` link in the top header.
|
|
||||||
4. Select `CloudWatch` from the dropdown.
|
|
||||||
> NOTE: If at any moment you have issues with getting this datasource to work and grafana is giving you undescriptive errors then dont forget to check your log file (try looking in /var/log/grafana/).
|
|
||||||
|
|
||||||
Name | Description
|
Name | Description
|
||||||
------------ | -------------
|
------------ | -------------
|
||||||
Name | The data source name, important that this is the same as in Grafana v1.x if you plan to import old dashboards.
|
*Name* | The data source name. This is how you refer to the data source in panels & queries.
|
||||||
Default | Default data source means that it will be pre-selected for new panels.
|
*Default* | Default data source means that it will be pre-selected for new panels.
|
||||||
Credentials profile name | Specify the name of the profile to use (if you use `~/aws/credentials` file), leave blank for default. This option was introduced in Grafana 2.5.1
|
*Credentials* profile name | Specify the name of the profile to use (if you use `~/aws/credentials` file), leave blank for default.
|
||||||
Default Region | Used in query editor to set region (can be changed on per query basis)
|
*Default Region* | Used in query editor to set region (can be changed on per query basis)
|
||||||
Custom Metrics namespace | Specify the CloudWatch namespace of Custom metrics
|
*Custom Metrics namespace* | Specify the CloudWatch namespace of Custom metrics
|
||||||
Assume Role Arn | Specify the ARN of the role to assume
|
*Assume Role Arn* | Specify the ARN of the role to assume
|
||||||
|
|
||||||
## Authentication
|
## Authentication
|
||||||
|
|
||||||
@ -61,49 +58,64 @@ Example content:
|
|||||||
|
|
||||||
## Metric Query Editor
|
## Metric Query Editor
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
You need to specify a namespace, metric, at least one stat, and at least one dimension.
|
You need to specify a namespace, metric, at least one stat, and at least one dimension.
|
||||||
|
|
||||||
## Templated queries
|
## Templated queries
|
||||||
CloudWatch Datasource Plugin provides the following functions in `Variables values query` field in Templating Editor to query `region`, `namespaces`, `metric names` and `dimension keys/values` on the CloudWatch.
|
|
||||||
|
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
|
||||||
|
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns makes it easy to change the data
|
||||||
|
being displayed in your dashboard.
|
||||||
|
|
||||||
|
Checkout the [Templating]({{< relref "reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
|
||||||
|
types of template variables.
|
||||||
|
|
||||||
|
### Query variable
|
||||||
|
|
||||||
|
CloudWatch Datasource Plugin provides the following queries you can specify in the `Query` field in the Variable
|
||||||
|
edit view. They allow you to fill a variable's options list with things like `region`, `namespaces`, `metric names`
|
||||||
|
and `dimension keys/values`.
|
||||||
|
|
||||||
Name | Description
|
Name | Description
|
||||||
------- | --------
|
------- | --------
|
||||||
`regions()` | Returns a list of regions AWS provides their service.
|
*regions()* | Returns a list of regions AWS provides their service.
|
||||||
`namespaces()` | Returns a list of namespaces CloudWatch support.
|
*namespaces()* | Returns a list of namespaces CloudWatch support.
|
||||||
`metrics(namespace, [region])` | Returns a list of metrics in the namespace. (specify region for custom metrics)
|
*metrics(namespace, [region])* | Returns a list of metrics in the namespace. (specify region for custom metrics)
|
||||||
`dimension_keys(namespace)` | Returns a list of dimension keys in the namespace.
|
*dimension_keys(namespace)* | Returns a list of dimension keys in the namespace.
|
||||||
`dimension_values(region, namespace, metric, dimension_key)` | Returns a list of dimension values matching the specified `region`, `namespace`, `metric` and `dimension_key`.
|
*dimension_values(region, namespace, metric, dimension_key)* | Returns a list of dimension values matching the specified `region`, `namespace`, `metric` and `dimension_key`.
|
||||||
`ebs_volume_ids(region, instance_id)` | Returns a list of volume id matching the specified `region`, `instance_id`.
|
*ebs_volume_ids(region, instance_id)* | Returns a list of volume id matching the specified `region`, `instance_id`.
|
||||||
`ec2_instance_attribute(region, attribute_name, filters)` | Returns a list of attribute matching the specified `region`, `attribute_name`, `filters`.
|
*ec2_instance_attribute(region, attribute_name, filters)* | Returns a list of attribute matching the specified `region`, `attribute_name`, `filters`.
|
||||||
|
|
||||||
For details about the metrics CloudWatch provides, please refer to the [CloudWatch documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
|
For details about the metrics CloudWatch provides, please refer to the [CloudWatch documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
|
||||||
|
|
||||||
## Example templated Queries
|
#### Examples templated Queries
|
||||||
|
|
||||||
Example dimension queries which will return list of resources for individual AWS Services:
|
Example dimension queries which will return list of resources for individual AWS Services:
|
||||||
|
|
||||||
Service | Query
|
Query | Service
|
||||||
------- | -----
|
------- | -----
|
||||||
ELB | `dimension_values(us-east-1,AWS/ELB,RequestCount,LoadBalancerName)`
|
*dimension_values(us-east-1,AWS/ELB,RequestCount,LoadBalancerName)* | ELB
|
||||||
ElastiCache | `dimension_values(us-east-1,AWS/ElastiCache,CPUUtilization,CacheClusterId)`
|
*dimension_values(us-east-1,AWS/ElastiCache,CPUUtilization,CacheClusterId)* | ElastiCache
|
||||||
RedShift | `dimension_values(us-east-1,AWS/Redshift,CPUUtilization,ClusterIdentifier)`
|
*dimension_values(us-east-1,AWS/Redshift,CPUUtilization,ClusterIdentifier)* | RedShift
|
||||||
RDS | `dimension_values(us-east-1,AWS/RDS,CPUUtilization,DBInstanceIdentifier)`
|
*dimension_values(us-east-1,AWS/RDS,CPUUtilization,DBInstanceIdentifier)* | RDS
|
||||||
S3 | `dimension_values(us-east-1,AWS/S3,BucketSizeBytes,BucketName)`
|
*dimension_values(us-east-1,AWS/S3,BucketSizeBytes,BucketName)* | S3
|
||||||
|
|
||||||
## ec2_instance_attribute JSON filters
|
#### ec2_instance_attribute JSON filters
|
||||||
|
|
||||||
The `ec2_instance_attribute` query take `filters` in JSON format.
|
The `ec2_instance_attribute` query take `filters` in JSON format.
|
||||||
You can specify [pre-defined filters of ec2:DescribeInstances](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).
|
You can specify [pre-defined filters of ec2:DescribeInstances](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).
|
||||||
Specify like `{ filter_name1: [ filter_value1 ], filter_name2: [ filter_value2 ] }`
|
|
||||||
|
Filters syntax:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{ filter_name1: [ filter_value1 ], filter_name2: [ filter_value2 ] }
|
||||||
|
```
|
||||||
|
|
||||||
Example `ec2_instance_attribute()` query
|
Example `ec2_instance_attribute()` query
|
||||||
|
|
||||||
ec2_instance_attribute(us-east-1, InstanceId, { "tag:Environment": [ "production" ] })
|
ec2_instance_attribute(us-east-1, InstanceId, { "tag:Environment": [ "production" ] })
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Cost
|
## Cost
|
||||||
|
|
||||||
Amazon provides 1 million CloudWatch API requests each month at no additional charge. Past this,
|
Amazon provides 1 million CloudWatch API requests each month at no additional charge. Past this,
|
||||||
|
Loading…
Reference in New Issue
Block a user