Configurer la collection de commandes du système d'exploitation

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

Rubriques :

Préalables à la configuration de la collecte de la sortie de commande du système d'exploitation

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

  • Créez un script personnalisé composé d'une commande de 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 données utiles par l'agent vers le nuage. Les données utiles STDOUT peuvent être une seule entrée de journal 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 rechercher les préalables.

    Stockez votre script personnalisé dans le dossier agent_inst/state/laStorage/os_cmd/scripts du 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 plugiciel Agent Oracle Cloud - Agent de gestion : /var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/state/laStorage/os_cmd/scripts
  • Des autorisations de fichier spéciales peuvent être nécessaires 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 exécutés par le script doivent avoir l'autorisation execute (Exécuter) pour l'utilisateur de l'agent de gestion.

Flux global pour la 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 de gestion sur l'hôte où vous voulez exécuter les scripts de commande du système d'exploitation et générer la sortie qui doit être collectée dans Oracle Log Analytics. Voir Configurer la collecte continue des journaux à l'aide de l'agent de gestion.

  • Créez une entité pour identifier l'hôte de votre agent dans Oracle Log Analytics. L'entité doit se trouver sur le même hôte que l'agent de gestion 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. Voir Créer une entité pour représenter votre ressource émettrice de journaux.

  • 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. Voir Créer un analyseur.
  • Identifiez une source existante ou créez une source de journaux de type Commande de système d'exploitation. Voir Créer une source de commandes du système d'exploitation.
  • Vérifiez si vous voulez 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. Voir Propriétés d'agent que vous pouvez modifier et Modifier les propriétés d'agent.
  • Associez les entités à la source que vous avez créée précédemment. Voir Configurer une nouvelle association source-entité.

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

  • Consultez les données de journal dans l'explorateur de journaux en sélectionnant la source de commandes du système d'exploitation que vous avez créée précédemment. Voir Filtrer les journaux par attribut source.

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

  • Échec de l'exécution de l'application externe : Une erreur est survenue 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, aucune autorisation de lecture/exécution sur le script.

Voir Voir les avertissements de collecte d'agent.

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

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

  • Les scripts s'exécutent avec le même utilisateur que l'agent de gestion. Ceci est important lors de la lecture ou de l'écriture de fichiers en script.

  • La sortie générée par le script sur Standard Out (STDOUT) et Standard Error (STDERR) est collectée sous forme de texte pour extraire les entrées de journal.

  • Les mots ou préfixes suivants ne sont pas pris en charge dans la commande du système d'exploitation ou 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 ou 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 ou le nom du script : /../ ou \..\. De plus, 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 : Il s'agit de l'ID modèle généré en interne de la commande dans la source de journaux. Il peut être utilisé pour différencier les instances de script si le même script est donné dans plusieurs commandes.

Créer une source de commande OS

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 Observabilité et gestion. Sous Log Analytics, cliquez sur Administration.

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

    La page Sources s'ouvre. Cliquez sur Créer une source.

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

    Au besoin, ajoutez 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 journaux. Par la suite, lorsque vous associerez cette source à une entité pour activer la collecte de journaux au moyen de l'agent de gestion, seules les entités de ce type seront disponibles pour association. Une source peut avoir un ou plusieurs types d'entité. Notez que l'entité doit se trouver sur le même hôte que l'agent de gestion 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 de l'analyseur approprié qui saisit le mieux les champs de vos journaux.

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

    • La fonction Détails de l'en-tête n'est pas prise en charge lorsque la taille du bloc JSON ou XML est supérieure à 1 Mo et que l'en-tête se trouve à la fin du bloc ou que 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 script personnalisé. Le champ Commande ne peut pas contenir de 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 de détails sur le script personnalisé de commande du système d'exploitation et sur l'emplacement à stocker sur l'hôte de l'agent, voir Préalables à la configuration de la collecte de la sortie de commande du système d'exploitation.

    • Arguments : Facultativement, vous pouvez spécifier des arguments dans le script et séparer chaque argument par un blanc.

    • Description : Facultativement, fournissez une description significative pour cette commande et ce jeu d'arguments.

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

  8. Ajoutez des filtres de données. Voir Utiliser des filtres de données dans les sources.

  9. Ajoutez des champs étendus. Voir Utiliser des champs étendus dans les sources.

  10. Configurez les options d'enrichissement de champ. Voir Configurer les options d'enrichissement de champ.

  11. Ajoutez des étiquettes. Voir Utiliser des étiquettes dans les sources.

  12. Cliquez sur Enregistrer.