Logtail collecte les journaux systemd de Linux à partir de fichiers binaires. Créez une configuration Logtail dans la console Log Service pour collecter ces journaux.
Prérequis
Logtail 0.16.18 ou version ultérieure pour Linux est installé sur votre serveur. Installer Logtail sur un serveur Linux.
Présentation
systemd est un gestionnaire de système et de services Linux. Lorsqu'il s'exécute en tant que PID 1, il démarre et maintient les services de l'espace utilisateur et gère de manière centralisée les journaux de toutes les unités, y compris les journaux du noyau et des applications. Le fichier de configuration se trouve généralement dans /etc/systemd/journald.conf.
Le système d'exploitation doit prendre en charge le format de journalisation journal.
Fonctionnalités
Logtail enregistre automatiquement les points de contrôle, ce qui permet de reprendre la collecte après un redémarrage.
Filtrez les journaux par unités spécifiées.
Collectez les journaux du noyau.
Analysez automatiquement les niveaux de journalisation.
Collectez les journaux de l'hôte dans des environnements conteneurisés tels que Docker et Kubernetes.
Cas d'utilisation
Surveillez les événements du noyau et déclenchez automatiquement des alertes en cas d'anomalies.
Collectez tous les journaux système pour un stockage à long terme afin de réduire l'utilisation de l'espace disque.
Collectez les journaux de sortie des logiciels (unités) pour analyse ou alerte.
Recherchez des mots-clés ou des entrées dans les journaux plus rapidement qu'avec
journalctl.
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 affectent 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éer un groupe de machines basé sur un identifiant personnalisé ou Créer 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 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, cliquez 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 les paramètres Configuration Name et Plug-in Configuration, puis cliquez sur Next.
-
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.
-
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": { "JournalPaths": [ "/var/log/journal" ], "Kernel": true, "ParsePriority": true, "ParseSyslogFacility": true }, "type": "service_journal" } ] }Paramètre
Type
Obligatoire
Description
type
Chaîne
Oui
Type de source de données. Définissez-le sur
service_journal.JournalPaths
Tableau de chaînes
Oui
Chemins d'accès aux répertoires des journaux systemd. Exemple : /var/log/journal.
SeekPosition
Chaîne
Non
Position de départ initiale de la collecte. Valeurs valides :
headettail. Valeur par défaut :tail.-
head: Collecte toutes les données de journal existantes depuis le début. -
tail: Collecte uniquement les nouvelles données de journal générées après l'application de la configuration.
Kernel
Booléen
Non
Collecte les journaux du noyau. Par défaut :
true.Units
Tableau de chaînes
Non
Unités à partir desquelles collecter les journaux. Si vide, Logtail collecte à partir de toutes les unités.
ParseSyslogFacility
Booléen
Non
Analyse le champ
facilitydes journaux syslog. Par défaut :false.ParsePriority
Booléen
Non
Analyse le champ
Priority. Par défaut :false.Lorsque la valeur est définie sur true, le champ Priority est mappé comme suit.
"0": "emergency" "1": "alert" "2": "critical" "3": "error" "4": "warning" "5": "notice" "6": "informational" "7": "debug"UseJournalEventTime
Booléen
Non
Utilise l'horodatage de l'entrée du journal comme heure du journal. Par défaut :
false(utilise l'heure de collecte).Pour une collecte en temps réel, l'horodatage du journal et l'heure de collecte diffèrent généralement de moins de 3 secondes.
-
-
Créez des index et prévisualisez les données. Puis, 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 des index de champ. Pour plus d'informations, consultez Créer des 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. Votre instruction de requête doit inclure une instruction SELECT pour l'analyse.
-
Cliquez sur Query Log. Vous êtes ensuite redirigé vers la page de requête et d'analyse de votre Logstore.
Vous devez attendre environ 1 minute pour que les index prennent effet. Vous pouvez ensuite afficher les journaux collectés dans l'onglet Raw Logs. Pour plus d'informations sur la requête et l'analyse des journaux, consultez Démarrage rapide de la requête et de l'analyse.
Exemples
-
Exemple 1
Collectez les journaux à partir du répertoire par défaut
/var/log/journal. La configuration suivante est utilisée :{ "inputs": [ { "detail": { "JournalPaths": [ "/var/log/journal" ] }, "type": "service_journal" } ] }Exemple de journal :
MESSAGE: rejected connection from "192.168.0.250:43936" (error "EOF", ServerName "") PACKAGE: embed PRIORITY: 6 SYSLOG_IDENTIFIER: etcd _BOOT_ID: fe919cd1268f4721bd87b5c18afe59c3 _CAP_EFFECTIVE: 0 _CMDLINE: /usr/bin/etcd --election-timeout=3000 --heartbeat-interval=500 --snapshot-count=50000 --data-dir=data.etcd --name 192.168.0.251-name-3 --client-cert-auth --trusted-ca-file=/var/lib/etcd/cert/ca.pem --cert-file=/var/lib/etcd/cert/etcd-server.pem --key-file=/var/lib/etcd/cert/etcd-server-key.pem --peer-client-cert-auth --peer-trusted-ca-file=/var/lib/etcd/cert/peer-ca.pem --peer-cert-file=/var/lib/etcd/cert/192.168.0.251-name-3.pem --peer-key-file=/var/lib/etcd/cert/192.168.0.251-name-3-key.pem --initial-advertise-peer-urls https://192.168.0.251:2380 --listen-peer-urls https://192.168.0.251:2380 --advertise-client-urls https://192.168.0.251:2379 --listen-client-urls https://192.168.0.251:2379 --initial-cluster 192.168.0.249-name-1=https://192.168.0.249:2380,192.168.0.250-name-2=https://192.168.0.250:2380,192.168.0.251-name-3=https://192.168.0.251:2380 --initial-cluster-state new --initial-cluster-token abac64c8-baab-4ae6-8412-4253d3cfb0cf _COMM: etcd _EXE: /opt/etcd-v3.3.8/etcd _GID: 995 _HOSTNAME: iZbp1f7y2ikfe4l8nx95amZ _MACHINE_ID: f0f31005fb5a436d88e3c6cbf54e25aa _PID: 10926 _SOURCE_REALTIME_TIMESTAMP: 1546854068863857 _SYSTEMD_CGROUP: /system.slice/etcd.service _SYSTEMD_SLICE: system.slice _SYSTEMD_UNIT: etcd.service _TRANSPORT: journal _UID: 997 __source__: 172.16.1.4 __tag__:__hostname__: logtail-ds-8kqb9 __topic__: _monotonic_timestamp_: 1467135144311 _realtime_timestamp_: 1546854068864309 -
Exemple 2
RemarqueLimitations liées à la collecte des journaux de l'hôte depuis un conteneur :
Un conteneur avec une version de systemd antérieure ou égale à 247 ne peut pas collecter les journaux d'un hôte exécutant une version de systemd 249 ou ultérieure.
Un conteneur avec une version de systemd 249 ou ultérieure peut lire les journaux dans les anciens et les nouveaux formats.
Dans un environnement Kubernetes, utilisez le mode DaemonSet pour collecter les journaux du système hôte. Utilisez des plugins de traitement pour ne conserver que les champs importants. Exemple de configuration :
{ "inputs": [ { "detail": { "JournalPaths": [ "/logtail_host/var/log/journal" ], "ParsePriority": true, "ParseSyslogFacility": true }, "type": "service_journal" } ], "processors": [ { "detail": { "Exclude": { "UNIT": "^libcontainer.*test" } }, "type": "processor_filter_regex" }, { "detail": { "Include": [ "MESSAGE", "PRIORITY", "_EXE", "_PID", "_SYSTEMD_UNIT", "_realtime_timestamp_", "_HOSTNAME", "UNIT", "SYSLOG_FACILITY", "SYSLOG_IDENTIFIER" ] }, "type": "processor_pick_key" } ] }Exemple de journal :
MESSAGE: rejected connection from "192.168.0.251:48914" (error "EOF", ServerName "") PRIORITY: informational SYSLOG_IDENTIFIER: etcd _EXE: /opt/etcd-v3.3.8/etcd _HOSTNAME: iZbp1i0czq3zgvxlx7u8ueZ _PID: 10590 _SYSTEMD_UNIT: etcd.service __source__: 172.16.0.141 __tag__:__hostname__: logtail-ds-dp48x __topic__: _realtime_timestamp_: 1547975837008708
Dépannage
Si aucune donnée n'apparaît sur la page de prévisualisation ou de requête après avoir configuré Logtail pour la collecte des journaux, consultez Dépanner les échecs de collecte Logtail.