READ-Zugriff auf die Logs für den Agent-Benutzer auf dem Host erteilen

Stellen sie beim Deployment der Management-Agents zur Verwendung von "Oracle Log Analytics" auf UNIX-basierten Hosts sicher, dass der Management-Agent über die Berechtigungen zum Lesen der Logdateien verfügt, aus denen Daten erfasst werden sollen.

Hinweis

Auf Unix-basierten Hosts ist der Benutzer, der Management Agent installiert, mgmt_agent für den manuell installierten Management Agent und oracle-cloud-agent, wenn der Management Agent ein Plug-in ist, das mit Oracle Cloud Agent aktiviert ist.

Prüfen Sie die Dateiberechtigung für die Logdatei und die einzelnen Ordner im Dateipfad mit dem Management Agent-Benutzer: Wenn sich Ihre Logdatei unter /a/b/c/file.log befindet, müssen Sie die Leseberechtigung für die Logdatei file.log sowie die Ordner a, b und c im Dateipfad prüfen.

sudo -u <agentuser> /bin/bash -c "ls /a"
sudo -u <agentuser> /bin/bash -c "ls /a/b"
sudo -u <agentuser> /bin/bash -c "ls /a/b/c"
sudo -u <agentuser> /bin/bash -c "tail /a/b/c/file.log"

Wenn der Management Agent-Benutzer die Logdateien nicht lesen kann, verwenden Sie eine der folgenden Methoden (in Best-Practice-Reihenfolge), um die Logdateien für den Management Agent lesbar zu machen. Es wird empfohlen, jede Methode in der aufgeführten Reihenfolge auszuprobieren und zu prüfen, ob der Zugriff verfügbar ist, bevor Sie die nächste versuchen.

  • Verwenden Sie Access-Control-Listen (ACLs), um dem Cloud-Agent-Benutzer das Lesen des Logdateipfades und der Logdateien zu gewähren. Eine ACL stellt einen flexiblen Berechtigungsmechanismus für Dateisysteme bereit. Stellen Sie sicher, dass der vollständige Pfad zu den Logdateien über die ACL gelesen werden kann.

    So richten Sie eine ACL auf einem UNIX-basierten Host ein:

    Bestimmen Sie, ob das System, das die Logdateien enthält, das Package acl enthält:

    rpm -q acl

    Wenn das System das Package acl enthält, sollte der vorherige Befehl Folgendes zurückgeben:

    acl-2.2.39-8.el5

    Wenn das System nicht über das Package acl verfügt, laden Sie das Package herunter, und installieren Sie es.

  • Führen Sie die folgenden setfacl-Befehle aus:

    Hinweis

    Prüfen Sie zunächst, ob die Berechtigungen vorhanden sind, und fügen Sie sie bei Bedarf hinzu. Stellen Sie sicher, dass die Änderungen keine Auswirkungen auf die vorhandenen haben.
    • Erteilen Sie dem Management Agent-Benutzer READ-Zugriff auf die erforderliche Logdatei:

      setfacl -m u:<agentuser>:r <path to the log file/log file name>
    • Erteilen Sie den READ- und EXECUTE-Berechtigungen für jeden Ordner im Logdateipfad:

      //set read, execute permissions on folders other than parent folder
      setfacl -m u:<agentuser>:rx <path to the folder>
      
      //set read, execute permissions with recursive options on parent folder
      setfacl -R -m u:<agentuser>:rx <path to the folder> 
      
      //set read, execute permissions with default option to allow all future log files created under this folder to be readable.
      setfacl -d -m u:<agentuser>:rx <path to the folder>

      Beispiel: Die folgenden Befehle sind für den Pfad /scratch/logs/*.log für den Management Agent-Benutzer mgmt_agent erforderlich:

      setfacl -m u:mgmt_agent:rx /scratch
      setfacl -R -m u:mgmt_agent:rx /scratch/logs
      setfacl -d -m u:mgmt_agent:rx /scratch/logs

    Für nfs mount können dem Agent-Benutzer möglicherweise keine READ- und EXECUTE-Berechtigungen zum Lesen der Protokolldateien oder Ordner erteilt werden. Fügen Sie in diesen Fällen den Agent-Benutzer zur Logdateigruppe hinzu:

    usermod -a -G <group of log file> <agentuser>

    Starten Sie den Management Agent neu, nachdem Sie den obigen Befehl ausgeführt haben.

  • Platzieren Sie den Management Agent und das Produkt, das die Logs generiert, in derselben Benutzergruppe, und machen Sie die Dateien für die gesamte Gruppe lesbar. Starten Sie den Agent neu.

  • Machen Sie die Logdateien für alle Benutzer lesbar. Beispiel: chmod o+r <file>.

    Möglicherweise müssen Sie den übergeordneten Ordnern ausführbare Berechtigungen erteilen. Beispiel: chmod o+rx <parent folder>.