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.
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 gerenciamentomgmt_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>
.