# Plugin cambio configuración switches # Introducción **Ver**. 22-02-2023 Con este plugin puedes monitorizar la configuración de los switches, pudiendo saber si estos han tenido cambios o no.
**Tipo**: Plug-in de servidor
# Matriz de compatibilidad
**Sistemas donde se ha probado**CentOS 7, Fedora, rocky linux
**Sistemas donde debería funcionar**Cualquier sistema linux
# Pre requisitos - Tener el **Data Server** de Pandora FMS habilitado - Tener el **Plugin Server** de Pandora FMS habilitado - Es necesario crear un archivo con nombre check-config-changes.log y con permisos en /tmp/ o en la ruta que quieras almacenar los log. # Parámetros **Parámetros**
`--address`IP o nombre de host del switch
`--username`Nombre de usuario
`--sshpassword`Contraseña SSH del switch
`--enablepassword`Enable password del switch
`--sleep`Tiempo de espera entre órdenes
`--command`Comando Ssh a ejecutar
`--path_dir`Ruta donde se guardará el archivo de salida.Ruta donde se guardará el archivo, por ejemplo : /tmp/. Por defecto:/tmp/ Importante debe terminar en /.
`--path_log`--path\_log", help="ruta donde se guardará el archivo de registro.por ejemplo : /tmp/ .Por defecto:/tmp/ .Importante debe terminar en /.
`--last_line`Última línea de la configuración esperada, esto evitará posibles fallos al recibir el comando, en caso de que la salida no se devuelva completa. (Opcional)
**Parámetros configuración pandora**
`--agent_name`Nombre del agente.
`--tentacle_port`Puerto de tentacle.Por defecto 41121(opcional)
`--tentacle_address`Ip del servidor tentacle al que mandar los datos(opcional)
`-g, --group'`Grupo de destino de Pandora FMS (opcional)
`--data_dir`Directorio de datos de Pandora FMS. **Por defecto** es /var/spool/pandora/data\_in/ (opcional)
`--as_agent_plugin`Es opcional, si quieres que el plugin sea de agente y te meta los módulos en el agente de pandora, ejecuta esto con un 1 (opcional)
**\* El comando a usar en el parámetro cambia según el tipo de switch a monitorizar** por ejemplo en los de alcatel es : show configuration status pero en las de cisco es : show running-config **\* El parámetro path dir si no se funciona se usara tmp por defecto.** **\* Es importante crear un archivo para los logs como se especifica en el apartado requisitos previos y darle permisos para que el plugin pueda escribir en el si ocurriera un fallo.** **\* El parámetro last line es opcional, si la devolución de la configuración esperada siempre suele tener la misma estructura y acaba siempre con la misma línea (por ejemplo en cisco es end), puede ser útil para evitar falsos cambios debido a una ejecucion a la que no le ha dado tiempo a obtener la salida completa.** # Ejecución manual ``` python3 check-config-changes.py --address --username --sshpassword --enablepassword --agent-name --command --as_agent_plugin 1 --sleep ``` Ejemplo salida si no hay diferencias: [![image-1679402416602.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-03/scaled-1680-/image-1679402416602.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-03/image-1679402416602.png) Ejemplo de salida con diferencias: [![image-1679402457114.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-03/scaled-1680-/image-1679402457114.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-03/image-1679402457114.png) # Configuración en PandoraFMS **Como plugin de servidor** **Instalación manual** Iremos a servidores > plugins: [![image-1629974405286.png](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/scaled-1680-/image-1629974405286.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/image-1629974405286.png) Pinchamos en añadir: [![image-1629974430627.png](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/scaled-1680-/image-1629974430627.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2021-08/image-1629974430627.png) Le ponemos en nombre y la descripción que se prefiera. Metemos como comando la ejecución con la ruta del plugin: ``` /path check-config-changes.py ```

Recuerda que la ruta recomendada para el uso de los plugins de servidor es: /usr/share/pandora\_server/util/plugin/

Y en parámetros del plugin introduciremos estos seguidos de la macro "\_field\_ <N>\_", son obligatorios los parámetros de --address, --username, --sshpassword, --enablepassword, --command y --agent\_name.

Recuerda usar el parámetro --agent\_name , para indicar el agente en el que se crearan los módulos o el que se creará por defecto.

Es recomendable usar el parámetro --sleep con 1 e ir investigando que configuración es la mejor adecuada para cada caso en el uso de este parámetro. Para algunos switches quizás sea 1 pero otros pueden necesitar uno más alto.

Una vez hecho esto, daremos a "crear". Una vez hecho esto, solo queda llamarlo por lo que iremos a la vista de algún agente y crearemos un módulo de complementos: [![image-1646741530197.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/scaled-1680-/image-1646741530197.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-03/image-1646741530197.png) Le daremos un nombre y en el apartado "plugin" pondremos el que acabamos de configurar. Una vez hecho esto, damos a crear. Si el modulo se muestra con 1, quiere decir que se esta ejecutando correctamente. # Módulos generados por el plugin El plugin creará un agente con el módulo de diferencias o meterá este en un agente ya existente. Para las dos opciones se usa el paŕametro --agent\_name. Ejemplo de módulo de diferencias. [![image-1679401692071.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-03/scaled-1680-/image-1679401692071.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-03/image-1679401692071.png) De no haber cambios el plugin no creará ningún módulo y solo imprimirá un 1 en el modulo de plugin que se haya creado en el agente para la ejecución de este plugin.