Configurer la collection de commandes OS

Si vous souhaitez exécuter des scripts de commande de système d'exploitation sur l'hôte de l'agent OMA et collecter la sortie continue des commandes sous forme de journaux dans Oracle Log Analytics, créez votre propre script.

Rubriques :

Prérequis pour la configuration de la collecte de la sortie de commande du système d'exploitation

Effectuez les tâches prérequises suivantes avant de configurer la collecte de journaux :

  • Créez un script personnalisé composé d'une commande du système d'exploitation, dont la sortie peut être collectée dans Oracle Log Analytics en tant que journaux. La sortie STDOUT du script est envoyée en tant que charge utile par l'agent vers le cloud. La charge utile STDOUT peut être une entrée de journal unique ou plusieurs entrées de journal. Assurez-vous que l'analyseur utilisé dans la source Oracle Log Analytics peut l'analyser. En outre, le script doit être en mesure de gérer les conditions d'erreur et de vérifier les prérequis.

    Stockez le script personnalisé sous le dossier agent_inst/state/laStorage/os_cmd/scripts dans le dossier d'installation de l'agent. Par conséquent, le chemin absolu de stockage du script est :

    • Pour Oracle Management Agent : /opt/oracle/mgmt_agent/agent_inst/state/laStorage/os_cmd/scripts
    • Pour le module d'extension Agent-Agent de gestion Oracle Cloud : /var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/state/laStorage/os_cmd/scripts
  • Des autorisations de fichier spéciales peuvent être fournies pour exécuter des commandes particulières dans le script. Configurez manuellement ces autorisations sur l'hôte de l'agent. Le script et toutes les autres commandes/scripts qu'il exécute doivent disposer du droit d'accès execute pour l'utilisateur de l'agent OMA.

Flux global de collecte des journaux de commandes du système d'exploitation

Les tâches de haut niveau suivantes permettent de collecter la sortie d'un script de commande du système d'exploitation :

  • Installez l'agent OMA sur l'hôte sur lequel vous voulez exécuter les scripts de commande du système d'exploitation et générez la sortie à collecter dans Oracle Log Analytics. Reportez-vous à Configuration de la collecte de journaux continue à l'aide de l'agent de gestion.

  • Créez une entité pour identifier l'hôte de l'agent dans Oracle Log Analytics. L'entité doit se trouver sur le même hôte que l'agent OMA où le script sera exécuté. L'exécution de la commande du système d'exploitation distant n'est pas prise en charge. En général, l'entité est créée automatiquement lorsque vous installez l'agent OMA. Reportez-vous à Création d'une entité pour représenter votre ressource émettrice de journal.

  • Créez un analyseur qui peut analyser la sortie du script. Cet analyseur doit être utilisé dans la source qui sera identifiée à l'étape suivante. Reportez-vous à Création d'un analyseur.
  • Identifiez une source existante ou créez une source de journal de type Commande OS. Reportez-vous à Création d'une source de commande OS.
  • Vérifiez si vous souhaitez configurer la propriété de collection d'agents customized_schedule pour définir l'intervalle de collecte de la collection de commandes du système d'exploitation. La valeur par défaut est 30 seconds. Vous pouvez mettre à jour la programmation au niveau de l'agent, de la source, de l'entité ou de l'association à l'aide des propriétés de collection d'agents. Reportez-vous à Propriétés d'agent que vous pouvez modifier et à Modification des propriétés d'agent.
  • Associez les entités à la source que vous avez créée précédemment. Reportez-vous à Configuration d'une nouvelle association source-entité.

    Une fois l'association terminée, l'agent commence à exécuter la commande du système d'exploitation de façon périodique, le STDOUT de la commande est collecté en tant que données de journal et ces données de journal commencent à circuler dans Oracle Log Analytics.

  • Affichez les données de journal dans l'explorateur de journaux en sélectionnant la source de commande du système d'exploitation que vous avez créée précédemment. Reportez-vous à Filtrage des journaux par attribut de source.

Si les données de journal n'apparaissent pas dans l'explorateur de journaux une fois la configuration terminée, vous pouvez rechercher les avertissements de collecte d'agent en cas de problème. Les avertissements suivants sont spécifiquement liés à la collecte de sortie des commandes du système d'exploitation :

  • Echec d'exécution de l'application externe : une erreur s'est produite lors de l'exécution du script ou la commande du système d'exploitation n'est pas prise en charge.

  • Application externe introuvable : script introuvable, aucun droit d'accès en lecture/exécution sur le script.

Reportez-vous à Affichage des avertissements de collecte d'agent.

Facteurs importants à prendre en compte lors de la configuration de la collecte de commandes de système d'exploitation

  • Utilisez le chemin complet des commandes dans les scripts ; par exemple, utilisez /bin/sudo au lieu de sudo.

  • Les scripts sont exécutés avec le même utilisateur que l'agent OMA. Ceci est important lors de la lecture ou de l'écriture de fichiers dans un script.

  • La sortie générée par le script sur Sortie standard (STDOUT) et Erreur standard (STDERR) est collectée en tant que texte pour extraire les entrées de journal.

  • Les mots ou préfixes suivants ne sont pas pris en charge dans la commande de système d'exploitation ni dans le nom du script : sh, bash, csh, zsh, ksh, dash, cmd

  • Les caractères suivants ne sont pas pris en charge dans la commande du système d'exploitation ni dans le nom du script : |, &, ;, >, <

  • Les séquences de parcours de répertoire parent suivantes ne sont pas prises en charge dans la commande du système d'exploitation ni dans le nom du script : /../ ou \..\. En outre, la commande du système d'exploitation ne peut pas se terminer par /.. ou \...

  • La variable d'environnement suivante est transmise aux scripts de l'agent. Vous pouvez utiliser la variable dans les scripts.

    • LA_SOURCE_COMMAND_ID : ID de modèle généré en interne de la commande dans la source de journal. Il peut être utilisé pour différencier les instances de script si le même script est fourni dans plusieurs commandes.

Créer une source de commande de système d'exploitation

Créez ce type de source pour configurer la collecte continue de la sortie en exécutant des scripts de commande du système d'exploitation sur l'hôte de l'agent, sous forme de journaux.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Log Analytics, cliquez sur Administration.

  2. Les ressources d'administration sont répertoriées dans le volet de navigation gauche sous Administration. Cliquez sur Sources.

    La page Sources apparaît. Cliquez sur Créer une source.

  3. Dans le champ Nom, saisissez le nom de la source.

    Ajoutez éventuellement une description.

  4. Dans la liste Type de source, sélectionnez Commande de système d'exploitation.

  5. Cliquez sur le champ Type d'entité et sélectionnez le type d'entité pour cette source de journal. Par la suite, lorsque vous associez cette source à une entité pour activer la collecte de journal via l'agent de gestion, seules les entités de ce type sont disponibles pour association. Une source peut comprendre un seul type d'entité ou plusieurs types d'entité. Notez que l'entité doit se trouver sur le même hôte que l'agent OMA où le script sera exécuté. L'exécution de la commande du système d'exploitation distant n'est pas prise en charge.

  6. Cliquez sur le champ Analyseur et sélectionnez le nom d'analyseur approprié qui capture le mieux les champs dans vos journaux.

    Les fonctions d'analyseur suivantes ne sont pas prises en charge :

    • La fonction Détails d'en-tête n'est pas prise en charge lorsque la taille de bloc JSON ou XML est supérieure à 1 Mo et que l'en-tête se trouve à la fin du bloc ou de l'en-tête encapsule le corps.
    • Décalage horaire
  7. Utilisez l'onglet Commandes pour inclure les scripts de commande du système d'exploitation et leurs détails qui doivent être exécutés sur l'hôte de l'agent pour collecter la sortie sous forme de journaux.

    • Commande : indiquez le chemin du script de commande du système d'exploitation stocké sur l'hôte de l'agent. Le chemin doit être relatif au dossier de scripts personnalisés. Le champ Commande ne peut pas contenir les séquences de parcours de répertoire parent /../ ou \..\. La commande ne peut pas se terminer par /.. ou \...

      Exemple de chemin :

      Si le chemin absolu de votre script personnalisé est /opt/oracle/mgmt_agent/agent_inst/state/laStorage/os_cmd/scripts/user1scripts/my_script1.sh, indiquez le chemin user1scripts/my_script1.sh dans ce champ.

      Pour plus d'informations sur le script personnalisé de commande de système d'exploitation et l'emplacement de stockage sur l'hôte de l'agent, reportez-vous à Prérequis pour la configuration de la collecte de sortie de commande de système d'exploitation.

    • Arguments : vous pouvez éventuellement spécifier des arguments pour le script et séparer chaque argument par un caractère non imprimable.

    • Description : vous pouvez éventuellement fournir une description explicite de cette commande et de l'ensemble d'arguments.

    Après avoir fourni les détails du script de commande du système d'exploitation, activez la case à cocher correspondant à sa ligne pour activer la configuration.

  8. Ajoutez des filtres de données. Reportez-vous à Utilisation de filtres de données dans les sources.

  9. Ajoutez des champs étendus. Reportez-vous à Utilisation de champs étendus dans les sources.

  10. Configurez les options d'enrichissement de champ. Reportez-vous à Configuration des options d'enrichissement de champ.

  11. Ajoutez des libellés. Reportez-vous à Utilisation de libellés dans les sources.

  12. Cliquez sur Enregistrer.