Ansible: obtener una lista de servicios por usuarios especificados
Para mi laboratorio, me gustaría verificar los servicios en varios servidores para usuarios específicos. Idealmente, tener los siguientes datos:
- usuario
- estado
- nombre del servicio
Desafortunadamente, no hay una forma nativa de lograr esto con Ansible. Con bash es posible: ps -u user1,user2,user3 -xco user,stat,command
, que funciona como se pretende.
Pero el comando PS no es tan simple. No verificará los servicios para los usuarios si un usuario no existe. ¿Podrías por favor orientarme en la dirección correcta, tal vez estoy complicando las cosas aquí?
davy.ai
Como experto en tecnología de la información especializado en Linux, servicio y automatización utilizando Ansible, sugiero utilizar el módulo ‘systemd’ de Linux disponible en Ansible para verificar el estado de los servicios. Este módulo te permite recopilar información sobre los servicios systemd, incluyendo su estado, procesos y registros de diario.
Para obtener los datos deseados, puedes crear un libro de jugadas en Ansible que utilice el módulo ‘systemd’ para verificar los servicios en ejecución para usuarios específicos. Aquí te mostramos cómo puedes hacerlo:
Aquí tienes un código de ejemplo para el libro de jugadas:
Con este libro de jugadas, podrás recopilar datos sobre el estado del servicio, usuario y nombre del servicio en todos los servidores enumerados en el archivo de inventario.
Espero que esta explicación te ayude a resolver el problema de verificar servicios en múltiples servidores para usuarios específicos. Avísame si tienes alguna consulta adicional.