IIS

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.

# This config gets merged with the built-in Ops Agent config, which already
# includes the v1 receiver in the default pipeline.
# Because the v2 receiver here uses a unique ID, it does not overwrite
# the default receiver and so both receivers will be active simultaneously
# during the test.

Add-Content 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' "
metrics:
  receivers:
    iis_v2:
      type: iis
      receiver_version: 2
  service:
    pipelines:
      iispipeline:
        receivers:
          - iis_v2
logging:
  receivers:
    iis_access:
      type: iis_access
  service:
    pipelines:
      iis:
        receivers:
        - iis_access
"

Stop-Service google-cloud-ops-agent -Force
Start-Service google-cloud-ops-agent* 

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 des récepteurs pour les métriques produites par IIS, puis créer un pipeline pour les nouveaux récepteurs.

Pour configurer un récepteur pour vos métriques iis, spécifiez les champs suivants :

Champ Par défaut Description
collection_interval 60s 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 sur iis.
    • Définissez le champ receiver_version sur 2.
    • Utilisez ce récepteur dans votre pipeline default_pipeline. Cette configuration remplace la configuration intégrée du récepteur iis.
  • Pour collecter les métriques v1 et v2, procédez comme suit :

    • Attribuez un nom autre que iis à votre récepteur, par exemple iis_v2.
    • Définissez le champ type sur iis.
    • Définissez receiver_version sur 2.
    • 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.

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.

Type de métriqueÉtape de lancement
Nom à afficher
Genre, type, unité
Ressources surveillées
Description
Libellés
current_connections GA
Connexions ouvertes IIS
GAUGEDOUBLE1
aws_ec2_instance, gce_instance
Connexions actuellement ouvertes à IIS. Échantillonné toutes les 60 secondes.
network/transferred_bytes_count GA
Octets transférés via IIS
CUMULATIVEINT64By
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
Connexions IIS
CUMULATIVEINT641
aws_ec2_instance, gce_instance
Connexions ouvertes à IIS. Échantillonné toutes les 60 secondes.
request_count GA
Requêtes IIS
CUMULATIVEINT641
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 22-07-2022 à 13:52:31 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
Libellés
workload.googleapis.com/iis.request.count
CUMULATIVEINT64
gce_instance
request
workload.googleapis.com/iis.request.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.request.queue.count
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.request.queue.age.max
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.network.file.count
CUMULATIVEINT64
gce_instance
direction
workload.googleapis.com/iis.network.blocked
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.network.io
CUMULATIVEINT64
gce_instance
direction
workload.googleapis.com/iis.connection.attempt.count
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.connection.active
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.connection.anonymous
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.thread.active
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.uptime
GAUGEINT64
gce_instance
 

Exemple de tableau de bord

Pour afficher vos métriques IIS, vous devez configurer un graphique ou un tableau de bord. Cloud Monitoring fournit une bibliothèque d'exemples de tableaux de bord pour les intégrations, contenant des graphiques préconfigurés. Pour en savoir plus sur l'installation de ces tableaux de bord, consultez la page Installer des exemples de tableaux de bord.

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 sont ingérés, accédez à l'explorateur de journaux et exécutez la requête suivante pour afficher les journaux IIS :

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/iis_access")

Pour vérifier que les métriques sont ingérées, accédez à l'explorateur de métriques et exécutez l'une des requêtes suivantes dans l'onglet MQL.

  • Pour les métriques v1 :

    fetch gce_instance
    | metric 'agent.googleapis.com/iis/request_count'
    | every 1m
    
  • Pour les métriques v2 :

    fetch gce_instance
    | metric 'workload.googleapis.com/iis.request.count'
    | every 1m
    

É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).