Otorgamiento de acceso READ de los logs al usuario agente en el host
Al desplegar los agentes en hosts basados en UNIX para utilizar Oracle Log Analytics, asegúrese que el agente de gestión tenga los privilegios correctos para leer los archivos log desde donde se deben recopilar los datos.
En los hosts basados en Unix, el usuario que instala el agente de gestión es mgmt_agent para el agente de gestión instalado manualmente y oracle-cloud-agent cuando el agente de gestión es un plugin activado con Oracle Cloud Agent.
Compruebe el permiso de archivo para el archivo log y cada carpeta de la ruta de acceso del archivo con el usuario del agente de gestión: si el archivo log se encuentra en /a/b/c/file.log, debe verificar el permiso de lectura para el archivo log file.log, así como las carpetas a, b y c en la ruta de acceso del archivo.
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"Si el usuario del agente de gestión no puede leer los archivos log, utilice uno de los siguientes métodos (en el orden de las mejores prácticas) para que los archivos log sean legibles para el agente de gestión. Se recomienda que pruebe cada método en el orden indicado y compruebe si el acceso está disponible antes de probar el siguiente.
-
Utilice las listas de control de acceso (ACL) para permitir al usuario del agente en la nube leer la ruta del archivo log y los archivos log. Una ACL proporciona un mecanismo de permisos flexible para los sistemas de archivos. Asegúrese de que la ruta de acceso completa a los archivos log se pueda leer mediante la ACL.
Para configurar una ACL en un host basado en UNIX:
Determine si el sistema que contiene los archivos log tiene el paquete
acl:rpm -q aclSi el sistema contiene el paquete
acl, el comando anterior debe devolver algo similar a:acl-2.2.39-8.el5Si el sistema no tiene el paquete
acl, descargue e instale el paquete. -
Ejecute los siguientes comandos
setfacl:Nota
En primer lugar, compruebe los permisos existentes y agréguelos, si es necesario. Asegúrese de que los cambios no afecten a los existentes.-
Otorgue al usuario del agente de gestión acceso READ al archivo log necesario:
setfacl -m u:<agentuser>:r <path to the log file/log file name> -
Otorgue los permisos READ y EXECUTE a cada carpeta de la ruta del archivo 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 ejemplo, los siguientes comandos son necesarios para la ruta de acceso
/scratch/logs/*.logpara el usuario del agente de gestiónmgmt_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 montaje nfs, puede que no sea posible otorgar permiso de lectura y ejecución al usuario del agente para leer los archivos log o las carpetas. En estos casos, agregue el usuario del agente al grupo de archivos log:
usermod -a -G <group of log file> <agentuser>Reinicie el agente de gestión después de ejecutar el comando anterior.
-
-
Coloque el agente de gestión y el producto que genera los logs en el mismo grupo de usuarios y que los archivos se puedan leer en todo el grupo. Reinicie el agente.
-
Convierta los archivos log en legibles para todos los usuarios. Por ejemplo,
chmod o+r <file>.Puede que tenga que otorgar permiso ejecutable a las carpetas principales. Por ejemplo,
chmod o+rx <parent folder>.