wiki:InstalacionOgagent

OGAgent: agente OpenGnsys para sistema operativo

Descripción general

OGAgent es un nuevo programa agente compilado para instalar en los sistemas operativos de los equipos clientes y que incluye un servicio REST propio preparado para conversar mediante mensajes asíncronos en formato JSON con la API REST de su servidor OpenGnsys.

OGAgent consta de 2 componentes principales:

  • Servicio administrador: realiza la comunicación con el servidor OpenGnsys y ejecuta operaciones de administración sobre el cleinte.
  • Servicio de usuario: ejecuta operaciones sobre la sesión del usuario.

Sistemas operativos soportados

Sistemas operativos Fichero OGAgent
Ubuntu, Debian y derivadosogagent_Version_all.deb
Red Hat, Fedora y derivadosogagent-Version.noarch.rpm
SuSE y OpenSuSE ogagent-opensuse-Version.noarch.rpm
MS-Windows OGAgentSetup-Version.exe
macOS X OGAgentInstaller-Version.pkg

Instalación

Descargar el fichero correspondiente al sistema operativo utilizado desde el formulario de propiedades de ordenadores de la consola de administración web de OpenGnsys

Sistemas operativos Ubuntu, Debian y derivados

Ejecutar las siguientes operaciones como usuario administrador (usando sudo).

  1. Instalar dependencias (Nota: revisar dependencias para Ubuntu 12.04):
    sudo apt-get install -y libxss1 policykit-1 python python-requests python-qt4 python-six python-prctl
    
  2. Instalar el agente descargado:
    sudo dpkg -i ogagent_Version_all.deb
    
  3. Configurar el agente, incluyendo la dirección IP del servidor OpenGnsys:
    sudo sed -i "0,/remote=/ s,remote=.*,remote=https://IPServidorOpenGnsys/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg
    
  4. Iniciar el servicio (se iniciará automáticamente en el proceso de arranque):
    sudo service ogagent start
    

Sistemas operativos Red Hat, Fedora y derivados

Ejecutar las siguientes operaciones como usuario root o como administrador (usando sudo).

  1. Instalar el agente descargado:
    yum install ogagent-Version.noarch.rpm
    
  2. Configurar el agente, incluyendo la dirección IP del servidor OpenGnsys:
    sed -i "0,/remote=/ s,remote=.*,remote=https://IPServidorOpenGnsys/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg
    
  3. Puede ser necesario corregir permisos antes de iniciar el servicio:
    chmod +x /etc/init.d/ogagent
    
  4. Iniciar el servicio (se iniciará automáticamente en el proceso de arranque):
    service ogagent start
    

Sistemas operativos OpenSuSE

(en preparación)

Sistemas operativos Windows

Ejecutar las siguientes operaciones como usuario administrador.

  1. Instalar el agente descargado, ejecutando:
    OGAgentSetup-Version.exe
    
  2. Seguir las instrucciones del instalador.
  3. Editar el fichero de configuación C:\Program Files (x86)\OGAgent\cfg\ogagent.cfg (en Windows de 64 bits) o C:\Program Files\OGAgent\cfg\ogagent.cfg) (en Windows de 32 bits) y modificar el valor de la cláusula remote de la sección [OGAgent] inclyendo la dirección IP del servidor OpenGnsys.
  4. Iniciar el servicio manualmente (se iniciará automáticamente en el proceso de arranque):
    NET START OGAgent
    

Registro de incidencias

Servidor

El servidor OpenGnsys registra las notificaciones enviadas por los agentes OGAgent en el fichero /opt/opengnsys/log/ogagent.log, usando el siguiente formato de línea: FechaHora Operación Parámetros. Ejemplo:

# cat /opt/opengnsys/log/ogagent.log
2017-11-09T11:36:35+0000: OGAgent started: ip=192.168.2.11, mac=08:00:27:0e:65:01, os=Linux:Ubuntu 16.04.
2017-11-09T11:40:41+0000: User logged in: ip=192.168.2.11, user=vagrant.
2017-11-09T12:01:15+0000: User logged out: ip=192.168.2.11, user=vagrant.
2017-11-09T12:02:30+0000: OGAgent stopped: ip=192.168.2.11, mac=08:00:27:0e:65:01, os=Linux:Ubuntu 16.04.

Agente

Existe un fichero de configuración de OGAgent para cada uno de sus 2 componentes principales (ogagent.cfg y ogclient.cfg) que registra las operaciones que realiza cada uno de ellos y donde se pueden definir los niveles correspondientes de log. Los niveles de registro típicos son DEBUG para obtener información de depuración e INFO para una información básica.

Los ficheros de incidencias para cada componente son:

S.O. Log administrador Log usuario
Windows \Windows\Temp\opengnsys.log%HOME%\Applocal\Data\Temp\opengnsys.log
Linux y macOS/var/tmp/opengnsys.log $HOME/opengnsys.log

Mensajes entre OpenGnsys Server y OGAgent

OGAgent para OpenGnsys 1.1.0 tiene incorporadas las siguientes operaciones:

  • Notificaciones enviadas al servidor (push):
Ruta Método Descripción Mensaje JSON
/opengnsys/startedPOSTInicio del servicio OGAgent {"ip":"IP","mac":"MAC","ostype":"SO","osversion":"Versión","secret":"Clave"}
/opengnsys/stoppedPOSTParada del servicio OGAgent {"ip":"IP","mac":"MAC","ostype":"TipoSO","osversion":"VersionSO"}
/opengnsys/loggedinPOSTUsuario inicia sesión en escritorio {"ip":"IP","user":"Usuario"}
/opengnsys/loggedoutPOSTUsuario finaliza sesión en escritorio {"ip":"IP","user":"Usuario"}

Nota: La clave de sesión se genera aleatoriamente en la operación de inicio del servicio agente, se envía al servidor para que éste la almacene y posteriormente pueda ser utilizada como parámetro de seguridad en las peticiones atendidas por el propio agente.

  • Operaciones atendidas (pull):
Ruta Método Descripción Mensaje JSON Respuesta JSON
/opengnsys/statusGETNotificación del estado del equipo {'status':'XXX','loggedin':bool}
/opengnsys/poweroffGETOperación de apagado del cliente {"op":"launched"}
/opengnsys/rebootGETOperación de reinicio del cliente {"op":"launched"}
/opengnsys/scriptPOSTOperación de ejecución de script Python en el cliente (codificado en Base64) {"script":"CadenaBase64"} {"op":"launched"}
/opengnsys/popupPOSTMuestra un mensaje en la sesión del usuario {"title":"Cadena","message":"Cadena"} {"op":"launched"}

Nota: Las peticiones deben incluir una cabecera Authentication con el valor de la clave de acceso a la API REST del agente OGAgent.

Estados definidos

Estado Descripción
LNXSistema operativo GNU/Linux
WINSistema operativo Windows
OSXSistema operativo Mac OS X (aún no soportado)
OPGCliente OpenGnsys esperando órdenes (aún no soportado)
BSYCliente OpenGnsys ocupado ejecutando alguna orden (aún no soportado)

Banco de pruebas

SO Cliente Escritorio Comentarios
CentOS 7NoCorrecto, sin notificar el estado de inicio de sesión
Fedora 23GNOME 3Correcto, sin notificar el estado de inicio de sesión
Ubuntu 16.04UnityCorrecto
Ubuntu 14.04UnityCorrecto
Ubuntu 14.04LxdeCorrecto, sin notificar salida de la sesión
Ubuntu 12.04UnityFalta alguna dependencia y no se inicia el servicio
Windows 7-Correcto
Windows 10-Correcto
macOS X 10.9.5-Correcto, solo servicio administrador
Last modified 2 years ago Last modified on Nov 9, 2017, 1:33:14 PM