Google Drive

La función de este plugin es monitorizar el espacio ocupado y el último cambio de un archivo.

Introducción

Ver. 26-03-2024

Este plugin tiene como finalidad monitorizar el espacio y la fecha del último cambio de un archivo de Google Drive.

Tipo: Plug-in server

Matriz de compatibilidad

Sistemas donde se ha probado Rocky linux, Fedora 34
Sistemas donde funciona Cualquier sistema linux

Pre requisitos

Habilitar la API de Google Drive:

  1. Ve a la Consola de Desarrolladores de Google.
  2. Crea un nuevo proyecto o selecciona uno existente.
  3. En el panel izquierdo, haz clic en "Biblioteca".
  4. Busca "Google Drive API" en la lista de APIs disponibles.
  5. Haz clic en "Google Drive API".
  6. Haz clic en "habilitar" para habilitar la API para tu proyecto.

Crea credenciales de API:

  1. Configurar la pantalla de consentimiento OAuth:

    • En el menú de navegación, ve a APIs & Services > OAuth consent screen.
    • Configura la pantalla de consentimiento, asegurándote de agregar el scope necesario para Google Drive.
  2. Crear credenciales:

    • Ve a APIs & Services > Credentials.
    • Haz clic en "Create Credentials" y selecciona "OAuth 2.0 Client IDs".
    • Configura el tipo de aplicación ( "Desktop app") y descarga el archivo JSON de credenciales.

Generar token para el plugin:

  1. Ejecutar el plugin manualmente con los parámetros obligatorios especificados en apartado "parámetros" (ejemplo en apartado "ejecucion manual", en un entorno con GUI, para generar un fichero token.json. 
  2. Se nos abrirá el navegador y nos solicitará iniciar sesión con una cuenta de google.
  3. El token.json generado, deberá estar ubicado en el mismo directorio en el que se configura el plugin PandoraFMS. Junto al creds.json.

Es necesario la ejecución en un entorno con GUI para autenticar por primera vez y generar un token. 

 

 

Parámetros

Parámetros conexión google

--creds_json Fichero json con las credenciales de google
--creds_base64 Base 64 del fichero json con las credenciales de google
--port Puerto. Default : 8080
--file_name Nombre del archivo, del que se pretende monitorizar la fecha de su último cambio. Se requiere ser propietario o tener permisos de edición.
--log_file Ruta del fichero de logs

Parámetros configuración Pandora

--agent_prefix
Prefijo para todos los agentes creados por el plugin
--module_prefix Prefijo para todos los módulos creados por el plugin
--interval Intervalo de monitorización del agente
--temporal Directorio temporal de PandoraFMS
--data_dir
Directorio de datos de PandoraFMS
--transfer_mode
Modo de transferencia de datos, local o tentacle
--tentacle_client
Ruta del cliente de tentacle, por defecto "tentacle_client"
--tentacle_opts
Opciones adicionales de tentacle
--tentacle_port
Puerto de tentacle
--tentacle_address
IP de tentacle

Ejecución manual

El formato de ejecución del plugin es el siguiente :

./pandora_googledrive --creds_json/creds_base64 <file credentials> \
[--file_name <file_name>] \
[--module_prefix <module_prefix>] \
[--agent_prefix <agent_prefix>] \
[--group <group>] \
[--interval <interval>] \
[--temporal <temporal>] \
[--data_dir <data_dir>] \
[--transfer_mode <transfer_mode>] \
[--tentacle_client <tentacle_client>] \
[--tentacle_opts <tentacle_opts>] \
[--tentacle_port <tentacle_port>] \
[--tentacle_address <tentacle_address>] \
[--log_file <log_file>]

Ejemplo:

./pandora_google_drive --creds_json "creds.json" --tentacle_address 174.42.42.123 --file_name "sistema_de_alertas.mp4"

Configuración en PandoraFMS

Para configurar el plugin en PandoraFMS, se deben seguir los siguientes pasos :

1. Subir el plugin a PandoraFMS, por ejemplo en la siguiente ruta:

/usr/share/pandora_server/util/plugin

2. Dirigirse al apartado plugins y crear uno nuevo:

imagen.png

    3. Se le añade nombre, descripción y timeout:

image.png

4. Se añade la ruta del plugin en el comando y los parámetros necesarios para la ejecución de este. 

Para cada parámetro se debe configurar una macro, siendo la sintaxis de esta macro la siguiente : _fieldx_, siendo x el numero posicional del parámetro.

image.png

5. Se configuran las macros anteriores, añadiendo en cada una el valor del parámetro:

image.png

6. Una vez configurado se debe crear un módulo en un agente que ejecute el plugin. En el menu de módulos de un agente creamos un módulo de tipo plugin nuevo:

imagen.png

7. En el menú de configuración del módulo, le ponemos un nombre, seleccionamos el plugin antes configurado y se le debe dar a "crear".

image.png

8. Se creara el agente con los módulos o los módulos en el agente seleccionado en la siguiente ejecución del plugin :

image.png

Agentes y módulos generados por el plugin

El plugin creará un agente llamado <Prefijo>Google Drive, con los siguientes módulos:

< Prefijo > < Google Drive Used >
< Prefijo > < Nombre archivo >