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.
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.
Implémentation
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 la 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
Vous pouvez spécifier plusieurs URL.
Vous pouvez définir les méthodes de requête HTTP.
Vous pouvez configurer l'intervalle d'envoi des requêtes.
Vous pouvez spécifier des en-têtes de requête personnalisés.
La prise en charge du protocole HTTPS est disponible.
Vous pouvez vérifier si le corps d'une réponse correspond à un modèle fixe.
Scénarios
-
Surveillez l'état des services via des API HTTP. Par exemple, vous pouvez superviser les types de services suivants :
NGINX
Docker compatible avec la surveillance via des API HTTP
Elasticsearch
HAProxy
Autres services compatibles avec la surveillance via des API HTTP
-
Contrôlez 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 la réponse ainsi que la latence des requêtes.
Récupérez périodiquement des données telles que les commentaires Weibo ou le nombre d'abonnés.
Limites
Une URL doit commencer par
httpouhttps.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 depuis le 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 extrait les informations de statut du corps de la réponse.
Connectez-vous à la console Simple Log Service.
Dans la partie droite de la page, cliquez sur Import Data, puis sélectionnez Custom Data Plug-in.
Sélectionnez le projet et le Logstore. Cliquez ensuite sur Next.
-
Créez un groupe de machines.
Si un groupe de machines est 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.
-
Dans l'onglet ECS Instance, sélectionnez Manually Select Instances. Choisissez l'instance ECS souhaitée et cliquez sur Create.
Pour plus d'informations, consultez Installation de Logtail sur des instances ECS.
ImportantSi votre serveur est une instance ECS appartenant à un compte Alibaba Cloud différent de celui de Simple Log Service, un serveur dans un centre de données ou un serveur fourni par un tiers, vous devez installer manuellement Logtail 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, configurez un identifiant utilisateur pour le serveur. Pour plus d'informations, consultez Configuration d'un identifiant utilisateur.
Après confirmation des paramètres, cliquez sur OK.
Une fois Logtail installé, cliquez sur Complete Installation.
-
À l'étape Create Machine Group, configurez le paramètre Name et cliquez sur Next.
Simple Log Service 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.
-
-
Vérifiez que le groupe de machines apparaît dans la section Applied Server Groups et cliquez sur Next.
ImportantSi 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 ?
-
À 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.
ImportantVous ne pouvez spécifier qu'un seul type de source de données dans inputs.
-
Le champ processors est facultatif et permet de configurer le 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 via 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.
ImportantUne URL doit commencer par
httpouhttps.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 d'une requête HTTP. Ce paramètre est vide par défaut.
Headers
clé : string, valeur : map de strings
Non
En-têtes d'une 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'expiration d'une requête. Unité : millisecondes. Valeur par défaut : 5000.
IncludeBody
boolean
Non
Indique s'il faut collecter le corps de la requête. 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 s'il faut traiter automatiquement les redirections d'URL. Valeur par défaut : false.
InsecureSkipVerify
boolean
Non
Indique s'il faut ignorer la vérification de sécurité HTTPS. Valeur par défaut : false.
ResponseStringMatch
string
Non
Indique s'il faut faire correspondre le corps de la réponse avec 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.
-
-
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 basés sur les logs collectés en mode manuel ou automatique. Pour configurer des index de champ en mode automatique, cliquez sur Automatic Index Generation. Simple Log Service crée ainsi automatiquement les index de champ. Pour plus d'informations, consultez Création d'index.
ImportantPour 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 |