Tous les produits
Search
Centre de documentation

Simple Log Service:Collecte de données HTTP

Dernière mise à jour :Sep 22, 2026

Logtail envoie des requêtes HTTP à des URL spécifiées à intervalles réguliers, selon votre configuration Logtail. Il télécharge ensuite les corps des réponses en tant que sources de données vers Simple Log Service. Cette rubrique explique comment créer une configuration Logtail dans la console Simple Log Service et l'utiliser pour collecter des données HTTP.

Prérequis

Logtail est installé sur votre serveur. Pour plus d'informations, consultez Installation de Logtail sur un serveur Linux ou Installation de Logtail sur un serveur Windows.

Remarque

Les serveurs Linux prennent en charge Logtail V0.16.0 ou version ultérieure. Les serveurs Windows prennent en charge Logtail V1.0.0.8 ou version ultérieure.

Mise en œuvre

Logtail envoie des requêtes HTTP aux URL spécifiées en fonction des URL, des méthodes, des en-têtes et des corps définis dans votre configuration Logtail. Il télécharge ensuite les codes d'état de réponse, les corps de réponse et le temps de réponse en tant que sources de données vers Simple Log Service.

实现原理

Fonctionnalités

  • Spécifiez plusieurs URL.

  • Définissez les méthodes de requête HTTP.

  • Configurez l'intervalle d'envoi des requêtes.

  • Spécifiez des en-têtes de requête personnalisés.

  • Utilisez le protocole HTTPS.

  • Vérifiez si le corps d'une réponse correspond à un modèle fixe.

Scénarios

  • Surveillez l'état des services à l'aide des API HTTP. Par exemple, vous pouvez surveiller les types de services suivants :

    • NGINX

    • Docker prenant en charge la surveillance via des API HTTP

    • Elasticsearch

    • HAProxy

    • Autres services compatibles avec la surveillance par API HTTP

  • Surveillez la disponibilité des services.

    Logtail surveille la disponibilité d'un service en envoyant des requêtes à intervalles réguliers et en vérifiant les codes d'état de réponse ainsi que la latence des requêtes.

  • Extrayez périodiquement des données telles que les commentaires Weibo ou le nombre d'abonnés.

Limites

  • Une URL doit commencer par http ou https.

  • Les certificats personnalisés ne sont pas pris en charge.

  • Les communications interactives ne sont pas prises en charge.

Procédure

La procédure suivante illustre la collecte de données HTTP à partir du module de statut NGINX. Des requêtes sont envoyées à l'URL http://127.0.0.1/ngx_status toutes les 1 000 millisecondes. Une expression régulière est utilisée pour extraire les informations de statut du corps de la réponse.

  1. Connectez-vous à la console Simple Log Service.

  2. Dans la partie droite de la page, cliquez sur Import Data, puis sélectionnez Custom Data Plug-in.

  3. Sélectionnez le projet et le Logstore. Cliquez ensuite sur Next.

  4. Créez un groupe de machines.

    • Si un groupe de machines est déjà disponible, cliquez sur Use Existing Machine Groups.

    • Si aucun groupe de machines n'est disponible, suivez les étapes ci-dessous pour en créer un. Dans cet exemple, une instance Elastic Compute Service (ECS) est utilisée.

      1. Dans l'onglet ECS Instance, sélectionnez Manually Select Instances. Choisissez l'instance ECS souhaitée, puis cliquez sur Create.

        Pour plus d'informations, consultez Installation de Logtail sur des instances ECS.

        Important

        Si votre serveur est une instance ECS appartenant à un compte Alibaba Cloud différent de celui de Simple Log Service, un serveur situé dans un centre de données ou un serveur fourni par un tiers, vous devez installer Logtail manuellement sur le serveur. Pour plus d'informations, consultez Installation de Logtail sur un serveur Linux ou Installation de Logtail sur un serveur Windows. Après l'installation manuelle de Logtail, vous devez configurer un identifiant utilisateur pour le serveur. Pour plus d'informations, consultez Configuration d'un identifiant utilisateur.

      2. Une fois les paramètres confirmés, cliquez sur OK.

      3. Une fois Logtail installé, cliquez sur Complete Installation.

      4. À l'étape Create Machine Group, configurez le paramètre Name et cliquez sur Next.

        Simple Log Service vous permet de créer des groupes de machines basés sur des adresses IP ou sur des identifiants personnalisés. Pour plus d'informations, consultez Création d'un groupe de machines basé sur des adresses IP et Création d'un groupe de machines basé sur des identifiants personnalisés.

  5. Vérifiez que le groupe de machines apparaît dans la section Applied Server Groups et cliquez sur Next.

    Important

    Si vous appliquez un groupe de machines immédiatement après sa création, son statut de heartbeat peut afficher FAIL. Ce problème survient car le groupe de machines n'est pas encore connecté à Simple Log Service. Pour le résoudre, cliquez sur Automatic Retry. Si le problème persiste, consultez Que faire si aucune connexion heartbeat n'est détectée sur Logtail ?

  6. À l'étape Specify Data Source, configurez les champs Config Name et Plug-in Config. Cliquez ensuite sur Next.

    Collecte via le plug-in Logtail

    • Le champ inputs est obligatoire et sert à configurer les paramètres de la source de données pour la configuration Logtail.

      Important

      Vous ne pouvez spécifier qu'un seul type de source de données dans inputs.

    • Le champ processors est facultatif. Il permet de configurer les paramètres de traitement des données pour analyser les logs. Vous pouvez spécifier une ou plusieurs méthodes de traitement.

      Si vos logs ne peuvent pas être analysés uniquement avec le paramètre inputs, configurez des processeurs dans le champ Plug-in Configuration pour ajouter des plug-ins de traitement des données. Par exemple, vous pouvez extraire des champs, extraire l'heure du log, masquer des données et filtrer les logs. Pour plus d'informations, consultez Utilisation des plug-ins Logtail pour traiter les données.

    {
     "inputs": [
         {
             "type": "metric_http",
             "detail": {
                 "IntervalMs": 1000,
                 "Addresses": [
                     "http://127.0.0.1/ngx_status"
                 ],
                 "Headers": {"key":"value"},
                 "IncludeBody": true
             }
         }
     ],
     "processors" : [
         {
             "type": "processor_regex",
             "detail" : {
                 "SourceKey": "content",
                 "Regex": "Active connections: (\\d+)\\s+server accepts handled requests\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+Reading: (\\d+) Writing: (\\d+) Waiting: (\\d+).*",
                 "Keys": [
                     "connection",
                     "accepts",
                     "handled",
                     "requests",
                     "reading",
                     "writing",
                     "waiting"
                 ],
                 "FullMatch": true,
                 "NoKeyError": true,
                 "NoMatchError": true,
                 "KeepSource": false
             }
         }
     ]
    }

    Paramètre

    Type

    Obligatoire

    Description

    type

    string

    Oui

    Type de la source de données. Définissez la valeur sur metric_http.

    Addresses

    tableau de chaînes

    Oui

    URL.

    Important

    Une URL doit commencer par http ou https.

    IntervalMs

    int

    Oui

    Intervalle entre deux requêtes consécutives. Unité : millisecondes.

    Method

    string

    Non

    Méthode de requête. Valeur par défaut : GET. La valeur doit être en majuscules.

    Body

    string

    Non

    Corps de la requête HTTP. Ce paramètre est vide par défaut.

    Headers

    clé : string, valeur : map de strings

    Non

    En-têtes de la requête HTTP. Ce paramètre est vide par défaut. Exemple : {"key":"value"}. Configurez ce paramètre selon votre scénario métier.

    PerAddressSleepMs

    int

    Non

    Intervalle d'envoi des requêtes aux URL spécifiées par le paramètre Addresses. Unité : millisecondes. Valeur par défaut : 100.

    ResponseTimeoutMs

    int

    Non

    Délai d'attente pour une requête. Unité : millisecondes. Valeur par défaut : 5000.

    IncludeBody

    boolean

    Non

    Indique si le corps de la requête doit être collecté. Valeur par défaut : false. Si vous définissez ce paramètre sur true, le corps de la requête est stocké dans le champ nommé content.

    FollowRedirects

    boolean

    Non

    Indique si les redirections d'URL doivent être traitées automatiquement. Valeur par défaut : false.

    InsecureSkipVerify

    boolean

    Non

    Indique si la vérification de sécurité HTTPS doit être ignorée. Valeur par défaut : false.

    ResponseStringMatch

    string

    Non

    Indique si le corps de la réponse doit correspondre à une expression régulière. Le résultat de la correspondance est stocké dans le champ nommé _response_match_. Si le corps de la réponse correspond à l'expression régulière, la valeur du champ est yes. Sinon, la valeur est no.

  7. Prévisualisez les données, configurez les index, puis cliquez sur Next.

    Par défaut, l'indexation en texte intégral est activée pour Simple Log Service. Vous pouvez également configurer des index de champ en mode manuel ou automatique. Pour configurer les index de champ en mode automatique, cliquez sur Automatic Index Generation. Simple Log Service crée alors automatiquement les index de champ. Pour plus d'informations, consultez Création d'index.

    Important

    Pour interroger et analyser les logs, vous devez activer l'indexation en texte intégral ou l'indexation de champ. Si vous activez les deux, le système utilise uniquement les index de champ.

Dépannage

Si aucune donnée n'apparaît sur la page de prévisualisation ou d'interrogation après avoir configuré Logtail pour la collecte de logs, consultez Dépannage des échecs de collecte Logtail.

Résultat

Une fois les données collectées, vous pouvez les consulter dans la console Simple Log Service. Pour une requête, vous pouvez visualiser les données analysées à l'aide de l'expression régulière spécifiée. Vous pouvez également voir la méthode de requête HTTP, l'URL demandée, le temps de réponse, le code d'état et le résultat de la requête.

"Index" : "7"  
"connection" : "1"  
"accepts" : "6079"  
"handled" : "6079"  
"requests" : "11596"  
"reading" : "0"  
"writing" : "1"  
"waiting" : "0"
"_method_" : "GET"  
"_address_" : "http://127.0.0.1/ngx_status"  
"_response_time_ms_" : "1.320"  
"_http_response_code_" : "200"  
"_result_" : "success"

Par défaut, les champs suivants sont téléchargés pour chaque requête.

Champ

Description

_address_

URL de la requête.

_method_

Méthode de requête HTTP.

_response_time_ms_

Latence de la réponse. Unité : millisecondes.

_http_response_code_

Code d'état HTTP.

_result_

Résultat de la requête. Valeurs possibles : success, invalid_body, match_regex_invalid, mismatch et timeout.

_response_match_

Indique si le corps de la réponse correspond à la valeur du champ ResponseStringMatch. Si le champ ResponseStringMatch n'existe pas, la valeur de _response_match_ est null. Si le champ ResponseStringMatch existe, la valeur de _response_match_ est yes ou no.