Monitor Type: appmesh
(Source)
Accepts Endpoints: No
Multiple Instances Allowed: Yes
This monitor starts a StatsD monitor to listen to StatsD metrics emitted by AWS AppMesh Envoy Proxy.
To report AppMesh Envoy metrics, you need to enable Envoy StatsD sink on AppMesh and deploy the agent as a sidecar in the services that need to be monitored.
Sample Envoy StatsD configuration:
stats_sinks:
-
name: "envoy.statsd"
config:
address:
socket_address:
address: "127.0.0.1"
port_value: 8125
protocol: "UDP"
prefix: statsd.appmesh
Please remember to provide the prefix to the agent monitor configuration.
See Envoy API reference for more info
Sample SignalFx SmartAgent configuration:
monitors:
- type: appmesh
listenAddress: 0.0.0.0
listenPort: 8125
metricPrefix: statsd.appmesh
To activate this monitor in the Smart Agent, add the following to your agent config:
monitors: # All monitor config goes under this key
- type: appmesh
... # Additional config
For a list of monitor options that are common to all monitors, see Common Configuration.
Config option | Required | Type | Description |
---|---|---|---|
listenAddress |
no | string |
The host/address on which to bind the UDP listener that accepts statsd datagrams (default: localhost ) |
listenPort |
no | integer |
The port on which to listen for statsd messages (default: 8125 ) |
metricPrefix |
no | string |
A prefix in metric names that needs to be removed before metric name conversion |
These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.
circuit_breakers.<priority>.cx_open
(gauge)
Whether the connection circuit breaker is closed (0) or open (1)circuit_breakers.<priority>.cx_pool_open
(gauge)
Whether the connection pool circuit breaker is closed (0) or open (1)circuit_breakers.<priority>.remaining_cx
(gauge)
Number of remaining connections until the circuit breaker openscircuit_breakers.<priority>.remaining_pending
(gauge)
Number of remaining pending requests until the circuit breaker openscircuit_breakers.<priority>.remaining_retries
(gauge)
Number of remaining retries until the circuit breaker openscircuit_breakers.<priority>.remaining_rq
(gauge)
Number of remaining requests until the circuit breaker openscircuit_breakers.<priority>.rq_open
(gauge)
Whether the requests circuit breaker is closed (0) or open (1)circuit_breakers.<priority>.rq_pending_open
(gauge)
Whether the pending requests circuit breaker is closed (0) or open (1)circuit_breakers.<priority>.rq_retry_open
(gauge)
Whether the retry circuit breaker is closed (0) or open (1)external.upstream_rq_<_>
(cumulative)
External origin specific HTTP response codesexternal.upstream_rq_<_xx>
(cumulative)
External origin aggregate HTTP response codesexternal.upstream_rq_completed
(cumulative)
Total external origin requests completedexternal.upstream_rq_time
(gauge)
External origin request time millisecondsinternal.upstream_rq_<_>
(cumulative)
Internal origin specific HTTP response codesinternal.upstream_rq_<_xx>
(cumulative)
Internal origin aggregate HTTP response codesinternal.upstream_rq_completed
(cumulative)
Total internal origin requests completedinternal.upstream_rq_time
(gauge)
Internal origin request time millisecondsmembership_change
(cumulative)
Total cluster membership changesmembership_degraded
(gauge)
Current cluster degraded totalmembership_healthy
(gauge)
Current cluster healthy total (inclusive of both health checking and outlier detection)membership_total
(gauge)
Current cluster membership totalupstream_cx_active
(gauge)
Total active connectionsupstream_cx_close_notify
(cumulative)
Total connections closed via HTTP/1.1 connection close header or HTTP/2 GOAWAYupstream_cx_connect_attempts_exceeded
(cumulative)
Total consecutive connection failures exceeding configured connection attemptsupstream_cx_connect_fail
(cumulative)
Total connection failuresupstream_cx_connect_ms
(gauge)
Connection establishment millisecondsupstream_cx_connect_timeout
(cumulative)
Total connection connect timeoutsupstream_cx_destroy
(cumulative)
Total destroyed connectionsupstream_cx_destroy_local
(cumulative)
Total connections destroyed locallyupstream_cx_destroy_local_with_active_rq
(cumulative)
Total connections destroyed locally with 1+ active requestupstream_cx_destroy_remote
(cumulative)
Total connections destroyed remotelyupstream_cx_destroy_remote_with_active_rq
(cumulative)
Total connections destroyed remotely with 1+ active requestupstream_cx_destroy_with_active_rq
(cumulative)
Total connections destroyed with 1+ active requestupstream_cx_http1_total
(cumulative)
Total HTTP/1.1 connectionsupstream_cx_http2_total
(cumulative)
Total HTTP/2 connectionsupstream_cx_idle_timeout
(cumulative)
Total connection idle timeoutsupstream_cx_length_ms
(gauge)
Connection length millisecondsupstream_cx_max_requests
(cumulative)
Total connections closed due to maximum requestsupstream_cx_none_healthy
(cumulative)
Total times connection not established due to no healthy hostsupstream_cx_overflow
(cumulative)
Total times that the cluster’s connection circuit breaker overflowedupstream_cx_pool_overflow
(cumulative)
Total times that the cluster’s connection pool circuit breaker overflowedupstream_cx_protocol_error
(cumulative)
Total connection protocol errorsupstream_cx_rx_bytes_buffered
(gauge)
Received connection bytes currently bufferedupstream_cx_rx_bytes_total
(cumulative)
Total received connection bytesupstream_cx_total
(cumulative)
Total connectionsupstream_cx_tx_bytes_buffered
(gauge)
Send connection bytes currently bufferedupstream_cx_tx_bytes_total
(cumulative)
Total sent connection bytesupstream_rq_2xx
(cumulative)
Total number of HTTP response codes in the 200-299 rangeupstream_rq_3xx
(cumulative)
Total number of HTTP response codes in the 300-399 rangeupstream_rq_4xx
(cumulative)
Total number of HTTP response codes in the 400-499 rangeupstream_rq_5xx
(cumulative)
Total number of HTTP response codes in the 500-599 rangeupstream_rq_<___>
(cumulative)
Specific HTTP response codes (e.g., 201, 302, etc.)upstream_rq_active
(gauge)
Total active requestsupstream_rq_cancelled
(cumulative)
Total requests cancelled before obtaining a connection pool connectionupstream_rq_completed
(cumulative)
Total upstream requests completedupstream_rq_maintenance_mode
(cumulative)
Total requests that resulted in an immediate 503 due to maintenance modeupstream_rq_pending_active
(gauge)
Total active requests pending a connection pool connectionupstream_rq_pending_failure_eject
(cumulative)
Total requests that were failed due to a connection pool connection failureupstream_rq_pending_overflow
(cumulative)
Total requests that overflowed connection pool circuit breaking and were failedupstream_rq_pending_total
(cumulative)
Total requests pending a connection pool connectionupstream_rq_per_try_timeout
(cumulative)
Total requests that hit the per try timeoutupstream_rq_retry
(cumulative)
Total request retriesupstream_rq_retry_overflow
(cumulative)
Total requests not retried due to circuit breakingupstream_rq_retry_success
(cumulative)
Total request retry successesupstream_rq_rx_reset
(cumulative)
Total requests that were reset remotelyupstream_rq_time
(gauge)
Request time millisecondsupstream_rq_timeout
(cumulative)
Total requests that timed out waiting for a responseupstream_rq_total
(cumulative)
Total requestsupstream_rq_tx_reset
(cumulative)
Total requests that were reset locally
To emit metrics that are not default, you can add those metrics in the
generic monitor-level extraMetrics
config option. Metrics that are derived
from specific configuration options that do not appear in the above list of
metrics do not need to be added to extraMetrics
.
To see a list of metrics that will be emitted you can run agent-status monitors
after configuring this monitor in a running agent instance.