wiki:InstalacionOgagent

Version 10 (modified by ramon, 4 weeks ago) (diff)

Nuevo gráfico de sesiones.

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

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 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 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):
    systemctl start ogagent
    

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
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 \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 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 18.04GNOME 3Correcto
Ubuntu 16.04UnityCorrecto
Windows 7-Correcto
Windows 10-Correcto

Attachments (1)

Download all attachments as: .zip