Table: aws_route53_health_check - Query AWS Route 53 Health Check using SQL
The AWS Route 53 Health Check is a feature of Amazon Route 53 service that helps to monitor the health and performance of your web applications, web servers, and other resources. It sends requests to your application, server, or other resource to verify that it's reachable, available, and functional. If the endpoint fails to respond, Route 53 can reroute traffic to healthy resources.
Table Usage Guide
The aws_route53_health_check
table in Steampipe provides you with information about health checks within AWS Route 53. This table allows you, as a DevOps engineer, to query health check-specific details, including health check configuration, health check status, and associated metadata. You can utilize this table to gather insights on health checks, such as health check configuration, health check status, and more. The schema outlines the various attributes of the health check for you, including the health check ID, health check version, type, and associated tags.
Examples
Basic Info
Explore which health checks are currently configured in your AWS Route53 setup. This can help you understand the health status of your resources and identify any potential issues or irregularities in your configuration.
select akas, id, health_check_version, health_check_configfrom aws_route53_health_check;
select akas, id, health_check_version, health_check_configfrom aws_route53_health_check;
List cloud watch configuration for health checks with monitoring enabled
Explore the configurations of health checks that have monitoring enabled within your cloud environment. This can help you understand and manage your cloud health checks more effectively.
select id, health_check_version, cloud_watch_alarm_configuration ->> 'ComparisonOperator' as cloud_watch_comparison_operator, cloud_watch_alarm_configuration ->> 'Dimensions' as cloud_watch_dimensions, cloud_watch_alarm_configuration ->> 'EvaluationPeriods' as cloud_watch_evaluation_periods, cloud_watch_alarm_configuration ->> 'MetricName' as cloud_watch_metric_name, cloud_watch_alarm_configuration ->> 'Period' as cloud_watch_period, cloud_watch_alarm_configuration ->> 'Statistic' as cloud_watch_statistic, cloud_watch_alarm_configuration ->> 'Threshold' as cloud_watch_thresholdfrom aws_route53_health_checkwhere cloud_watch_alarm_configuration is not null;
select id, health_check_version, json_extract( cloud_watch_alarm_configuration, '$.ComparisonOperator' ) as cloud_watch_comparison_operator, json_extract(cloud_watch_alarm_configuration, '$.Dimensions') as cloud_watch_dimensions, json_extract( cloud_watch_alarm_configuration, '$.EvaluationPeriods' ) as cloud_watch_evaluation_periods, json_extract(cloud_watch_alarm_configuration, '$.MetricName') as cloud_watch_metric_name, json_extract(cloud_watch_alarm_configuration, '$.Period') as cloud_watch_period, json_extract(cloud_watch_alarm_configuration, '$.Statistic') as cloud_watch_statistic, json_extract(cloud_watch_alarm_configuration, '$.Threshold') as cloud_watch_thresholdfrom aws_route53_health_checkwhere cloud_watch_alarm_configuration is not null;
List health checks created by another service
Discover the segments that are monitored by health checks initiated by another service, enabling you to assess the elements within your system that are under external supervision. This can be particularly useful in identifying potential dependencies or points of failure in your infrastructure.
select id, health_check_version, linked_service_description, linked_service_principalfrom aws_route53_health_checkwhere linked_service_description is not null;
select id, health_check_version, linked_service_description, linked_service_principalfrom aws_route53_health_checkwhere linked_service_description is not null;
List disabled health checks
Determine the areas in which health checks have been disabled within your AWS Route53 service. This can be useful for troubleshooting or auditing purposes, ensuring that all necessary health checks are active and functioning as expected.
select id, health_check_version, health_check_config ->> 'Disabled' as disabledfrom aws_route53_health_checkwhere cast(health_check_config ->> 'Disabled' as boolean);
select aws_route53_health_check.id, health_check_version, json_extract(health_check_config, '$.Disabled') as disabledfrom aws_route53_health_checkwhere json_extract(health_check_config, '$.Disabled') = 'true';
List health checks configuration details
Explore the configuration details of health checks to understand the status and performance of your domain and IP address. This can help in monitoring network connectivity and diagnosing any potential issues.
select id, health_check_version, health_check_config ->> 'FullyQualifiedDomainName' as fully_qualified_domain_name, health_check_config ->> 'IPAddress' as ip_address, health_check_config ->> 'Port' as port, health_check_config ->> 'Type' as type, health_check_config ->> 'RequestInterval' as request_intervalfrom aws_route53_health_check;
select id, health_check_version, json_extract(health_check_config, '$.FullyQualifiedDomainName') as fully_qualified_domain_name, json_extract(health_check_config, '$.IPAddress') as ip_address, json_extract(health_check_config, '$.Port') as port, json_extract(health_check_config, '$.Type') as type, json_extract(health_check_config, '$.RequestInterval') as request_intervalfrom aws_route53_health_check;
List health checks where CloudWatch alarm is configured
Discover the segments of your network where health checks have been configured with a CloudWatch alarm. This can assist in identifying potential areas of concern and ensuring that your network is properly monitored.
select id, health_check_version, health_check_config ->> 'FullyQualifiedDomainName' as fully_qualified_domain_name, health_check_config ->> 'IPAddress' as ip_address, health_check_config ->> 'Port' as port, health_check_config ->> 'Type' as type, health_check_config ->> 'RequestInterval' as request_interval, health_check_config ->> 'AlarmIdentifier' as alarm_identifierfrom aws_route53_health_checkwhere health_check_config ->> 'AlarmIdentifier' is not null;
select id, health_check_version, json_extract(health_check_config, '$.FullyQualifiedDomainName') as fully_qualified_domain_name, json_extract(health_check_config, '$.IPAddress') as ip_address, json_extract(health_check_config, '$.Port') as port, json_extract(health_check_config, '$.Type') as type, json_extract(health_check_config, '$.RequestInterval') as request_interval, json_extract(health_check_config, '$.AlarmIdentifier') as alarm_identifierfrom aws_route53_health_checkwhere json_extract(health_check_config, '$.AlarmIdentifier') is not null;
List details of failed health checks
Discover the segments that have failed health checks within your AWS Route53 service. This allows you to pinpoint specific areas of concern and take necessary corrective action.
select r.id, r.health_check_version, hc ->> 'IPAddress' as ip_address, hc ->> 'Region' as region, hc -> 'StatusReport' as status_reportfrom aws_route53_health_check as r, jsonb_array_elements(health_check_status) hcwhere hc -> 'StatusReport' ->> 'Status' not like '%Success%';
select r.id, r.health_check_version, json_extract(hc.value, '$.IPAddress') as ip_address, json_extract(hc.value, '$.Region') as region, json_extract(hc.value, '$.StatusReport') as status_reportfrom aws_route53_health_check as r, json_each(health_check_status) as hcwhere json_extract( json_extract(hc.value, '$.StatusReport'), '$.Status' ) not like '%Success%';
Schema for aws_route53_health_check
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
account_id | text | =, !=, ~~, ~~*, !~~, !~~* | The AWS Account ID in which the resource is located. |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
caller_reference | text | A unique string that you specified when you created the health check. | |
cloud_watch_alarm_configuration | jsonb | A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check. | |
health_check_config | jsonb | A complex type that contains detailed information about one health check. | |
health_check_status | jsonb | A list that contains one HealthCheckObservation element for each Amazon Route 53 health checker that is reporting a status about the health check endpoint. | |
health_check_version | bigint | The version of the health check. | |
id | text | = | The identifier that Amazon Route 53 assigned to the health check. |
linked_service_description | text | If the health check was created by another service, an configurationtional description that can be provided by the other service. | |
linked_service_principal | text | If the health check was created by another service, the service that created the resource. | |
partition | text | The AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov). | |
region | text | The AWS Region in which the resource is located. | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
tags | jsonb | A map of tags for the resource. | |
tags_src | jsonb | A map of tags for the resource. | |
title | text | Title of the resource. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws
You can pass the configuration to the command with the --config
argument:
steampipe_export_aws --config '<your_config>' aws_route53_health_check