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:
Sistemas operativos | Fichero OGAgent |
---|---|
Ubuntu, Debian y derivados | ogagentVersionall.deb |
Red Hat, Fedora y derivados | ogagent-Version.noarch.rpm |
SuSE y OpenSuSE | ogagent-opensuse-Version.noarch.rpm |
MS-Windows | OGAgentSetup-Version.exe |
macOS X | OGAgentInstaller-Version.pkg |
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.
Ejecutar las siguientes operaciones como usuario administrador (usando sudo
).
sudo apt install --install-suggests DirectorioDescarga/ogagent_Version_all.deb
sudo apt install DirectorioDescarga/ogagent_Version_all.deb
sudo sed -i "0,/remote=/ s,remote=.*,remote=https://IPServidorOpenGnsys/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg
sudo systemctl start ogagent
Ejecutar las siguientes operaciones como usuario root
o como administrador (usando sudo
).
yum install ogagent-Version.noarch.rpm
sed -i "0,/remote=/ s,remote=.*,remote=https://IPServidorOpenGnsys/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg
systemctl start ogagent
Nota: bajo ciertas circunstancias, puede ser necesario corregir permisos antes de iniciar el servicio, ejecutando:
chmod +x /etc/init.d/ogagent
Ejecutar las siguientes operaciones como usuario administrador (usando sudo
).
sudo zypper install ogagent-Version.noarch.rpm
sudo sed -i "0,/remote=/ s,remote=.*,remote=https://IPServidorOpenGnsys/opengnsys/rest/," /usr/share/OGAgent/cfg/ogagent.cfg
sudo systemctl start ogagent
Ejecutar las siguientes operaciones como usuario administrador.
OGAgentSetup-Version.exe
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
(en preparación)
Usar el método estándar del sistema operativo para desinstalar paquetes o aplicaciones.
Para actualizar el OGAgent es necesario desinstalar el agente OGAgent, reiniciar el equipo e instalar una nueva versión del programa.
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.
Con la aparición de los agentes OGAgent, la pantalla de estados de los clientes incluye los siguientes valores:
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.
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 |
'(sección pendiente de actualizar a la última versión)'
OGAgent para OpenGnsys 1.1.0 tiene incorporadas las siguientes operaciones:
Ruta | Método | Descripción | Mensaje JSON |
---|---|---|---|
/opengnsys/started |
POST | Inicio del servicio OGAgent | {"ip":"IP","mac":"MAC","ostype":"SO","osversion":"Versión","secret":"Clave"} |
/opengnsys/stopped |
POST | Parada del servicio OGAgent | {"ip":"IP","mac":"MAC","ostype":"TipoSO","osversion":"VersionSO"} |
/opengnsys/loggedin |
POST | Usuario inicia sesión en escritorio | {"ip":"IP","user":"Usuario"} |
/opengnsys/loggedout |
POST | Usuario 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.
Ruta | Método | Descripción | Mensaje JSON | Respuesta JSON |
---|---|---|---|---|
/opengnsys/status |
GET | Notificación del estado del equipo | {'status':'XXX','loggedin':bool} |
|
/opengnsys/poweroff |
GET | Operación de apagado del cliente | {"op":"launched"} |
|
/opengnsys/reboot |
GET | Operación de reinicio del cliente | {"op":"launched"} |
|
/opengnsys/script |
POST | Operación de ejecución de script Python en el cliente (codificado en Base64) | {"script":"CadenaBase64"} |
{"op":"launched"} |
/opengnsys/popup |
POST | Muestra 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.
Estado | Descripción |
---|---|
LNX |
Sistema operativo GNU/Linux |
WIN |
Sistema operativo Windows |
OSX |
Sistema operativo macOS X |
OPG |
Cliente OpenGnsys esperando órdenes (aún no soportado) |
BSY |
Cliente OpenGnsys ocupado ejecutando alguna orden (aún no soportado) |
SO Cliente | Escritorio | Comentarios |
---|---|---|
CentOS 7 | No | Correcto, solo servicio administrador |
Fedora 30 | KDE Plasma | Correcto |
macOS X 10.13 | - | Correcto, solo servicio administrador |
openSUSE 15.1 | KDE Plasma | Correcto |
Ubuntu 16.04 | Unity | Correcto |
Ubuntu 18.04 | GNOME 3 | Correcto |
Ubuntu 20.04 | - | Error de instalación |
Windows 7 | - | Correcto |
Windows 10 | - | Correcto |