Skip to content

AWS ELB

Use the "Cloud Sync" series of script packages in the script market to synchronize cloud monitoring and cloud asset data to TrueWatch

Configuration

Install Func

It is recommended to activate the TrueWatch integration - extensions - hosted version of Func: all prerequisites are automatically installed, please proceed with the script installation.

If you are deploying Func yourself, refer to Self-deploying Func

Install Script

Note: Please prepare the Amazon AK that meets the requirements in advance (for simplicity, you can directly grant global read-only permissions ReadOnlyAccess)

Activate Script in Hosted Version

  1. Log in to the TrueWatch console
  2. Click the 【Integration】 menu, select 【Cloud Account Management】
  3. Click 【Add Cloud Account】, select 【AWS】, and fill in the required information on the interface. If you have already configured the cloud account information before, ignore this step.
  4. Click 【Test】, after the test is successful, click 【Save】. If the test fails, please check if the relevant configuration information is correct and test again.
  5. Click 【Cloud Account Management】, you can see the added cloud account in the list, click the corresponding cloud account to enter the details page.
  6. Click the 【Integration】 button on the cloud account details page, find AWS ELB under the Not Installed list, click the 【Install】 button, and the installation interface will pop up for installation.

Manually Activate Script

  1. Log in to the Func console, click 【Script Market】, enter the TrueWatch script market, search for integration_aws_elb, integration_aws_applicationelb, integration_aws_networkelb, integration_aws_gatewayelb

  2. Click 【Install】, then enter the corresponding parameters: AWS AK ID, AK Secret, and account name.

  3. Click 【Deploy Startup Script】, the system will automatically create the Startup script set and automatically configure the corresponding startup script.

  4. After enabling, you can see the corresponding automatic trigger configuration in 「Management / Automatic Trigger Configuration」. Click 【Execute】 to execute immediately without waiting for the scheduled time. Wait a moment, you can view the execution task records and corresponding logs.

We have collected some configurations by default, see the Metrics section for details.

Verification

  1. In 「Management / Automatic Trigger Configuration」, confirm whether the corresponding task has the corresponding automatic trigger configuration, and you can also check the corresponding task records and logs to check for any exceptions.
  2. In TrueWatch, check whether the asset information exists in 「Infrastructure / Custom」.
  3. In TrueWatch, check whether there is corresponding monitoring data in 「Metrics」.

Metrics

After configuring Amazon Cloud Monitoring, the default measurement sets are as follows. More metrics can be collected through configuration:

Amazon Cloud Monitoring Application Load Balancer Metrics Details

Amazon Cloud Monitoring Network Load Balancer Metrics Details

Amazon Cloud Monitoring Gateway Load Balancer Metrics Details

Amazon Cloud Monitoring Classic Load Balancer Metrics Details

Application Load Balancer Metrics

Metric Description
ActiveConnectionCount The total number of concurrent active TCP connections from clients to the load balancer and from the load balancer to targets. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ClientTLSNegotiationErrorCount The number of TLS connections initiated by clients that failed to establish a session with the load balancer due to TLS errors. Possible causes include cipher or protocol mismatches or the client closing the connection because it could not verify the server certificate. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ConsumedLCUs The number of load balancer capacity units (LCUs) used by the load balancer. You are charged for the number of LCUs used per hour. For more information, see Elastic Load Balancing Pricing. Reporting Standard: Always reported Statistics: All Dimensions LoadBalancer
DesyncMitigationMode_NonCompliant_Request_Count The number of requests that do not comply with RFC 7230 standards. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
DroppedInvalidHeaderRequestCount The number of requests where the load balancer dropped HTTP headers with invalid header fields before routing the request. The load balancer drops these headers only if the routing.http.drop_invalid_header_fields.enabled attribute is set to true. Reporting Standard: Non-zero value Statistics: All Dimensions AvailabilityZone, LoadBalancer
ForwardedInvalidHeaderRequestCount The number of requests with invalid HTTP header fields that were routed by the load balancer. The load balancer forwards requests with these headers only if the routing.http.drop_invalid_header_fields.enabled attribute is set to false. Reporting Standard: Always reported Statistics: All Dimensions AvailabilityZone, LoadBalancer
GrpcRequestCount The number of gRPC requests processed over IPv4 and IPv6. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Minimum, Maximum, and Average all return 1. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTP_Fixed_Response_Count The number of successful fixed response operations. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTP_Redirect_Count The number of successful redirect operations. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTP_Redirect_Url_Limit_Exceeded_Count The number of redirect operations that could not be completed because the URL in the response location header was larger than 8K. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_3XX_Count The number of HTTP 3XX redirect codes generated by the load balancer. This count does not include response codes generated by targets. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_4XX_Count The number of HTTP 4XX client error codes generated by the load balancer. This count does not include response codes generated by targets. Client errors are generated if the request is malformed or incomplete. Except for the case where the load balancer returns the HTTP 460 error code, targets do not receive these requests. This count does not include any response codes generated by targets. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Minimum, Maximum, and Average all return 1. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_5XX_Count The number of HTTP 5XX server error codes generated by the load balancer. This count does not include any response codes generated by targets. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Minimum, Maximum, and Average all return 1. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_500_Count The number of HTTP 500 error codes generated by the load balancer. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_502_Count The number of HTTP 502 error codes generated by the load balancer. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_503_Count The number of HTTP 503 error codes generated by the load balancer. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
HTTPCode_ELB_504_Count The number of HTTP 504 error codes generated by the load balancer. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
IPv6ProcessedBytes The total number of bytes processed by the load balancer over IPv6. This count is included in ProcessedBytes. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
IPv6RequestCount The number of IPv6 requests received by the load balancer. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Minimum, Maximum, and Average all return 1. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
NewConnectionCount The total number of new TCP connections established from clients to the load balancer and from the load balancer to targets. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
NonStickyRequestCount The number of requests where the load balancer selected a new target because it could not use an existing sticky session. For example, the request is the first request from a new client and no sticky cookie was provided, a sticky cookie was provided but did not specify a target registered to this target group, the sticky cookie was malformed or expired, or an internal error occurred that prevented the load balancer from reading the sticky cookie. Reporting Standard: Sticky is enabled on the target group. Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ProcessedBytes The total number of bytes processed by the load balancer over IPv4 and IPv6 (HTTP headers and HTTP payload). This count includes traffic to and from clients and Lambda functions, as well as traffic from identity providers (IdPs) if user authentication is enabled. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
RejectedConnectionCount The number of connections rejected because the load balancer reached its maximum connection limit. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
RequestCount The number of requests processed over IPv4 and IPv6. This metric increments only for requests where the load balancer node was able to select a target. Requests that were rejected before a target was selected are not reflected in this metric. Reporting Standard: Always reported Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, TargetGroup, LoadBalancer
RuleEvaluations The number of rules processed by the load balancer given the average request rate over a 1-hour period. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer

AWS/ApplicationELB namespace includes the following metrics for targets.

Metric Description
HealthyHostCount The number of targets that are considered healthy. Reporting Standard: Reported when health checks are enabled Statistics: The most useful statistics are Average, Minimum, and Maximum. Dimensions TargetGroup, LoadBalancer``TargetGroup, AvailabilityZone, LoadBalancer``AvailabilityZone, TargetGroup, LoadBalancer
HTTPCode_Target_2XX_Count, HTTPCode_Target_3XX_Count, HTTPCode_Target_4XX_Count, HTTPCode_Target_5XX_Count The number of HTTP response codes generated by targets. It does not include any response codes generated by the load balancer. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Minimum, Maximum, and Average all return 1. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer``TargetGroup, LoadBalancer``TargetGroup, AvailabilityZone, LoadBalancer
RequestCountPerTarget The average number of requests received by each target in the target group. You must specify the target group using the TargetGroup dimension. If the target is a Lambda function, this metric does not apply. Reporting Standard: Always reported Statistics: The only valid statistic is Sum. This represents the average, not the sum. Dimensions TargetGroup``AvailabilityZone, TargetGroup, LoadBalancer
TargetConnectionErrorCount The number of unsuccessful connection attempts between the load balancer and targets. If the target is a Lambda function, this metric does not apply. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer``TargetGroup, LoadBalancer``TargetGroup, AvailabilityZone, LoadBalancer
TargetResponseTime The time elapsed, in seconds, from when the request left the load balancer until a response was received from the target. This is equivalent to the target_processing_time field in the access logs. Reporting Standard: Non-zero value Statistics: The most useful statistics are Average and pNN.NN (percentiles). Dimensions LoadBalancer``AvailabilityZone, LoadBalancer``TargetGroup, LoadBalancer``TargetGroup, AvailabilityZone, LoadBalancer
TargetTLSNegotiationErrorCount The number of TLS connections initiated by the load balancer that failed to establish a session with the target. Possible causes include cipher or protocol mismatches. If the target is a Lambda function, this metric does not apply. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer``TargetGroup, LoadBalancer``TargetGroup, AvailabilityZone, LoadBalancer
UnHealthyHostCount The number of targets that are considered unhealthy. Reporting Standard: Reported when health checks are enabled Statistics: The most useful statistics are Average, Minimum, and Maximum. Dimensions TargetGroup, LoadBalancer``TargetGroup, AvailabilityZone, LoadBalancer``AvailabilityZone, TargetGroup, LoadBalancer

AWS/ApplicationELB namespace includes the following metrics for target group health. For more information, see Target Group Health.

Metric Description
HealthyStateDNS The number of zones that meet the requirements for DNS healthy state. Statistics: The most useful statistic is Min. Dimensions LoadBalancer, TargetGroup``AvailabilityZone, LoadBalancer, TargetGroup
HealthyStateRouting The number of zones that meet the requirements for routing healthy state. Statistics: The most useful statistic is Min. Dimensions LoadBalancer, TargetGroup``AvailabilityZone, LoadBalancer, TargetGroup
UnhealthyRoutingRequestCount The number of requests routed using the routing failover operation (open on failure). Statistics: The most useful statistic is Sum. Dimensions LoadBalancer, TargetGroup``AvailabilityZone, LoadBalancer, TargetGroup
UnhealthyStateDNS The number of zones that do not meet the requirements for DNS healthy state and are therefore marked as unhealthy in DNS. Statistics: The most useful statistic is Min. Dimensions LoadBalancer, TargetGroup``AvailabilityZone, LoadBalancer, TargetGroup
UnhealthyStateRouting The number of zones that do not meet the requirements for routing healthy state and therefore the load balancer distributes traffic to all targets in the zone (including unhealthy targets). Statistics: The most useful statistic is Min. Dimensions LoadBalancer, TargetGroup``AvailabilityZone, LoadBalancer, TargetGroup

AWS/ApplicationELB namespace includes the following metrics for Lambda functions registered as targets.

Metric Description
LambdaInternalError The number of requests to Lambda functions that failed due to internal issues with the load balancer or AWS Lambda. To get the error reason code, check the error_reason field in the access logs. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions TargetGroup``TargetGroup, LoadBalancer
LambdaTargetProcessedBytes The total number of bytes processed by the load balancer for requests to and responses from Lambda functions. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer
LambdaUserError The number of requests to Lambda functions that failed due to issues with the Lambda function. For example, the load balancer does not have permission to invoke the function, the load balancer receives JSON from the function that is malformed or missing required fields, or the request body or response exceeds the maximum size of 1 MB. To get the error reason code, check the error_reason field in the access logs. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions TargetGroup``TargetGroup, LoadBalancer

AWS/ApplicationELB namespace includes the following metrics for user authentication.

Metric Description
ELBAuthError The number of times user authentication could not be completed due to misconfigured authentication operations, the load balancer could not establish a connection with the IdP, or the load balancer could not complete the authentication flow due to internal errors. To get the error reason code, check the error_reason field in the access logs. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ELBAuthFailure The number of times user authentication could not be completed because the IdP denied user access or the authorization code was used multiple times. To get the error reason code, check the error_reason field in the access logs. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ELBAuthLatency The time, in milliseconds, taken to query the IdP for an ID token and user information. If one or more of these operations fail, this represents the failure time. Reporting Standard: Non-zero value Statistics: All statistics are meaningful. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ELBAuthRefreshTokenSuccess The number of times the load balancer successfully refreshed user claims using a refresh token provided by the IdP. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ELBAuthSuccess The number of successful authentication operations. This metric increments when the load balancer retrieves user identity claims from the IdP and the verification workflow ends. Reporting Standard: Non-zero value Statistics: The most useful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer
ELBAuthUserClaimsSizeExceeded The number of times the configured IdP returned user claims that exceeded 11K bytes in size. Reporting Standard: Non-zero value Statistics: The only meaningful statistic is Sum. Dimensions LoadBalancer``AvailabilityZone, LoadBalancer

Network Load Balancer Metrics

Metric Description
ActiveFlowCount The total number of concurrent flows (or connections) from clients to targets. This metric includes connections in the SYN_SENT and ESTABLISHED states. TCP connections are not terminated on the load balancer, so a client with an open TCP connection to a target counts as one flow. Reporting Standard: Always reported. Statistics: The most useful statistics are Average, Maximum, and Minimum. Dimensions: LoadBalancer``AvailabilityZone, LoadBalancer
ActiveFlowCount_TCP The total number of concurrent TCP flows (or connections) from clients to targets. This metric includes connections in the SYN_SENT and ESTABLISHED states. TCP connections are not terminated on the load balancer, so a client with an open TCP connection to a target counts as one flow. Reporting Standard: Non-zero value. Statistics: The most useful statistics are Average, Maximum, and Minimum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
ConsumedLCUs The number of load balancer capacity units (LCUs) used by the load balancer. You are charged for the number of LCUs used per hour. Reporting Standard: Always reported. Statistics: All. Dimensions: LoadBalancer
ConsumedLCUs_TCP The number of load balancer capacity units (LCUs) used by the load balancer for TCP. You are charged for the number of LCUs used per hour. Reporting Standard: Non-zero value. Statistics: All. Dimensions: LoadBalancer
NewFlowCount The total number of new flows (or connections) established from clients to targets during the period. Reporting Standard: Always reported. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
NewFlowCount_TCP The total number of new TCP flows (or connections) established from clients to targets during the period. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
PeakPacketsPerSecond The highest average packet rate (packets per second processed), calculated every 10 seconds during the sampling window. This metric includes health check traffic. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Maximum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
ProcessedBytes The total number of bytes processed by the load balancer, including TCP/IP headers. This count includes traffic to and from targets, minus health check traffic. Reporting Standard: Always reported. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
ProcessedBytes_TCP The total number of bytes processed by TCP listeners. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
ProcessedPackets The total number of packets processed by the load balancer. This count includes traffic to and from targets, as well as health check traffic. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
TCP_Client_Reset_Count The total number of reset (RST) packets sent from clients to targets. These resets are generated by clients and then forwarded by the load balancer. Reporting Standard: Always reported. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
TCP_ELB_Reset_Count The total number of reset (RST) packets generated by the load balancer. Reporting Standard: Always reported. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
TCP_Target_Reset_Count The total number of reset (RST) packets sent from targets to clients. These resets are generated by targets and then forwarded by the load balancer. Reporting Standard: Always reported. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer
UnhealthyRoutingFlowCount The number of flows (or connections) routed using the routing failover operation (open on failure). Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer,AvailabilityZone LoadBalancer

Gateway Load Balancer Metrics

Metric Description
ActiveFlowCount The total number of concurrent flows (or connections) from clients to targets. Reporting Standard: Non-zero value. Statistics: The most useful statistics are Average, Maximum, and Minimum. Dimensions: LoadBalancer``AvailabilityZone, LoadBalancer
ConsumedLCUs The number of load balancer capacity units (LCUs) used by the load balancer. You are charged for the number of LCUs used per hour. Reporting Standard: Always reported. Statistics: All. Dimensions: LoadBalancer
HealthyHostCount The number of targets that are considered healthy. Reporting Standard: Reported when health checks are enabled. Statistics: The most useful statistics are Maximum and Minimum. Dimensions: LoadBalancer``TargetGroup,AvailabilityZone``LoadBalancer``TargetGroup
NewFlowCount The total number of new flows (or connections) established from clients to targets during the period. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer``AvailabilityZone, LoadBalancer
ProcessedBytes The total number of bytes processed by the load balancer. This count includes traffic to and from targets, but excludes health check traffic. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer``AvailabilityZone, LoadBalancer
UnHealthyHostCount The number of targets that are considered unhealthy. Reporting Standard: Reported when health checks are enabled. Statistics: The most useful statistics are Maximum and Minimum. Dimensions: LoadBalancer``TargetGroup,AvailabilityZone``LoadBalancer``TargetGroup

Classic Load Balancer Metrics

Metric Description
BackendConnectionErrors The number of unsuccessful connection attempts between the load balancer and registered instances. Because the load balancer retries connections when an error occurs, this count can exceed the request rate. Note that this count also includes all connection errors related to health checks. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Note that Average, Minimum, and Maximum are reported per load balancer node and are generally not useful. However, the difference between the minimum and maximum (or peak to average, average to trough) can be used to determine if a load balancer node is abnormal. Example: Suppose your load balancer has 2 instances in us-west-2a and 2 instances in us-west-2b, and connection attempts to 1 instance in us-west-2a result in backend connection errors. The sum value for us-west-2a includes these connection errors, while the sum value for us-west-2b does not. Therefore, the sum value for the load balancer equals the sum value for us-west-2a.
DesyncMitigationMode_NonCompliant_Request_Count [HTTP Listener] The number of requests that do not comply with RFC 7230 standards. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Dimensions: LoadBalancer``AvailabilityZone, LoadBalancer
HealthyHostCount The number of healthy instances registered with the load balancer. Newly registered instances are considered healthy after passing their first health check. If cross-zone load balancing is enabled, the number of healthy instances is calculated across all availability zones for the LoadBalancerName dimension. Otherwise, it is calculated per availability zone. Reporting Standard: There are registered instances. Statistics: The most useful statistics are Average and Maximum. These statistics are determined by the load balancer nodes. Note that some load balancer nodes may consider an instance unhealthy for a short period of time, while other nodes consider it healthy. Example: Suppose your load balancer has 2 instances in us-west-2a and 2 instances in us-west-2b, and 1 instance in us-west-2a is unhealthy, while there are no unhealthy instances in us-west-2b. For the AvailabilityZone dimension, us-west-2a averages 1 healthy and 1 unhealthy instance, while us-west-2b averages 2 healthy and 0 unhealthy instances.
HTTPCode_Backend_2XX, HTTPCode_Backend_3XX, HTTPCode_Backend_4XX, HTTPCode_Backend_5XX [HTTP Listener] The number of HTTP response codes generated by registered instances. This count does not include any response codes generated by the load balancer. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average are all 1. Example: Suppose your load balancer has 2 instances in us-west-2a and 2 instances in us-west-2b, and requests sent to 1 instance in us-west-2a result in HTTP 500 responses. The sum value for us-west-2a includes these error responses, while the sum value for us-west-2b does not. Therefore, the sum value for the load balancer equals the sum value for us-west-2a.
HTTPCode_ELB_4XX [HTTP Listener] The number of HTTP 4XX client error codes generated by the load balancer. Client errors are generated if the request is malformed or incomplete. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average are all 1. Example: Suppose your load balancer is enabled in us-west-2a and us-west-2b, and client requests contain malformed request URLs. This could result in an increase in client errors across all availability zones. The sum value for the load balancer is the sum of the values for each availability zone.
HTTPCode_ELB_5XX [HTTP Listener] The number of HTTP 5XX server error codes generated by the load balancer. This count does not include any response codes generated by registered instances. This metric is reported if no healthy instances are registered with the load balancer or if the request rate exceeds the capacity of the instances or the load balancer (overflow). Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average are all 1. Example: Suppose your load balancer is enabled in us-west-2a and us-west-2b, and instances in us-west-2a have high latency and respond slowly to requests. As a result, the surge queue on the load balancer nodes in us-west-2a fills up, and clients receive 503 errors. If us-west-2b continues to respond normally, the sum value for the load balancer will equal the sum value for us-west-2a.
Latency [HTTP Listener] The total time, in seconds, from when the load balancer sends the request to a registered instance until the instance starts sending response headers. [TCP Listener] The total time, in seconds, taken by the load balancer to successfully establish a connection with a registered instance. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Average. Maximum can be used to determine if some requests take significantly longer than the average time. Note that Minimum is generally not useful. Example: Suppose your load balancer has 2 instances in us-west-2a and 2 instances in us-west-2b, and requests sent to 1 instance in us-west-2a have high latency. The average value for us-west-2a will be higher than the average value for us-west-2b.
RequestCount The number of completed requests or established connections during the specified period (1 or 5 minutes). [HTTP Listener] The number of requests received and routed, including HTTP error responses from registered instances. [TCP Listener] The number of connections established to registered instances. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Example: Suppose your load balancer has 2 instances in us-west-2a and 2 instances in us-west-2b, and 100 requests are sent to the load balancer. 60 requests are sent to us-west-2a, with each instance receiving 30 requests, and 40 requests are sent to us-west-2b, with each instance receiving 20 requests. For the AvailabilityZone dimension, us-west-2a has a total of 60 requests, and us-west-2b has a total of 40 requests. For the LoadBalancerName dimension, there is a total of 100 requests.
SpilloverCount The total number of requests rejected because the surge queue was full. [HTTP Listener] The load balancer returns HTTP 503 error codes. [TCP Listener] The load balancer closes the connection. Reporting Standard: Non-zero value. Statistics: The most useful statistic is Sum. Note that Average, Minimum, and Maximum are reported per load balancer node and are generally not useful. Example: Suppose your load balancer is enabled in us-west-2a and us-west-2b, and instances in us-west-2a have high latency and respond slowly to requests. As a result, the surge queue on the load balancer nodes in us-west-2a fills up, causing spillover. If us-west-2b continues to respond normally, the sum value for the load balancer will be the same as the sum value for us-west-2a.
SurgeQueueLength The total number of requests (HTTP listener) or connections (TCP listener) waiting to be routed to healthy instances. The maximum queue size is 1024. Once the queue is full, additional requests or connections are rejected. For more information, see SpilloverCount. Reporting Standard: Non-zero value. Statistics: The most valuable statistic is Maximum, as it represents the peak of queued requests. Using the Average statistic in combination with Minimum and Maximum can determine the range of queued requests. Note that Sum is not useful. Example: Suppose your load balancer is enabled in us-west-2a and us-west-2b, and instances in us-west-2a have high latency and respond slowly to requests. As a result, the surge queue on the load balancer nodes in us-west-2a fills up, likely increasing the response time for clients. If this continues, the load balancer may spill over (see the SpilloverCount metric). If us-west-2b continues to respond normally, the max for the load balancer will be the same as the max for us-west-2a.
UnHealthyHostCount The number of unhealthy instances registered with the load balancer. Instances are considered unhealthy if they exceed the configured unhealthy threshold for health checks. Unhealthy instances are re-considered healthy after meeting the configured healthy threshold for health checks. Reporting Standard: There are registered instances. Statistics: The most useful statistics are Average and Minimum. These statistics are determined by the load balancer nodes. Note that some load balancer nodes may consider an instance unhealthy for a short period of time, while other nodes consider it healthy. Example: See HealthyHostCount.

Load Balancer Metric Dimensions

To filter metrics for Application / Network / Gateway load balancers, use the following dimensions.

Dimension Description
AvailabilityZone Filter metric data by availability zone.
LoadBalancer Filter metric data by load balancer. Specify the load balancer as follows: app/load-balancer-name/1234567890123456 (the end part of the load balancer ARN).
TargetGroup Filter metric data by target group. Specify the target group as follows: targetgroup/target-group-name/1234567890123456 (the end part of the target group ARN).

To filter metrics for Classic load balancers, use the following dimensions.

Dimension Description
AvailabilityZone Filter metric data by availability zone.
LoadBalancerName Filter metric data by the specified load balancer.

Object

The AWS ELB object data structure collected can be seen in 「Infrastructure - Custom」

{
  "measurement": "aws_aelb",
  "tags": {
    "name"                 : "app/openway/8e8d762xxxxxx",
    "RegionId"             : "cn-northwest-1",
    "LoadBalancerArn"      : "arn:aws-cn:elasticloadbalancing:cn-northwest-1:588271xxxxx:loadbalancer/app/openway/8e8d762xxxxxx",
    "State"                : "active",
    "Type"                 : "application",
    "VpcId"                : "vpc-2exxxxx",
    "Scheme"               : "internet-facing",
    "DNSName"              : "openway-203509xxxx.cn-northwest-1.elb.amazonaws.com.cn",
    "LoadBalancerName"     : "openway",
    "CanonicalHostedZoneId": "ZM7IZAIxxxxxx"
  },
  "fields": {
    "CreatedTime"         : "2022-03-09T06:13:31Z",
    "ListenerDescriptions": "{JSON data}",
    "AvailabilityZones"   : "{Availability Zone JSON data}",
    "message"             : "{Instance JSON data}"
  }
}

Note: The fields in tags, fields may change with subsequent updates

Tip 1: AWS ELB measurement sets are divided into four types based on different load balancers:

  1. Application ELB corresponds to the measurement set aws_aelb
  2. Network ELB corresponds to the measurement set aws_nelb
  3. Gateway ELB corresponds to the measurement set aws_gelb
  4. Classic ELB corresponds to the measurement set aws_elb

Tip 2: The value of tags.name is determined in two ways:

  1. For Classic Load Balancers, the LoadBalancerName field is used.
  2. For Application, Network, and Gateway Load Balancers, the end part of the load balancer ARN (LoadBalancerArn) is used.

For example, for a Network Load Balancer:

`LoadBalancerArn` is `arn:awS-cn:elasticloadbalancing:cn-northwest-1:xxxx1335135:loadbalancer/net/k8s-forethou-kodongin-xxxxa46f01/xxxxe75ae81d08c2`

The corresponding tags.name is net/k8s-forethou-kodongin-xxxxa46f01/xxxxe75ae81d08c2

Tip 3:

  • fields.message, tags.AvailabilityZones are JSON serialized strings
  • The tags.state field indicates the Load Balancers status, with possible values: active, provisioning, active_impaired, failed (the "classic" type load balancer instances do not have this field)
  • The tags.Type field indicates the Load Balancers type, with possible values: application, network, gateway, classic
  • The tags.Scheme field indicates the Load Balancers scheme, with possible values: internet-facing, internal
  • The fields.ListenerDescriptions field is the list of listeners for this load balancer
  • The fields.AvailabilityZones field indicates the Amazon Route 53 availability zone information associated with the load balancer