Ambassador API Gateway

Supported OS Linux Windows Mac OS

개요

실시간으로 Ambassador에서 메트릭을 받아 다음을 수행할 수 있습니다.

  • 마이크로서비스 성능 시각화

  • Ambassador로 카나리아 롤아웃을 수행하여 새 서비스 버전의 영향 파악

snapshot

설정

Agent Daemonset에서 DogStatsD를 활성화하고 Ambassador Pod에서 다음 환경 변수를 설정합니다.

name: STATSD_HOST
valueFrom:
  fieldRef:    
    fieldPath: status.hostIP

이 설정을 사용하면 StatsD 메트릭이 호스트의 IP로 전송되어 트래픽을 Agent 포트 8125로 리디렉션합니다.

자세한 내용은 StatsD를 사용한 Envoy 통계를 참조하세요.

또한 Ambassador에서 Datadog APM으로 추적 데이터를 보낼 수도 있습니다. 자세한 내용은 Datadog을 사용한 분산 추적을 참조하세요.

수집한 데이터

메트릭

envoy.listener.downstream_cx_total
(count)
Total connections
Shown as connection
envoy.listener.downstream_cx_destroy
(count)
Total destroyed connections
Shown as connection
envoy.listener.downstream_cx_active
(gauge)
Total active connections
Shown as connection
envoy.listener.downstream_cx_length_ms
(gauge)
Connection length milliseconds
Shown as millisecond
envoy.listener_manager.listener_added
(count)
Total listeners added (either via static config or LDS)
Shown as host
envoy.listener_manager.listener_modified
(count)
Total listeners modified (via LDS)
Shown as host
envoy.listener_manager.listener_removed
(count)
Total listeners removed (via LDS)
Shown as host
envoy.listener_manager.listener_create_success
(count)
Total listener objects successfully added to workers
Shown as host
envoy.listener_manager.listener_create_failure
(count)
Total failed listener object additions to workers
Shown as host
envoy.listener_manager.total_listeners_warming
(gauge)
Number of currently warming listeners
Shown as host
envoy.listener_manager.total_listeners_active
(gauge)
Number of currently active listeners
Shown as host
envoy.listener_manager.total_listeners_draining
(gauge)
Number of currently draining listeners
Shown as host
envoy.http.downstream_cx_total
(count)
Total connections
Shown as connection
envoy.http.downstream_cx_ssl_total
(count)
Total TLS connections
Shown as connection
envoy.http.downstream_cx_http1_total
(count)
Total HTTP/1.1 connections
Shown as connection
envoy.http.downstream_cx_websocket_total
(count)
Total WebSocket connections
Shown as connection
envoy.http.downstream_cx_http2_total
(count)
Total HTTP/2 connections
Shown as connection
envoy.http.downstream_cx_destroy
(count)
Total connections destroyed
Shown as connection
envoy.http.downstream_cx_destroy_remote
(count)
Total connections destroyed due to remote close
Shown as connection
envoy.http.downstream_cx_destroy_local
(count)
Total connections destroyed due to local close
Shown as connection
envoy.http.downstream_cx_destroy_active_rq
(count)
Total connections destroyed with active requests
Shown as connection
envoy.http.downstream_cx_destroy_local_active_rq
(count)
Total connections destroyed locally with active requests
Shown as connection
envoy.http.downstream_cx_destroy_remote_active_rq
(count)
Total connections destroyed remotely with active requests
Shown as connection
envoy.http.downstream_cx_active
(gauge)
Total active connections
Shown as connection
envoy.http.downstream_cx_ssl_active
(gauge)
Total active TLS connections
Shown as connection
envoy.http.downstream_cx_http1_active
(gauge)
Total active HTTP/1.1 connections
Shown as connection
envoy.http.downstream_cx_websocket_active
(gauge)
Total active WebSocket connections
Shown as connection
envoy.http.downstream_cx_http2_active
(gauge)
Total active HTTP/2 connections
Shown as connection
envoy.http.downstream_cx_protocol_error
(count)
Total protocol errors
Shown as error
envoy.http.downstream_cx_length_ms
(gauge)
Connection length milliseconds
Shown as millisecond
envoy.http.downstream_cx_rx_bytes_total
(count)
Total bytes received
Shown as byte
envoy.http.downstream_cx_rx_bytes_buffered
(gauge)
Total received bytes currently buffered
Shown as byte
envoy.http.downstream_cx_tx_bytes_total
(count)
Total bytes sent
Shown as byte
envoy.http.downstream_cx_tx_bytes_buffered
(gauge)
Total sent bytes currently buffered
Shown as byte
envoy.http.downstream_cx_drain_close
(count)
Total connections closed due to draining
Shown as connection
envoy.http.downstream_cx_idle_timeout
(count)
Total connections closed due to idle timeout
Shown as connection
envoy.http.downstream_flow_control_paused_reading_total
(count)
Total number of times reads were disabled due to flow control
Shown as occurrence
envoy.http.downstream_flow_control_resumed_reading_total
(count)
Total number of times reads were enabled on the connection due to flow control
Shown as occurrence
envoy.http.downstream_rq_total
(count)
Total requests
Shown as request
envoy.http.downstream_rq_http1_total
(count)
Total HTTP/1.1 requests
Shown as request
envoy.http.downstream_rq_http2_total
(count)
Total HTTP/2 requests
Shown as request
envoy.http.downstream_rq_active
(gauge)
Total active requests
Shown as request
envoy.http.downstream_rq_response_before_rq_complete
(count)
Total responses sent before the request was complete
Shown as response
envoy.http.downstream_rq_rx_reset
(count)
Total request resets received
Shown as request
envoy.http.downstream_rq_tx_reset
(count)
Total request resets sent
Shown as request
envoy.http.downstream_rq_non_relative_path
(count)
Total requests with a non-relative HTTP path
Shown as request
envoy.http.downstream_rq_too_large
(count)
Total requests resulting in a 413 due to buffering an overly large body
Shown as request
envoy.http.downstream_rq_1xx
(count)
Total 1xx responses
Shown as response
envoy.http.downstream_rq_2xx
(count)
Total 2xx responses
Shown as response
envoy.http.downstream_rq_3xx
(count)
Total 3xx responses
Shown as response
envoy.http.downstream_rq_4xx
(count)
Total 4xx responses
Shown as response
envoy.http.downstream_rq_5xx
(count)
Total 5xx responses
Shown as response
envoy.http.downstream_rq_ws_on_non_ws_route
(count)
Total WebSocket upgrade requests rejected by non WebSocket routes
Shown as request
envoy.http.downstream_rq_time
(gauge)
Request time milliseconds
Shown as millisecond
envoy.cluster_manager.cluster_added
(count)
Total clusters added (either via static config or CDS)
Shown as node
envoy.cluster_manager.cluster_modified
(count)
Total clusters modified (via CDS)
Shown as node
envoy.cluster_manager.cluster_removed
(count)
Total clusters removed (via CDS)
Shown as node
envoy.cluster.upstream_cx_total
(count)
Total connections
Shown as connection
envoy.cluster.upstream_cx_active
(gauge)
Total active connections
Shown as connection
envoy.cluster.upstream_cx_http1_total
(count)
Total HTTP/1.1 connections
Shown as connection
envoy.cluster.upstream_cx_http2_total
(count)
Total HTTP/2 connections
Shown as connection
envoy.cluster.upstream_cx_connect_ms
(gauge)
Connection establishment milliseconds
Shown as millisecond
envoy.cluster.upstream_cx_length_ms
(gauge)
Connection length milliseconds
Shown as millisecond
envoy.cluster.upstream_cx_rx_bytes_total
(count)
Total received connection bytes
Shown as byte
envoy.cluster.upstream_cx_rx_bytes_buffered
(gauge)
Received connection bytes currently buffered
Shown as byte
envoy.cluster.upstream_cx_tx_bytes_total
(count)
Total sent connection bytes
Shown as byte
envoy.cluster.upstream_cx_tx_bytes_buffered
(gauge)
Send connection bytes currently buffered
Shown as byte
envoy.cluster.upstream_rq_total
(count)
Total requests
Shown as request
envoy.cluster.upstream_rq_active
(gauge)
Total active requests
Shown as request
envoy.cluster.upstream_rq_pending_total
(count)
Total requests pending a connection pool connection
Shown as request
envoy.cluster.upstream_rq_pending_active
(gauge)
Total active requests pending a connection pool connection
Shown as request
envoy.cluster.membership_change
(count)
Total cluster membership changes
Shown as event
envoy.cluster.membership_healthy
(gauge)
Current cluster healthy total (inclusive of both health checking and outlier detection)
Shown as node
envoy.cluster.membership_total
(gauge)
Current cluster membership total
Shown as node
envoy.cluster.config_reload
(count)
Total API fetches that resulted in a config reload due to a different config
Shown as request
envoy.cluster.update_attempt
(count)
Total cluster membership update attempts
Shown as occurrence
envoy.cluster.update_success
(count)
Total cluster membership update successes
Shown as success
envoy.cluster.update_failure
(count)
Total cluster membership update failures
Shown as error
envoy.cluster.version
(gauge)
Hash of the contents from the last successful API fetch
Shown as item
envoy.cluster.max_host_weight
(gauge)
Maximum weight of any host in the cluster
Shown as item

이벤트

Ambassador 점검은 이벤트를 포함하지 않습니다.

서비스 점검

Ambassador 점검은 서비스 점검을 포함하지 않습니다.

트러블슈팅

도움이 필요하신가요? Datadog 지원팀에 문의하세요.