AWS API Gateway de surveillance
Le capteur « AWS API Gateway » est automatiquement déployé et installé une fois que vous avez installé l'agent « Instana ».
Il existe trois types d'API (REST, HTTPet WebSocket) et les métriques qui sont extraites sont également basées sur ces dernières.
Capteur (collecte de données)
Configuration suivie
Les données d' API Gateway s suivantes sont collectées par le capteur AWS API Gateway :
- ARN
- Nom
- Région
- Protocole
- Type de noeud final
- Créé à
- Zone de regroupement AWS
Métriques
Les indicateurs suivants sont collectés par le capteur « AWS API Gateway » :
REST API
| Nom | Description |
|---|---|
| API Demandes (nombre) | Le nombre total de requêtes « API » sur une période donnée. |
| Temps d'attente total | Délai entre le moment où API Gateway reçoit une demande d'un client et le moment où il renvoie une réponse au client. Le temps d'attente inclut le temps d'attente d'intégration et d'autres temps système API Gateway . |
| Temps d'attente d'intégration | Délai entre le moment où API Gateway relaie une demande au système dorsal et celui où il reçoit une réponse du système dorsal. |
| Erreurs 4xx | Nombre d'erreurs côté client capturées au cours d'une période donnée. |
| Erreurs 5xx | Nombre d'erreurs côté serveur capturées au cours d'une période donnée. |
| Réussites en mémoire cache (nombre) | Nombre de requêtes traitées à partir du cache de l' API e au cours d'une période donnée. |
| Echecs en mémoire cache (nombre) | Le nombre de requêtes traitées par le serveur d'arrière-plan au cours d'une période donnée, lorsque la mise en cache d' API s est activée. |
HTTP API
| Nom | Description |
|---|---|
| API Demandes (nombre) | Le nombre total de requêtes « API » sur une période donnée. |
| Temps d'attente total | Délai entre le moment où API Gateway reçoit une demande d'un client et le moment où il renvoie une réponse au client. Le temps d'attente inclut le temps d'attente d'intégration et d'autres temps système API Gateway . |
| Temps d'attente d'intégration | Délai entre le moment où API Gateway relaie une demande au système dorsal et celui où il reçoit une réponse du système dorsal. |
| Erreurs 4xx | Nombre d'erreurs côté client capturées au cours d'une période donnée. |
| Erreurs 5xx | Nombre d'erreurs côté serveur capturées au cours d'une période donnée. |
WebSocket API
| Nom | Description |
|---|---|
| Connexion (nombre) | Nombre de messages envoyés à l'intégration de route $connect. |
| Message (nombre) | Le nombre de messages envoyés à l'adresse WebSocket API, qu'ils proviennent du client ou qu'ils lui soient destinés. |
| Erreurs d'intégration | Nombre de demandes qui renvoient une réponse 4XX/5XX de l'intégration. |
| Erreurs de client | Nombre de demandes ayant une réponse 4XX renvoyée par API Gateway avant l'appel de l'intégration. |
| Erreurs d'exécution | Erreurs qui se sont produites lors de l'appel de l'intégration. |
| Temps d'attente d'intégration | Délai entre le moment où API Gateway relaie une demande au système dorsal et celui où il reçoit une réponse du système dorsal. |
Droits requis
Les droits suivants sont nécessaires :
cloudwatch:GetMetricDatacloudwatch:GetMetricStatisticscloudwatch:ListMetricsapigateway:GET
Configuration
Les métriques de API Gateway sont extraites toutes les 60 secondes, qui peuvent être modifiées à l'aide de la configuration d'agent dans le fichier <agent_install_dir>/etc/instana/configuration.yml :
com.instana.plugin.aws.apigateway:
cloudwatch_period: 60
Pour désactiver la surveillance des instances API Gateway , utilisez la configuration suivante:
com.instana.plugin.aws.apigateway:
enabled: false
Configuration de proxy
Pour que le détecteur AWS spécifique utilise la configuration de proxy, ajoutez les paramètres de configuration d'agent suivants:
com.instana.plugin.aws.apigateway:
proxy_host: 'example.com' # proxy host name or ip address
proxy_port: 3128 # proxy port
proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
proxy_username: 'username' # OPTIONAL: proxy username
proxy_password: 'password' # OPTIONAL: proxy password
Surveillance de plusieurs comptes AWS
Pour configurer la surveillance de plusieurs comptes AWS avec un agent AWS dans la même région, voir la rubrique Surveillance de plusieurs comptes AWS .
AWS approche par profils nommés
Pour remplacer les profils utilisés pour surveiller API Gateway, utilisez la configuration suivante:
com.instana.plugin.aws.apigateway:
profile_names:
- 'profile2'
- 'profile3'
Approche AWS STS
Pour remplacer les rôles IAM utilisés pour surveiller API Gateway, utilisez la configuration suivante:
com.instana.plugin.aws.apigateway:
role_arns:
- 'arn:aws:iam::<account_1_id>:role/<role_1_name>'
- 'arn:aws:iam::<account_2_id>:role/<role_2_name>'
Filtrage
Vous pouvez définir plusieurs balises, séparées par une virgule. Les balises doivent être fournies en tant que paire clé-valeur. Pour faciliter la configuration, vous pouvez définir les balises à inclure dans la reconnaissance ou à exclure de la reconnaissance. Si vous définissez des balises dans les deux listes (include et exclude), la liste exclude a une priorité plus élevée. Si vous n'avez pas besoin de filtrer les services, vous n'avez pas besoin de définir les balises. Il n'est pas obligatoire de définir toutes les valeurs pour activer le filtrage.
Vous pouvez spécifier la fréquence à laquelle les détecteurs interrogent les ressources référencées AWS à l'aide de la propriété de configuration tagged-services-poll-rate . Par défaut, la valeur est 300 secondes.
Pour définir la fréquence à laquelle les détecteurs interrogent les ressources balisées, utilisez la configuration suivante:
com.instana.plugin.aws:
tagged-services-poll-rate: 60 #default 300
Pour inclure des services par balises dans la reconnaissance, utilisez la configuration suivante:
com.instana.plugin.aws.apigateway:
include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)
Pour exclure des services par balises de la reconnaissance, utilisez la configuration suivante:
com.instana.plugin.aws.apigateway:
exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)
Les services AWS sans balises sont surveillés par défaut, mais peuvent être exclus en définissant la zone include_untagged sur false:
com.instana.plugin.aws.apigateway:
include_untagged: false # True value by default