L'intégration Internet Information Services (IIS) collecte les données de télémétrie à partir de vos serveurs Web IIS. Les métriques fournissent des informations de connexion, ainsi que des données sur les octets transférés. L'intégration collecte également les informations des journaux d'accès.
Pour en savoir plus sur IIS, consultez la documentation sur Internet Information Services.
Avant de commencer
La version 2.15.0 de l'agent Ops introduit la compatibilité avec un nouvel ensemble de métriques IIS à l'aide du préfixe workload.googleapis.com/
. Vous devez configurer l'agent pour collecter ces métriques, comme décrit dans la section Exemple de configuration.
L'agent Ops a toujours accepté un ensemble limité de métriques IIS. Ces métriques utilisent le préfixe agent.googleapis.com/iis/
. Aucune configuration supplémentaire n'est requise pour collecter ces métriques sur des VM Windows.
Ce document fait référence aux métriques portant le préfixe agent
en tant que métriques v1 et aux métriques portant le préfixe workload
en tant que métriques v2.
Pour obtenir les tableaux de ces métriques, consultez la section Métriques surveillées.
À partir de la version 2.15.0 de l'agent Ops, vous pouvez configurer l'agent pour collecter des métriques v1, v2 ou les deux.
Prérequis
Pour collecter les données de télémétrie IIS, vous devez installer l'agent Ops :
- Pour les métriques v1, installez la version 1.0.0 ou ultérieure.
- Pour les métriques v2, installez la version 2.15.0 ou ultérieure.
- Pour les journaux, installez la version 2.14.0 ou ultérieure.
Cette intégration est compatible avec les versions 8.5 et 10.0 d'IIS.
Configurer l'agent Ops pour IIS
En suivant le guide de configuration de l'agent Ops, ajoutez les éléments requis pour collecter les données de télémétrie des instances IIS, puis redémarrez l'agent.
Exemple de configuration
La commande suivante crée la configuration permettant de collecter et d'ingérer la télémétrie pour IIS, et redémarre l'agent Ops.
Ce récepteur n'accepte que le format de journalisation W3C par défaut.
Configurer la collecte de journaux
Pour ingérer des journaux d'accès depuis IIS, vous devez créer des récepteurs pour les journaux, puis créer un pipeline pour les nouveaux récepteurs.
Pour configurer un récepteur pour vos journaux iis_access
, spécifiez les champs suivants :
Champ | Par défaut | Description |
---|---|---|
exclude_paths |
[] |
Liste des formats de chemin d'accès au système de fichiers à exclure de l'ensemble correspondant à include_paths . |
include_paths |
['C:\inetpub\logs\LogFiles\W3SVC1\u_ex*'] |
Liste des chemins d'accès du système de fichiers à lire en affichant chaque fichier. Un caractère générique (* ) peut être utilisé dans les chemins d'accès. Exemple : C:\inetpub\logs\LogFiles\W3SVC1\u_ex* . |
type |
La valeur doit être égale à iis_access . |
|
record_log_file_path |
false |
Si cette valeur est définie sur true , le chemin d'accès au fichier spécifique à partir duquel l'enregistrement de journal a été obtenu apparaît dans l'entrée de journal de sortie en tant que valeur du libellé agent.googleapis.com/log_file_path . Lorsque vous utilisez un caractère générique, seul le chemin du fichier à partir duquel l'enregistrement a été obtenu est enregistré. |
wildcard_refresh_interval |
60s |
Intervalle d'actualisation pour les chemins d'accès de fichiers utilisant des caractères génériques dans include_paths . Spécifié sous la forme d'un intervalle de temps analysable par time.ParseDuration , par exemple 30s ou 2m. Cette propriété peut s'avérer utile lorsque le débit de journalisation est élevé et que les fichiers journaux sont alternés plus rapidement que l'intervalle par défaut. |
Contenu consigné
Le champ logName
est dérivé des ID de récepteur spécifiés dans la configuration.
Les champs détaillés dans l'entrée de journal (LogEntry
) sont les suivants.
Les journaux iis_access
contiennent les champs suivants dans LogEntry
:
Champ | Type | Description |
---|---|---|
httpRequest.referer |
chaîne | Contenu de l'en-tête Referer |
httpRequest.remoteIp |
chaîne | Adresse IP du client qui a effectué la requête. |
httpRequest.requestMethod |
chaîne | Méthode HTTP |
httpRequest.requestUrl |
chaîne | URL de la requête (généralement, seulement la partie du chemin d'accès à l'URL) |
httpRequest.serverIp |
chaîne | Adresse IP et port du serveur demandés |
httpRequest.status |
nombre | Code d'état HTTP |
httpRequest.userAgent |
chaîne | Contenu de l'en-tête User-Agent |
jsonPayload.sc_substatus |
nombre | Code d'erreur du sous-état |
jsonPayload.sc_win32_status |
nombre | Code d'état Windows |
jsonPayload.time_taken |
nombre | Durée de l'action, en millisecondes |
jsonPayload.user |
chaîne | Nom d'utilisateur authentifié pour la requête |
timestamp |
chaîne (Timestamp ) |
Heure de réception de la requête |
Configurer la collecte de métriques v1
L'agent Ops collecte automatiquement les métriques IIS v1 sur une VM Microsoft Windows. Aucune configuration supplémentaire n'est requise. Pour en savoir plus sur la collecte des métriques v2 uniquement, consultez la section Configurer la collecte des métriques v2.
Une fois que vous avez configuré une nouvelle instance IIS, IIS ne signale peut-être pas immédiatement de métriques. À l'aide de la console Server Manager installée sur Windows Server, vous pouvez constater que votre serveur possède l'état En ligne - Compteurs de performances non démarrés dans la colonne "Facilité de gestion".
Pour activer IIS, vous pouvez effectuer un clic droit sur votre serveur IIS dans la console Server Manager et sélectionner Démarrer les compteurs de performances. Votre serveur doit commencer à envoyer des métriques à l'agent Ops.
Configurer la collecte de métriques v2
Pour ingérer des métriques v2 à partir d'IIS, vous devez créer un récepteur pour les métriques produites par IIS, puis créer un pipeline pour le nouveau récepteur.
Ce récepteur ne permet pas d'utiliser plusieurs instances dans la configuration, par exemple pour surveiller plusieurs points de terminaison. Toutes ces instances écrivent dans la même série temporelle, et Cloud Monitoring n'a aucun moyen de les distinguer.
Pour configurer un récepteur pour vos métriques iis
, spécifiez les champs suivants :
Champ | Par défaut | Description |
---|---|---|
collection_interval |
60 s | Valeur time.Duration, telle que 30s ou 5m. |
receiver_version |
Version des métriques collectées. Utilisez 2 pour collecter des métriques v2. |
|
type |
Cette valeur doit être iis . |
Par défaut, les métriques v1 sont collectées automatiquement. Vous pouvez étendre les métriques v1 en collectant également les métriques v2, ou vous pouvez ignorer les métriques v1 pour ne collecter que les métriques v2.
Pour collecter uniquement les métriques v2, procédez comme suit :
- Nommez votre récepteur
iis
. - Définissez le champ
type
suriis
. - Définissez le champ
receiver_version
sur2
. - Utilisez ce récepteur dans votre pipeline
default_pipeline
. Cette configuration remplace la configuration intégrée du récepteuriis
.
- Nommez votre récepteur
Pour collecter les métriques v1 et v2, procédez comme suit :
- Attribuez un nom autre que
iis
à votre récepteur, par exempleiis_v2
. - Définissez le champ
type
suriis
. - Définissez
receiver_version
sur2
. - Utilisez ce récepteur dans votre nouveau pipeline. Cette configuration ajoute un récepteur v2 au lieu de remplacer le récepteur intégré. Le script de la section Exemple de configuration utilise cette approche.
- Attribuez un nom autre que
Métriques surveillées
À partir de la version 2.15.0, l'agent Ops peut collecter deux ensembles de métriques différents :
- Les métriques v1 :
agent.googleapis.com/iis/
. - Les métriques v2 :
workload.googleapis.com/
.
Métriques V1
Le tableau suivant fournit la liste des métriques v1 que l'agent Ops collecte à partir de l'instance IIS.
Les chaînes "Type de métrique" de ce tableau doivent être précédées du préfixe agent.googleapis.com/iis/
. Ce préfixe a été omis dans les entrées du tableau.
Lorsque vous interrogez une étiquette, utilisez le préfixe metric.labels.
(par exemple, metric.labels.LABEL="VALUE"
).
Type de métrique Étape de lancement (niveaux de la hiérarchie des ressources) Nom à afficher |
|
---|---|
Genre, type, unité Ressources surveillées |
Description Libellés |
current_connections
DG
(projet)
Connexions ouvertes IIS |
|
GAUGE , DOUBLE , 1
aws_ec2_instance gce_instance |
Connexions actuellement ouvertes à IIS. Échantillonné toutes les 60 secondes. |
network/transferred_bytes_count
GA
(projet)
Octets transférés via IIS |
|
CUMULATIVE , INT64 , By
aws_ec2_instance gce_instance |
Octets réseau transférés par IIS. Échantillonné toutes les 60 secondes.
direction : direction (envoyé, reçu)
|
new_connection_count
GA
(projet)
Connexions IIS |
|
CUMULATIVE , INT64 , 1
aws_ec2_instance gce_instance |
Connexions ouvertes à IIS. Échantillonné toutes les 60 secondes. |
request_count
DG
(projet)
Requêtes IIS |
|
CUMULATIVE , INT64 , 1
aws_ec2_instance gce_instance |
Requêtes envoyées à IIS. Échantillonné toutes les 60 secondes.
http_method : méthode HTTP (post, put, get, delete, option, trace, head)
|
Tableau généré le 24-10-2024 à 18:54:10 UTC.
Métriques V2
Le tableau suivant fournit la liste des métriques v2 que l'agent Ops collecte à partir de l'instance IIS.
Type de métrique | |
---|---|
Genre, type Ressources surveillées |
Étiquettes |
workload.googleapis.com/iis.connection.active
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/iis.connection.anonymous
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/iis.connection.attempt.count
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/iis.network.blocked
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/iis.network.file.count
|
|
CUMULATIVE , INT64 gce_instance |
direction
|
workload.googleapis.com/iis.network.io
|
|
CUMULATIVE , INT64 gce_instance |
direction
|
workload.googleapis.com/iis.request.count
|
|
CUMULATIVE , INT64 gce_instance |
request
|
workload.googleapis.com/iis.request.queue.age.max
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/iis.request.queue.count
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/iis.request.rejected
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/iis.thread.active
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/iis.uptime
|
|
GAUGE , INT64 gce_instance |
Vérifier la configuration
Cette section explique comment vérifier que vous avez bien configuré le récepteur IIS. La collecte de la télémétrie par l'agent Ops peut prendre une ou deux minutes.
Pour vérifier que les journaux IIS sont envoyés à Cloud Logging, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
- Saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter la requête :
resource.type="gce_instance" log_id("iis_access")
Pour vérifier que les métriques IIS sont envoyées à Cloud Monitoring, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page leaderboardExplorateur de métriques :
Accéder à l'explorateur de métriques
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Surveillance.
- Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé code MQL ou code PromQL.
- Vérifiez que MQL est sélectionné dans le bouton d'activation Langage. Le bouton de langage se trouve dans la barre d'outils qui vous permet de mettre en forme votre requête.
- Pour les métriques v1, saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter la requête :
fetch gce_instance | metric 'agent.googleapis.com/iis/request_count' | every 1m
- Pour les métriques v2, saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter :
fetch gce_instance | metric 'workload.googleapis.com/iis.request.count' | every 1m
Afficher le tableau de bord
Pour afficher vos métriques IIS, vous devez configurer un graphique ou un tableau de bord. L'intégration de IIS inclut un ou plusieurs tableaux de bord. Tous les tableaux de bord sont automatiquement installés après la configuration de l'intégration et que l'agent Ops a commencé à collecter des données de métriques.
Vous pouvez également afficher des aperçus statiques de tableaux de bord sans installer l'intégration.
Pour afficher un tableau de bord installé, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Tableaux de bord .
Accéder à la page Tableaux de bord
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Surveillance.
- Sélectionnez l'onglet Liste des tableaux de bord, puis choisissez la catégorie Intégrations.
- Cliquez sur le nom du tableau de bord que vous souhaitez afficher.
Si vous avez configuré une intégration, mais que le tableau de bord n'a pas été installé, vérifiez que l'agent Ops est en cours d'exécution. Lorsqu'un graphique ne contient aucune donnée de métrique, l'installation du tableau de bord échoue. Une fois que l'agent Ops a commencé à collecter des métriques, le tableau de bord est installé.
Pour afficher un aperçu statique du tableau de bord, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Intégrations :
Accéder à la page Intégrations
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Surveillance.
- Cliquez sur le filtre de plate-forme de déploiement Compute Engine.
- Recherchez l'entrée pour IIS et cliquez sur Afficher les détails.
- Cliquez sur l'onglet Tableaux de bord pour afficher un aperçu statique. Si le tableau de bord est installé, vous pouvez y accéder en cliquant sur Afficher le tableau de bord.
Pour en savoir plus sur les tableaux de bord dans Cloud Monitoring, consultez la page Tableaux de bord et graphiques.
Pour en savoir plus sur l'utilisation de la page Intégrations, consultez la page Gérer les intégrations.
Installer des règles d'alerte
Les règles d'alerte indiquent à Cloud Monitoring de vous avertir lorsque des conditions spécifiées se produisent. L'intégration de IIS inclut une ou plusieurs règles d'alerte à utiliser. Vous pouvez afficher et installer ces règles d'alerte à partir de la page Intégrations dans Monitoring.
Pour afficher la description des règles d'alerte disponibles et les installer, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Intégrations :
Accéder à la page Intégrations
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Surveillance.
- Recherchez l'entrée pour ISS et cliquez sur Afficher les détails.
- Sélectionnez l'onglet Alertes. Cet onglet fournit une description des règles d'alerte disponibles et fournit une interface pour les installer.
- Installez les règles d'alerte. Les règles d'alerte doivent savoir où envoyer des notifications indiquant que l'alerte a été déclenchée. Elles nécessitent donc des informations de votre part pour l'installation.
Pour installer des règles d'alerte, procédez comme suit :
- Dans la liste des règles d'alerte disponibles, sélectionnez celles que vous souhaitez installer.
Dans la section Configurer les notifications, sélectionnez un ou plusieurs canaux de notification. Vous avez la possibilité de désactiver l'utilisation des canaux de notification. Toutefois, si vous le faites, vos règles d'alerte se déclenchent en mode silencieux. Vous pouvez vérifier leur état dans Monitoring, mais vous ne recevez aucune notification.
Pour plus d'informations sur les canaux de notification, consultez la section Gérer les canaux de notification.
- Cliquez sur Créer des règles.
Pour plus d'informations sur les règles d'alerte dans Cloud Monitoring, consultez la section Présentation des alertes.
Pour en savoir plus sur l'utilisation de la page Intégrations, consultez la page Gérer les intégrations.
Étape suivante
Pour accéder à un tutoriel pas à pas expliquant comment utiliser Ansible pour installer l'agent Ops, configurer une application tierce et installer un exemple de tableau de bord, consultez la vidéo Install the Ops Agent to troubleshoot third-party applications (Installer l'agent Ops pour résoudre les problèmes liés à des applications tierces).