# Google Drive # 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 - Google Drive API habilitada - Archivo JSON con las credenciales ### Habilitar la API de Google Drive: 1. Ve a la [Consola de Desarrolladores de Google](https://console.developers.google.com/). 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_name ] \ [--module_prefix ] \ [--agent_prefix ] \ [--group ] \ [--interval ] \ [--temporal ] \ [--data_dir ] \ [--transfer_mode ] \ [--tentacle_client ] \ [--tentacle_opts ] \ [--tentacle_port ] \ [--tentacle_address ] \ [--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](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/VNOimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/VNOimagen.png) **3. Se le añade nombre, descripción y timeout:** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/PxRimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/PxRimage.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](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/kNgimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/kNgimage.png) **5. Se configuran las macros anteriores, añadiendo en cada una el valor del parámetro:** [![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/Jy6image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/Jy6image.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](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/503imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/503imagen.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](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/7RLimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/7RLimage.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](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/scaled-1680-/njBimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-03/njBimage.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 >