AWS Health Monitoring default checks and policies
Summarize
Summary of AWS Health Monitoring default checks and policies
The Agent Client Collector for ServiceNow provides a set of default checks and policies designed to monitor various AWS services and resources efficiently. These built-in metrics scripts enable customers to gather key performance data on AWS infrastructure components such as EC2 instances, EBS volumes, S3 buckets, RDS databases, Elastic Load Balancers, DynamoDB tables, and ECS clusters and services.
Show less
Key Features
- Predefined Metric Checks: Includes scripts for collecting metrics from EC2, EBS, S3, RDS, Classic/Network/Application ELBs, DynamoDB, and ECS clusters/services.
- Flexible Filtering: Allows filtering resources by tags or names using string-based filter parameters, enabling targeted monitoring of specific AWS assets.
- Batch Processing: Supports batch size configuration to optimize the number of parallel metric fetches, improving performance and scalability based on the agent’s environment.
- Exclusion Parameters for ELBs: Supports excluding load balancers from monitoring by specifying comma-separated name substrings, useful for ignoring irrelevant or test resources.
- Metric Naming Schemes: Some checks allow customization of metric naming prefixes for easier identification and organization within monitoring dashboards.
- Binding to Configuration Items (CIs): DynamoDB and ECS metrics bind directly to relevant AWS CI types within ServiceNow CMDB for integrated visibility.
Practical Usage for ServiceNow Customers
ServiceNow customers can leverage these default checks to:
- Quickly deploy monitoring for critical AWS services without needing custom scripting.
- Fine-tune monitoring scope and performance by adjusting filters and batch sizes to match their AWS environment scale and tagging strategy.
- Exclude irrelevant resources from monitoring to reduce noise and improve alert accuracy.
- Integrate AWS health data with ServiceNow CMDB through CI bindings for enhanced operational insights and automated workflows.
Example Commands
Each metric check uses a command-line Ruby script with options. Examples include:
- EC2 metrics filtered by tags:
./metrics-ec2.rb -F "{name:tag:environment,values:[ENV1,ENV2]} {name:tag:Name,values:[Instance1,Instance2]}" - S3 metrics with batch size:
./metrics-s3.rb -b 5 - Classic ELB metrics excluding specific load balancers:
./metrics-elb.rb -t classic -e "classic,itom,ip" -b 10
It is important not to alter the command prefixes and to provide filters and exclusions within double quotes for proper execution.
Agent Client Collector provides the following default checks and policies for AWS monitoring.
| Type | Check | Description | Usage | Usage example |
|---|---|---|---|---|
| Metric | aws.metrics-ec2 | Returns metrics of all EC2 instances in a AWS Datacenter. | metrics-ec2.rb (options) -F, --filter FILTER String representation of the filter to filter EC2 instances by tags. -b, --batch_size BATCH_SIZE Batch size. Number of instances to fetch metrics in parallel. (Default value: 10) |
Provide the filter string along with double quotes ("") around the filter parameter. Set the batch_size parameter according to the agent environment. |
| Metric | aws.metrics-ebs | Returns metrics of all EBS volumes in an AWS datacenter. | metrics-ebs.rb (options) -F, --filter FILTER String representation of the filter to filter EBS Volumes by Tags. -b, --batch_size BATCH_SIZE Batch size. Number of volumes to fetch metrics parallelly. (Default value: 10) |
Provide filter string along with double quotes ("") for the filter parameter. Set the batch_size parameter according to the agent environment. |
| Metric | aws.metrics-s3 | Returns metrics of all S3 buckets in an AWS datacenter. | metrics-s3.rb (options) -b, --batch_size BATCH_SIZE Batch size. Number of S3 buckets to fetch metrics in parallel. (Default value: 10) |
Set the batch_size parameter according to the agent environment. |
| Metric | aws.metrics-rds | Returns metrics of all RDS buckets in an AWS datacenter. | metrics-rds.rb (options) -F, --filter FILTER String representation of the filter to filter RDS Instances by tags. -b, --batch_size BATCH_SIZE Batch size. Number of databases to fetch metrics in parallel. (Default value: 10) |
./metrics-rds.rb -F "{name:tag:environment,values:[ENV1,ENV2]}
{name:tag:engine,values:[MariaDB]}"
Provide the filter string with double quotes ("") around the filter parameter. Set the batch_size parameter according to the agent environment. |
| Metric | aws.metrics-classic-elb | Returns metrics of all classic elastic load balancers in an AWS datacenter. | metrics-elb.rb (options) -e, --exclude_lb EXCLUDE_LB Exclude metrics from load balancers whose name contains one of the comma separated strings. -b, --batch_size BATCH_SIZE Batch size. Number of databases to fetch metrics in parallel. (Default value: 10) |
Provide comma separated strings in double quotes ("") for the exclude_lb parameter. Set the batch_size parameter according to the agent environment. |
| Metric | aws.metrics-network-elb | Returns metrics of all network elastic load balancers in an AWS datacenter. | metrics-elb.rb (options) -e, --exclude_lb EXCLUDE_LB Exclude metrics from load balancers whose name contains any of the comma separated strings. -b, --batch_size BATCH_SIZE Batch size. Number of databases to fetch metrics in parallel. (Default value: 10) |
Provide comma separated strings in double quotes ("") for the exclude_lb parameter. Set the batch_size parameter according to the agent environment. Do not change the command prefix. |
| Metric | aws.metrics-application-elb | Returns metrics of all application elastic load balancers in an AWS datacenter. | metrics-elb.rb (options) -e, --exclude_lb EXCLUDE_LB Exclude metrics from load balancers whose name contains any one of the string from comma separated strings. -b, --batch_size BATCH_SIZE Batch size. Number of databases to fetch metrics in parallel. (Default value: 10) |
Provide comma separated strings in double quotes ("") for the exclude_lb parameter. Set the batch_size parameter according to the agent environment. Do not change the command prefix. |
| Metric | aws.metrics-ec2-count | Returns count of EC2 instances by instance_type or status in an AWS datacenter. | metrics-ec2-count.rb (options) -s, --scheme SCHEME Metric naming scheme, text to prepend to metric. Default: aws.ec2 -t, --type METRIC type Count by type: status, instance. Default: instance |
|
| Type | Check | Description | Usage | Command |
|---|---|---|---|---|
| Metric | aws.metrics-dynamodb | Monitors the health of DynamoDB tables in an AWS datacenter. Binds to the DynamoDB table (cmdb_ci_dynamodb_table) |
e, --exclude_tb EXCLUDE_TB Exclude metrics from tables whose name contains a string from comma separated strings.b, --batch_size BATCH_SIZE Batch size. Number of tables to fetch metrics in parallel. (Default value: 10) |
metrics-dynamodb.rb -r {{.labels.params_ci_region}}
{{.labels.params_exclude_tb}} -f {{.labels.params_exclude_tb}} {{end}}
{{.labels.params_batch_size}} -b {{.labels.params_filter}} {{end}} |
| Type | Check | Description | Usage | Command |
|---|---|---|---|---|
| Metric | aws.metrics-ecs-cluster | Monitors ECS clusters in an AWS datacenter. Binds to the AWS ECS Cluster CI type (cmdb_ci_cloud_ecs_cluster) |
-F, --filter FILTER String representation of the filter to filter ECS clusters by tags.b, --batch_size BATCH_SIZE Batch size. Number of clusters to fetch metrics in parallel. (Default value: 10) |
metrics-ecs-cluster.rb -r {{.labels.params_ci_region}}
{{.labels.params_filter}} -f {{.labels.params_filter}} {{end}}
{{.labels.params_batch_size}} -b {{.labels.params_filter}} {{end}} |
| Metric | aws.metrics-ecs-service | Monitors ECS services in an AWS datacenter. Binds to the AWS ECS Service CI type (cmdb_ci_cloud_ecs_service) |
-F, --filter FILTER String representation of the filter to filter ECS clusters by tags.b, --batch_size BATCH_SIZE Batch size. Number of clusters to fetch metrics in parallel. (Default value: 10) |
metrics-ecs-service.rb -r {{.labels.params_ci_region}}
{{.labels.params_filter}} -f {{.labels.params_filter}} {{end}}
{{.labels.params_batch_size}} -b {{.labels.params_filter}} {{end}} |