AWS Health Monitoring default checks and policies

  • Release version: Xanadu
  • Updated August 1, 2024
  • 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 provides a set of default checks and policies designed for comprehensive monitoring of AWS resources within your datacenter. These checks enable you to collect vital metrics on several AWS services, facilitating proactive health monitoring and performance management directly through ServiceNow integrations.

    Show full answer Show less

    Key Features

    • EC2 Instances Monitoring: Collects metrics across all EC2 instances with options to filter by tags and control batch size for parallel data fetching.
    • EBS Volumes Metrics: Enables monitoring of EBS volumes, supporting tag-based filtering and customizable batch sizes.
    • S3 Buckets Metrics: Provides metrics for all S3 buckets with adjustable batch size settings.
    • RDS Instances Monitoring: Captures metrics from RDS instances, allowing filters by tags such as environment or engine type, with parallel processing capabilities.
    • Elastic Load Balancers (ELB): Supports classic, network, and application ELB types with exclusion filters for load balancer names and batch size management.
    • EC2 Instance Count: Retrieves counts of EC2 instances segmented by instance type or status, useful for capacity and health overview.
    • DynamoDB Tables Monitoring: Monitors DynamoDB table health with options to exclude specific tables and control batch size.
    • ECS Clusters and Services Monitoring: Tracks ECS clusters and services, with filtering by tags and batch size configuration.

    Practical Usage

    Each check is implemented through specific Ruby scripts with command-line options to:

    • Apply tag-based filters to narrow down monitored resources (e.g., environment, name, engine type).
    • Set batch sizes to optimize performance and resource utilization during metric collection.
    • Exclude resources by name patterns where applicable (especially for ELB metrics).

    Commands require precise syntax, including double-quoted filter strings and proper parameter usage to ensure accurate data retrieval.

    Benefits for ServiceNow Customers

    • Streamlines AWS resource monitoring by providing out-of-the-box health checks integrated into ServiceNow.
    • Enables customization of monitoring scope via filters and batch size adjustments to fit environment scale and performance needs.
    • Supports a wide range of AWS services, ensuring comprehensive visibility across your cloud infrastructure.
    • Facilitates proactive incident detection and management by continuously collecting relevant AWS metrics.

    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}}