Conceder Acesso READ dos Logs ao Usuário do Agente no Host

Ao implantar agentes de gerenciamento para usar o Oracle Log Analytics em hosts baseados em UNIX, verifique se o agente de gerenciamento tem os privilégios corretos para ler os arquivos de log dos quais os dados serão coletados.

Observação

Nos hosts baseados no Unix, o usuário que instala o agente de gerenciamento é mgmt_agent para o agente de gerenciamento instalado manualmente e oracle-cloud-agent quando o agente de gerenciamento é um plug-in ativado com o Oracle Cloud Agent.

Verifique a permissão do arquivo de log e cada pasta no caminho do arquivo com o usuário do agente de gerenciamento: Se o seu arquivo de log estiver localizado em /a/b/c/file.log, você deverá verificar a permissão de leitura do arquivo de log file.log, bem como as pastas a, b e c no caminho do arquivo.

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"

Se o usuário do agente de gerenciamento não puder ler os arquivos de log, use um dos métodos a seguir (na ordem de melhores práticas) para tornar os arquivos de log legíveis ao agente de gerenciamento. É recomendável que você tente cada método na ordem listada e verifique se o acesso está disponível antes de tentar o próximo.

  • Use Listas de Controle de Acesso (ACLs) para permitir que o usuário do agente da nuvem leia o caminho de arquivo de log e os arquivos de log. Uma ACL fornece um mecanismo de permissão flexível para sistemas de arquivos. Certifique-se de que o caminho completo para os arquivos de log seja legível pela ACL.

    Para configurar uma ACL em um host baseado em UNIX:

    Determine se o sistema que contém os arquivos de log tem o pacote acl:

    rpm -q acl

    Se o sistema contiver o pacote acl, o comando anterior deverá retornar algo como:

    acl-2.2.39-8.el5

    Se o sistema não tiver o pacote acl, faça download do pacote e instale-o.

  • Execute os seguintes comandos setfacl:

    Observação

    Primeiro, verifique as permissões existentes e adicione-as, se necessário. Certifique-se de que as alterações não afetem as existentes.
    • Conceda ao usuário do agente de gerenciamento o acesso READ ao arquivo de log exigido:

      setfacl -m u:<agentuser>:r <path to the log file/log file name>
    • Conceda as permissões READ e EXECUTE a cada pasta no caminho do arquivo de log:

      //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>

      Por exemplo, os seguintes comandos são necessários para o caminho /scratch/logs/*.log para o usuário do agente de gerenciamento mgmt_agent:

      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

    Para nfs mount, talvez não seja possível dar permissão READ e EXECUTE ao usuário do agente para ler os arquivos ou pastas de log. Nesses casos, adicione o usuário do agente ao grupo de arquivos de log:

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

    Reinicie o agente de gerenciamento após executar o comando acima.

  • Coloque o agente de gerenciamento e o produto que gera os logs no mesmo grupo de usuários e torne os arquivos legíveis para todo o grupo. Reiniciar o agente.

  • Torne os arquivos de log legíveis para todos os usuários. Por exemplo, chmod o+r <file>

    Talvez você precise dar permissão executável às pastas pai. Por exemplo, chmod o+rx <parent folder>.