Ambassador API Gateway
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Ambassador API Gateway

Agent Check Check de l'Agent

Supported OS: Linux Mac OS Windows

Présentation

Recueillez des métriques d’Ambassador en temps réel pour :

  • Visualiser les performances de vos microservices

  • Comprendre l’incidence des nouvelles versions de vos services lorsque vous utilisez Ambassador pour réaliser un déploiement canari

snapshot

Implémentation

Par défaut, Ambassador installe un sidecar statsd sur son pod. Ce sidecar transmet la métrique statsd à n’importe quel service Kubernetes du nom de statsd-sink.

  1. Créez un fichier datadog-statsd-sink.yaml avec la configuration suivante, en remplaçant la clé d’API ci-dessous par votre propre clé API :

    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: statsd-sink
    spec:
     selector:
       matchLabels:
         service: statsd-sink
    replicas: 1
    template:
      metadata:
        labels:
          service: statsd-sink
      spec:
        containers:
        - name: statsd-sink
          image: datadog/docker-dd-agent:latest
          ports:
            - containerPort: 8125
              name: dogstatsdport
              protocol: UDP
          env:
            - name: API_KEY
              value: "<YOUR_DATADOG_API_KEY>"
            - name: KUBERNETES
              value: "yes"
            - name: SD_BACKEND
              value: docker
        restartPolicy: Always
    status: {}
    ---
    apiVersion: v1
    kind: Service
    metadata:
    labels:
      service: statsd-sink
    name: statsd-sink
    spec:
    ports:
       - protocol: UDP
         port: 8125
         name: dogstatsdport
    selector:
      service: statsd-sink
  2. Déployez l’Agent sur Kubernetes :

    kubectl apply -f datadog-statsd-sink.yaml
  3. Vos métriques apparaîtront dès que du trafic sera transmis via Ambassador.

Données collectées

Métriques

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

Événements

Le check Ambassador n’inclut aucun événement.

Checks de service

Le check Ambassador n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.