AWS Health Monitoring default checks and policies

  • Release version: Yokohama
  • Updated January 30, 2025
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    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 full answer 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.

    Table 1. AWS Metrics policy
    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)

    ./metrics-ec2.rb -F "{name:tag:environment,values:[ENV1,ENV2]} {name:tag:Name,values:[Instance1,Instance2]}"

    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)

    ./metrics-ebs.rb -F "{name:tag:environment,values:[ENV1,ENV2]} {name:tag:Name,values:[Volume1,Volume2]}"

    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)

    ./metrics-s3.rb -b 5

    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)

    ./metrics-elb.rb -t classic -e "classic,itom,ip" -b 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)

    ./metrics-elb.rb -t network -e "vpc,itom,ip" -b 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)

    ./metrics-elb.rb -t application -e "classic,app,ip" -b 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

    ./metrics-ec2-count.rb -t status

    ./metrics-ec2-count.rb -t status -s metric.aws.ec2

    Table 2. AWS DynamoDB metrics
    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}}
    Table 3. AWS EC2 metrics
    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}}