Les événements Docker enregistrent toutes les interactions avec les conteneurs, les images, les plugins, les réseaux et les volumes. Vous pouvez créer une configuration Logtail dans la console Simple Log Service pour collecter ces événements à des fins de surveillance, d'audit et de dépannage.
Prérequis
Logtail version 0.16.18 ou ultérieure est installé sur un serveur Linux. Pour plus d'informations, consultez Installation de Logtail sur un serveur Linux.
Limites
-
Logtail peut s'exécuter dans un conteneur ou sur un hôte et nécessite l'autorisation d'accéder au fichier
/var/run/docker.sock.Pour collecter les journaux Kubernetes, consultez Collecte des journaux Kubernetes. Pour collecter les journaux standard des conteneurs, consultez Collecte des journaux de conteneurs Docker (sortie standard et fichiers).
Logtail ne peut pas collecter les événements de conteneur lorsqu'il redémarre ou qu'il est arrêté.
Scénarios
Surveillez les événements de démarrage et d'arrêt de tous les conteneurs et déclenchez immédiatement une alerte si un conteneur essentiel s'arrête.
Collectez tous les événements de conteneur pour l'audit, l'analyse de sécurité et le dépannage.
Surveillez tous les événements de tirage d'image et déclenchez immédiatement une alerte si une image est tirée depuis un chemin non autorisé.
Procédure
Connectez-vous à la console Simple Log Service.
Dans la section Import Data, sélectionnez Custom Data Plug-in.
Sélectionnez le projet et le Logstore de destination, puis cliquez sur Next.
-
À l'étape Machine Group Configurations, configurez un groupe de machines.
-
Configurez les paramètres Scenario et Installation Environment selon vos besoins.
ImportantVous devez configurer les paramètres Scenario et Installation Environment, qu'un groupe de machines soit disponible ou non. Les paramètres définis influencent les configurations ultérieures.
-
Assurez-vous qu'un groupe de machines s'affiche dans la section Applied Server Groups, puis cliquez sur Next.
Groupe de machines disponible
Sélectionnez un groupe de machines dans la section Source Machine Group.

Aucun groupe de machines disponible
Cliquez sur Create Machine Group. Dans le panneau Create Machine Group, configurez les paramètres. Vous pouvez définir le paramètre Machine Group Identifier sur IP Address ou Custom Identifier. Pour plus d'informations, consultez Création d'un groupe de machines basé sur un identifiant personnalisé ou Création d'un groupe de machines basé sur une adresse IP.
ImportantSi vous appliquez un groupe de machines immédiatement après sa création, le statut du heartbeat du groupe de machines peut être FAIL. Ce problème survient car le groupe de machines n'est pas connecté à Simple Log Service. Pour résoudre ce problème, vous pouvez cliquer sur Automatic Retry. Si le problème persiste, consultez Que faire si aucune connexion heartbeat n'est détectée sur Logtail ?
-
-
Dans l'onglet Data Source Settings, définissez Configuration Name et Plug-in Configuration, puis cliquez sur Next.
-
Le paramètre inputs est obligatoire et sert à configurer les paramètres de 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 paramètre processors est facultatif et sert à configurer les paramètres de traitement des données pour la configuration Logtail afin d'analyser les données. Vous pouvez spécifier une ou plusieurs méthodes de traitement.
Si vos journaux ne peuvent pas être analysés uniquement avec le paramètre inputs, vous pouvez configurer des processeurs dans le champ Plug-in Configuration pour ajouter des plugins de traitement des données. Par exemple, extraire des champs, extraire l'heure du journal, masquer des données et filtrer les journaux. Pour plus d'informations, consultez Plugins Logtail pour le traitement des données.
{ "inputs": [ { "detail": {}, "type": "service_docker_event" } ] }Paramètre
Type
Obligatoire
Description
type
string
Oui
Le type de la source de données. Définissez la valeur sur service_docker_event.
EventQueueSize
int
Non
La taille de la file d'attente tampon des événements. Valeur par défaut : 10. Utilisez la valeur par défaut sauf si vous avez des exigences spécifiques.
-
-
Créez des index et prévisualisez les données. Ensuite, cliquez sur Next. Par défaut, l'indexation en texte intégral est activée dans Simple Log Service. Vous pouvez également créer manuellement des index de champ pour les journaux collectés ou cliquer sur Automatic Index Generation. Simple Log Service génère alors les index de champ. Pour plus d'informations, consultez Création d'index.
ImportantSi vous souhaitez interroger tous les champs des journaux, nous vous recommandons d'utiliser des index en texte intégral. Si vous souhaitez interroger uniquement des champs spécifiques, nous vous recommandons d'utiliser des index de champ. Cela permet de réduire le trafic lié aux index. Si vous souhaitez analyser des champs, vous devez créer des index de champ. Vous devez inclure une instruction SELECT dans votre instruction d'interrogation pour l'analyse.
-
Cliquez sur Query Log pour accéder à la page Query & Analysis du Logstore.
Il se peut que vous deviez attendre environ une minute pour que les index deviennent effectifs. Vous pouvez ensuite afficher les journaux collectés dans l'onglet Raw Logs. Pour plus d'informations, consultez Démarrage rapide pour l'interrogation et l'analyse des journaux.
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 des journaux, consultez Dépannage des échecs de collecte Logtail.
Exemples de journaux
Les exemples suivants montrent des échantillons d'événements Docker.
-
Exemple 1 : Événement de tirage d'image
__source__: 10.10.10.10 __tag__:__hostname__: logtail-ds-77brr __topic__: _action_: pull _id_: registry.cn-hangzhou.aliyuncs.com/ringtail/eventer:v1.6.1.3 _time_nano_: 1547910184047414271 _type_: image name: registry.cn-hangzhou.aliyuncs.com/ringtail/eventer -
Exemple 2 : Événement de destruction de conteneur dans Kubernetes
__source__: 10.10.10.10 __tag__:__hostname__: logtail-ds-xnvz2 __topic__: _action_: destroy _id_: af61340b0ac19e6f5f32be672d81a33fc4d3d247bf7dbd4d3b2c030b8bec4a03 _time_nano_: 1547968139380572119 _type_: container annotation.kubernetes.io/config.seen: 2019-01-20T15:03:03.114145184+08:00 annotation.kubernetes.io/config.source: api annotation.scheduler.alpha.kubernetes.io/critical-pod: controller-revision-hash: 2630731929 image: registry-vpc.cn-hangzhou.aliyuncs.com/acs/pause-amd64:3.0 io.kubernetes.container.name: POD io.kubernetes.docker.type: podsandbox io.kubernetes.pod.name: logtail-ds-44jbg io.kubernetes.pod.namespace: kube-system io.kubernetes.pod.uid: 6ddcf598-1c81-11e9-9ddf-00163e0c7cbe k8s-app: logtail-ds kubernetes.io/cluster-service: true name: k8s_POD_logtail-ds-44jbg_kube-system_6ddcf598-1c81-11e9-9ddf-00163e0c7cbe_0 pod-template-generation: 9 version: v1.0
Le tableau suivant décrit les champs de journal des événements Docker. Pour plus d'informations, consultez la documentation officielle Docker.
|
Champ |
Description |
|
_type_ |
Le type de ressource, tel que conteneur ou image. |
|
_action_ |
Le type d'opération, tel que destroy ou status. |
|
_id_ |
L'ID unique de l'événement. |
|
_time_nano_ |
L'horodatage de l'événement. |