wiki:InstalacionOgagent

Version 14 (modified by ramon, 5 weeks ago) (diff)

--

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 cliente 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 cliente.
  • 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 del agente

Descargar el fichero correspondiente al sistema operativo utilizado el desplegable de la sección "Descargas disponibles" del formulario de propiedades de ordenadores de la web de administración de OpenGnsys y pulsar sobre la marca verde, tal y como se muestra en el ejemplo.

Menú de descarga de OGAgent.

Sistemas operativos Ubuntu, Debian y derivados

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

  1. Instalar el agente descargado:
    • Para escritorios GNOME:
      sudo apt install DirectorioDescarga/ogagent_Version_all.deb
      
    • Para escritorios KDE o Unity:
      sudo apt install --no-install-recommends DirectorioDescarga/ogagent_Version_all.deb
      
  2. 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
    
  3. Iniciar el servicio (se iniciará automáticamente en el proceso de arranque):
    sudo systemctl start ogagent
    

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. Iniciar el servicio (se iniciará automáticamente en el proceso de arranque):
    systemctl start ogagent
    

Nota: bajo ciertas circunstancias, puede ser necesario corregir permisos antes de iniciar el servicio, ejecutando:

chmod +x /etc/init.d/ogagent

Sistemas operativos OpenSuSE

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

  1. Instalar el agente descargado:
    sudo zypper install ogagent-Version.noarch.rpm
    
  2. Seguir las instrucciones de instalación e ignorar el aviso de que el paquete no está firmado.
  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 systemctl start ogagent
    

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.
    • OGAGent 1.1.1b y posteriores: el programa permite introducir la dirección IP del servidor OpenGnsys e inicia automáticamente el servicio.
    • Versiones anteriores a OGAgent 1.1.1b: será necesario editar el fichero de configuració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), modificar el valor de la cláusula remote de la sección [OGAgent] incluyendo la dirección IP del servidor OpenGnsys e iniciar manualmente el servicio ejecutando NET START OGAgent.

Nota: a partir de OGAgent 1.1.1b también puede realizarse una instalación silenciosa indicando la IP del servidor OpenGnsys, ejecutando como administrador (tener en cuenta que /S debe ser mayúscula):

OGAgentSetup-Version.exe /S /server IPServidor

Sistemas operativos macOS X

(en preparación)

Desinstalación del agente

Usar el método estándar del sistema operativo para desinstalar paquetes o aplicaciones.

Actualización del agente

Para actualizar el OGAgent es necesario desinstalar el agente OGAgent, reiniciar el equipo e instalar una nueva versión del programa.

Ejecución

Cuando un usuario entra en su sesión de escritorio, OGAgent mostrará un icono indicando su ejecución y que permite obtener información de la versión del programa. El siguiente gráfico muestra un ejemplo de su ejecución en Windows 10.

OGAgent para Windows

Estados de los clientes OpenGnsys

Con la aparición de los agentes OGAgent, la pantalla de estados de los clientes incluye los siguientes valores:

  • Equipo apagado o sin conexión con el servidor.
  • Cliente ogAdmClient esperando instrucciones de OpenGnsys.
  • Cliente ogAdmclient ejecutando una operación.
  • Agente OGAgent instalado en Windows.
  • Agente OGAgent con una sesión de usuario iniciada en Windows.
  • Agente OGAgent instalado en distribución Linux.
  • Agente OGAgent con una sesión de usuario iniciada en Linux.
  • Agente OGAgent instalado en macOS.

Estados de clientes

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
2020-01-28T11:59:05+0000: OGAgent started: ip=192.168.2.12, mac=08:00:27:0e:65:12, os=Linux:Ubuntu 18.04.
2020-01-28T11:59:42+0000: User logged in: ip=192.168.2.12, user=vagrant, lang=es, os=Linux:Ubuntu 18.04.
2020-01-28T12:05:59+0000: User logged out: ip=192.168.2.12, user=vagrant.
2020-01-28T12:06:03+0000: OGAgent stopped: ip=192.168.2.12, mac=08:00:27:0e:65:12, os=Linux:Ubuntu 18.04.

La sección "Sesiones" de las propiedades de ordenador muestra una salida procesada de este fichero, como se muestra en el gráfico de ejemplo.

Ejemplo de sesiones de OGAgent

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 C:\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 (solo para desarrolladores)

'(sección pendiente de actualizar a la última versión)'

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 macOS X
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, solo servicio administrador
Fedora 30KDE PlasmaCorrecto
macOS X 10.13-Correcto, solo servicio administrador
Ubuntu 20.04-Error de instalación
Ubuntu 18.04GNOME 3Correcto
Ubuntu 16.04UnityCorrecto
Windows 7-Correcto
Windows 10-Correcto

Attachments (4)

Download all attachments as: .zip