Déployer l'Agent de journalisation pour Linux
Vous pouvez déployer le Agent de journalisation pour collecter et acheminer les journaux d'infrastructure et d'application des environnements Linux tels que RHEL8, RHEL9, Debian et Ubuntu vers une instance IBM Cloud Logs Pour plus d'informations sur les environnements Linux pris en charge, voir Agent de journalisation pour les environnements non démarrés.
Ces instructions concernent les systèmes Red Hat Linux mais peuvent être utilisées pour d'autres serveurs basés sur Linux RPM.
Effectuez les étapes suivantes pour déployer un agent dans un environnement Linux pris en charge.
Définir la méthode d'authentification de l'agent
Choisissez le type d'identité et la méthode d'authentification de l'agent. Ensuite, créez un profil de confiance ou une clé API. Le rôle requis pour l'envoi des journaux à IBM Cloud Logs est Sender.
Vous pouvez utiliser un identifiant de service ou un profil de confiance comme identité utilisée par l'agent pour s'authentifier auprès du service IBM® Cloud Logs Pour plus d'informations, voir Octroi d'autorisations IAM pour l'ingestion.
Sélectionnez l'une des options suivantes :
Option 1 : Authentification à l'aide d'un profil de confiance
Créez un profil sécurisé. Pour plus d'informations, voir Générer un profil de confiance pour l'ingestion.
Option 2 : Authentification à l'aide d'une clé API d'identification de service
Générer une clé API pour l'authentification de l'ID de service. Pour plus d'informations, voir Générer une clé API pour l'ingestion.
Télécharger les paquets RPM ou DEB nécessaires
Procédez comme suit :
-
Téléchargez les paquets RPM ou DEB nécessaires.
Pour plus d'informations sur la version actuelle de Agent de journalisation, consultez les notes de mise à jour de l'agent.
-
Validez la somme de contrôle en exécutant la commande suivante :
sha256sum -c <sha256_filename>Où
<sha256_filename>est le nom du fichier de téléchargement*.sha256. -
Si vous installez la dernière version de l'agent, le fichier
post-config.shfait partie du paquetage RPM ou DEB et se trouve à l'adresse/opt/fluent-bit/bin/post-config.sh. Si vous utilisez une version antérieure à 1.6.2, vous devez télécharger le fichierpost-config.shen suivant cette étape.Cette étape n'est nécessaire que si vous utilisez le site Agent de journalisation 1.6.1 ou une version antérieure. Il ne s'applique pas au site Agent de journalisation 1.6.2 ni aux versions ultérieures.
wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/post-config.sh chmod +x post-config.sh
Mettre en place et déployer la configuration Agent de journalisation
Procédez comme suit :
-
Connectez-vous à votre environnement Linux.
-
Installez l'agent.
-
Pour l'exécution de RHEL :
rpm -ivh <rpm_filename> -
Pour Debian et Ubuntu exécuter :
dpkg -i <deb_filename>
Où
<rpm_filename>ou<deb_filename>est le nom du fichier téléchargé*.rpmou*.deb. -
-
Exécutez le script de configuration.
/opt/fluent-bit/bin/post-config.sh -h <target_host> -p <target_port> [-t <target_path>] -a <auth_mode> -k <iam_api_key> [-s <vsi_secure_access_enabled>] [-i <IAM_environment>] [--subsystem-name <name>] [--application-name <name>]Où
-t <target_path>-
Spécifiez le chemin d'accès pour envoyer des données à une instance IBM Cloud Logs. Si elle n'est pas fournie, la valeur par défaut est
/logs/v1/singles. -a <auth_mode>-
Spécifiez
IAMAPIKeyouVSITrustedProfile. -k <iam_api_key>-
Spécifiez la Cloud Identity and Access Management clé API (requise pour le mode
IAMAPIKey). Veillez à suivre les instructions données dans Générer une clé API.Pour plus d'informations sur les clés API, voir Gestion des clés API.
-d <trusted_profile_id>-
Indiquez l'ID du profil de confiance (obligatoire pour le mode "
VSITrustedProfile). Lors de l'utilisation de profils de confiance, l'ID est celle configurée dans la section Configuration des autorisations pour l'ingestion. Vous devez créer l'instance avec le service de métadonnées activé et lier le profil de confiance à votre instance en spécifiant l'ID lors de la création. Pour plus d'informations, voir Création d'instances de serveurs virtuels.Pour plus d'informations sur les profils de confiance, voir Création d'un profil de confiance.
--send-directly-to-iclDéclassé-
Ce paramètre permet d'envoyer les journaux directement à IBM Cloud Logs.
-h <target_host>-
L'hôte pour l'ingestion IBM Cloud Logs, trouvé dans la section
Endpointsde votre IBM Cloud Logs instanceOverview. Utiliser le point de terminaison d'entrée. Pour plus d'informations, voir Points d'entrée -i <IAM_environment>-
Indique si un point de terminaison public ou privé est utilisé pour l'authentification IAM.
Productionindique qu'il faut utiliser le point de terminaison public.PrivateProduction' indique qu'il faut utiliser le point de terminaison privé.Productionest la valeur par défaut.Si votre système n'a pas accès à l'internet public, vous devez utiliser "
PrivateProductionpour utiliser le point de terminaison privé. -p <target_port>-
Utilisez
443pour envoyer les journaux directement à IBM Cloud Logs. -s <vsi_secure_access_enabled>-
(Facultatif) Définissez ce paramètre sur
truesi l'accès sécurisé est activé dans votre ISV. Il sera réglé par défaut surfalse. Par exemple,-s true. --application-name <name>-
Le nom de l'application définit l'environnement qui produit et envoie les journaux à IBM Cloud Logs. Si elle n'est pas fournie, la valeur par défaut est
${HOSTNAME}. --subsystem-name <name>-
Le nom du sous-système correspond au service ou à l'application qui produit et envoie les journaux à IBM Cloud Logs. Si elle n'est pas fournie, la valeur par défaut est
not-found.
Exécutez le script pour mettre à jour la configuration en fonction des modifications apportées aux paramètres.
Agent de journalisation configuration par défaut
Agent de journalisation est livré avec une configuration par défaut qui comprend une source d'entrée et des filtres prédéfinis. Cette configuration par défaut permet de collecter les journaux à partir d'emplacements communs et de les enrichir de métadonnées de base.
Source d'entrée par défaut
Agent de journalisation est préconfiguré pour surveiller les fichiers journaux dans le répertoire /var/log/ et ses sous-répertoires. Voici un exemple de la valeur par défaut inputs.conf:
[INPUT]
Name tail
Tag host.*
Path /var/log/**/*.log
Path_Key file
Exclude_Path /var/log/at/**
DB /var/lib/fluent-bit/fluent-bit.DB
Buffer_Chunk_Size 32KB
Buffer_Max_Size 256KB
Mem_Buf_Limit 30MB
Skip_Long_Lines On
Refresh_Interval 10
storage.type filesystem
storage.pause_on_chunks_overlimit on
Filtres par défaut
La configuration par défaut comprend deux filtres qui enrichissent les enregistrements de métadonnées et les organisent pour en faciliter le traitement :
-
Modifier le filtre: Ajoute des champs de métadonnées tels que le nom du sous-système, le nom de l'application, le nom d'hôte et la plate-forme.
-
Filtre de nidification: Regroupe les champs de métadonnées sous une seule clé
meta.
Voici un exemple de la valeur par défaut filters.conf:
[FILTER]
Name modify
Match *
Add subsystemName ${SUBSYSTEM_NAME}
Add applicationName ${APPLICATION_NAME}
Add meta.hostname ${HOSTNAME}
Add meta.environment prod # Sample values: prod, staging, dev, qa
Add meta.platform linux
[FILTER]
Name nest
Match *
Operation nest
Wildcard meta.*
Nest_under meta
Remove_prefix meta.
Agent de journalisation configuration personnalisation
Ces valeurs par défaut constituent une base pour la collecte et l'enrichissement des journaux. Pour configurer l'agent selon vos besoins, vous pouvez modifier les fichiers inputs.conf, filters.conf, et outputs.conf situés dans le répertoire /etc/fluent-bit/.
Ajouter des champs de métadonnées supplémentaires
Vous pouvez ajouter des champs de métadonnées supplémentaires aux journaux acheminés.
Procédez comme suit :
-
Modifiez le fichier
fluent-bit.confdans le dossier/etc/fluent-bit/. -
Ajoutez vos métadonnées personnalisées en utilisant la structure suivante : "
Add <meta.key_name> <your_custom_value>[FILTER] Name modify Match * Add subsystemName ${SUBSYSTEM_NAME} Add applicationName ${APPLICATION_NAME} Add meta.hostname ${HOSTNAME} Add meta.env prod # Sample values: prod, staging, dev, qa Add meta.platform linuxOù
<meta.key_name>est le nom du champ de métadonnées à ajouter (par exemple, "meta.env) et "<your_custom_value>est la valeur à attribuer au champ (par exemple, le nom de votre environnement).
Par exemple, si vous souhaitez ajouter
regionen tant que métadonnées ou la version en tant que nouveau champ, la configuration sera la suivante :[FILTER] Name modify Match * Add subsystemName ${SUBSYSTEM_NAME} Add applicationName ${APPLICATION_NAME} Add meta.hostname ${HOSTNAME} Add meta.env prod Add meta.platform linux Add meta.region us-east Add version my-version -
Sauvegardez le fichier de configuration.
-
Redémarrez l'agent pour appliquer les modifications.
systemctl daemon-reload && systemctl restart fluent-bit
Inclure ou exclure des fichiers
Vous devez configurer les fichiers journaux que le Agent de journalisation surveille.
Procédez comme suit :
-
Modifiez le fichier
fluent-bit.confdans le dossier/etc/fluent-bit/. -
Modifier la section INPUT.
Définissez le chemin d'accès avec les répertoires et les fichiers que vous souhaitez surveiller.
Définissez le chemin d'accès Exclude_Path avec les répertoires et les fichiers que vous souhaitez exclure de la surveillance.
[INPUT] Name tail Tag * Path /var/log/*.log Path_Key file Exclude_Path /var/log/audit.log DB /var/lib/fluent-bit/fluent-bit.DB Buffer_Chunk_Size 32KB Buffer_Max_Size 256KB Skip_Long_Lines On Refresh_Interval 10 storage.type filesystem storage.pause_on_chunks_overlimit on -
Modifier la section SERVICE.
Définissez le storage.path à un emplacement du système de fichiers pour stocker les flux et les données.
-
Sauvegardez le fichier de configuration.
-
Redémarrez l'agent pour appliquer les modifications.
systemctl daemon-reload && systemctl restart fluent-bit
Vérifier que les journaux sont livrés à votre destination cible
Procédez comme suit :
-
Accédez à l'interface web de votre instance IBM Cloud Logs..
-
Lorsque votre agent est correctement configuré, vous pouvez consulter les journaux dans la vue par défaut du tableau de bord.
Par exemple, si vous définissez le nom de l applicationName comme étant le nom de l'hôte dans votre agent, vous pouvez définir le filtre du nom de l'application dans une vue comme étant le nom de votre hôte.
Mise à jour de l'agent
Vous pouvez mettre à jour l'agent en téléchargeant les paquets d'agent souhaités et en exécutant la commande appropriée pour votre environnement. Pour plus d'informations sur la version actuelle de Agent de journalisation, consultez les notes de mise à jour de l'agent.
-
Pour l'exécution de RHEL :
rpm -Uvh <rpm_filename> -
Pour Debian et Ubuntu exécuter :
dpkg -i <deb_filename>
Où <rpm_filename> ou <deb_filename> est le nom du fichier téléchargé *.rpm ou *.deb.
Lors de la réinstallation ou de la mise à jour de l'agent, les fichiers de configuration existants restent inchangés.
Redémarrer le service après la mise à jour :
systemctl daemon-reload && systemctl restart fluent-bit
Désinstallation de l'agent
Vous pouvez supprimer un agent installé en exécutant la commande appropriée à partir d'un terminal en tant qu'utilisateur sudo.
-
Pour RHEL, CentOS, et Fedora Linux s'exécutent :
sudo yum erase draios-agent -
Pour Debian et Ubuntu exécuter :
sudo apt-get remove draios-agent