Plugin Ldap - pandorafms.com

22
Plugin para coger metricas de tu servidor ldap. Introducción Matriz de compatibilidad Pre requisitos Configuración Parámetros generales del plugin Parámetros específicos del plugin Ejecución manual Configuración en pandora Modulos generados Plugin Ldap

Transcript of Plugin Ldap - pandorafms.com

Page 1: Plugin Ldap - pandorafms.com

Plugin para coger metricas de tu servidor ldap.

IntroducciónMatriz de compatibilidadPre requisitosConfiguraciónParámetros generales del pluginParámetros específicos del pluginEjecución manualConfiguración en pandoraModulos generados

Plugin Ldap

Page 2: Plugin Ldap - pandorafms.com

Ver. 4-08-2021

Con este plug-in podremos ver las metricas de tu servidor ldap.

Tipo: Plug-in de servidor o agente

Introducción

Page 3: Plugin Ldap - pandorafms.com

Sistemas donde se ha probado CentOS 7, Fedora

Sistemas donde debería funcionar Cualquier sistema linux 

 

Matriz de compatibilidad

Page 4: Plugin Ldap - pandorafms.com

Se requiere:

Una instalación de ldap* Tener instalado python3 * Tener instaladado el modulo python-ldap*Tener instalado unas serie de dependencias de ldap, que varían según el sistema operativoutilizado, estas se describen en el apartado "Configuración"Tener el Data Server de Pandora FMS habilitadoTener el Plugin Server de Pandora FMS habilitado

 

*Estas dependencias no son necesarias en la versión binaria del plugin, solo para la

versión en python que normalmente es solo de pruebas.

Pre requisitos

Page 5: Plugin Ldap - pandorafms.com

 

* En la versión binaria del plugin todo este proceso de instalación de dependencias no

es necesario ya que vienen incluidas en el. 

Para poder ejecutar el plugin, debemos tener instalado python3, esto podemos hacerlo con elsiguiente comando :

CentOS7

Deberemos instalar el módulo python-ldap en su versión de python 3, esto se hace con elsiguiente comando:

o con pip :

A su vez, para instalar el módulo anterior, necesitaremos las siguientes dependencias:

Fedora

Aparte, deberemos tener instalado el modulo python-ldap, esto se instala con :

Configuración

yum install python3

yum install python3-ldap

pip3 install python3-ldap

yum groupinstall "Development tools"

yum install openldap-devel python-devel

sudo dnf install python3

Page 6: Plugin Ldap - pandorafms.com

Fedora necesitara las siguientes dependencias (de ldap) para que se pueda instalar este módulo:

Para otros sistemas puedes ver las dependencias necesarias de python-ldap en : 

https://www.python-ldap.org/en/python-ldap-3.3.0/installing.html

pip install python-ldap

sudo dnf install "@C Development Tools and Libraries" openldap-devel \

python2-devel python3-devel python3-tox \

lcov clang-analyzer valgrind

Page 7: Plugin Ldap - pandorafms.com

Ejecución binario 

Ejecución versión python (solo de pruebas)

Si la ejecución es correcta veremos un 1, al ejecutar el plugin :

Si queremos ejecutarlo como plugin de agente lo haremos usando el parámetro opcional"as_agent_plugin" con un "1" que nos devolverá un xml con los datos de nuestro servidor :

Parámetros generales delplugin

./pandora_ldap -s <server> -b <binding> -p <password> -a <agent> [--as_agent_plugin] [ -g

<group> ] [ --data_dir <data_dir > ]

python3 pandora_ldap.py -s <server> -b <binding> -p <password> -a <agent> [--as_agent_plugin]

[ -g <group> ] [ --data_dir <data_dir > ]

Page 8: Plugin Ldap - pandorafms.com

El plug-in cuenta con los siguientes parámetros:

Parámetro Descripción

-s server, --server server Es obligatorio. Tienes que introducir tu server con elpuerto, por ejemplo, ldap://192.168.1.178:389

-h, --help Muestra un pequeño mensaje de ayuda (opcional,solo usar para ver la ayuda)

-b binding, --binding binding Es obligatorio. Tus datos de ldap para conectarte, porejemplo, cn=ldapadm,dc=sanchez,dc=com

-p password, --password password Es obligatorio, tu contraseña de ldap

-a agent, --agent agent Es obligatorio, el nombre del agente que se crearácon todos los módulos.

--as_agent_pluginEs opcional, si quieres que el plugin sea de agente yte meta los módulos en el agente de pandora,ejecuta esto con un 1

-g GROUP, --group GROUP Grupo de destino de Pandora FMS

--data_dir DATA_DIR Directorio de datos de Pandora FMS. Por defectoes /var/spool/pandora/data_in/

Ejemplo de ayuda:

Parámetros específicos delplugin

Page 10: Plugin Ldap - pandorafms.com

Podemos comprobar el plugin desde el terminal para ver si funciona, para comprobarlo,ejecutamos el plugin:

Ejemplo :

Versión binaria del plugin

Versión python del plugin (solo para pruebas)

Con as_agent_plugin:

Ejemplo de ejecución con ayuda:

Ejecución manual

/usr/share/pandora_server/util/plugin/pandora_ldap -s ldap://localhost.localdomain:389 -b

cn=ldapadm,dc=sanchez,dc=com -p redhat -a ldapserver --as_agent_plugin 1

Page 12: Plugin Ldap - pandorafms.com

Instalación desde consola

Para el registro del plugin, desde la consola, se debe ir al apartado "registrar plugin".

Daremos a seleccionar archivo.

Seleccionaremos el fichero.pspz2 que contiene el plugin.

Aparecerá un mensaje que indicará que el plugin se ha subido correctamente.

Configuración en pandora

Page 13: Plugin Ldap - pandorafms.com

Una vez registrado el plugin, lo veremos en el apartado plugins.

Si pinchamos en su título podremos navegar hacía el menú del plugin.

Se pueden ver los parámetros del plugin en el menú del plugin, saldrán todos, el usuario debeconfigurarlos según el uso que le vaya a dar el plugin, los únicos imprescindibles son los que salenen el apartado de parámetros como obligatorios.

En el apartado de abajo se le podrá añadir un valor a cada macro.

Page 14: Plugin Ldap - pandorafms.com

 

Instalación manual

La mejor forma de manejar plugins de servidor en Pandora es desde"/usr/share/pandora_server/util/plugin" asi que lo enviaremos por pscp a esa ruta :

Después nos moveremos a la carpeta en la que lo hemos metido ("/usr/share/pandora_server/util/plugin" es la recomendada").

Recuerda: Tienes que instalar las dependencias que necesita el módulo python ldap en

tu sistema, esta explicado en el apartado configuración.

Nos movemos desde home con :

cd /usr/share/pandora_server/util/plugin/

Page 15: Plugin Ldap - pandorafms.com

Ejecutamos el plugin para ver que funciona :

Con as_agent_plugin 1 podremos ver un XML con los datos que nos saldrán en consola:

 

Si lo ejecutamos de la primera manera, sin "as_agent_plugin 1" se nos habrá creado un agente delnombre que le hayamos puesto en el parámetro -a con todos los módulos.

De todas formas, por si se prefiere instalarlo manualmente desde la consola, el proceso sería elsiguiente:

Como plugin de servidor

Iremos a servidores > plugins:

python3 pandora_ldap.py -s <server> -b <binding> -p <password> -a <agent> [--as_agent_plugin]

[ -g <group> ] [ --data_dir <data_dir > ]

Page 16: Plugin Ldap - pandorafms.com

Pinchamos en añadir:

Le ponemos en nombre y la descripción que se prefiera:

Metemos como comando la ruta al plugin, y como parámetros los que hemos metido ejecutando elplugin, los campos "_field_" son macros definidas más abajo.

Page 17: Plugin Ldap - pandorafms.com

Ponemos por cada macro la descripción que se prefiera y como valor los datos de tu servidor ldap.

Hecho esto si ejecutamos el plugin desde el terminal se nos habrá creado el agente con losmódulos.

Como plugin de agente

Deberemos habilitar la configuración remota, para habilitarla tenemos que abrir el archivopandora_agent.conf :

Dentro buscamos la línea remote_config, para habilitarla la ponemos en 1.

Y después de esto reiniciamos el agente :

Se nos habrá activado la configuración remota, vamos al menu de agentes y pinchamos en elicono de configuración remota que es el siguiente :

vim /etc/pandora/pandora_agent.conf

/etc/init.d/pandora_agent_daemon restart

Page 18: Plugin Ldap - pandorafms.com

Luego vamos al menu de plugins :

Metemos el comando tal como lo ejecutamos y damos a "añadir":

Ejemplo :

Se nos habra creado un nuevo plugin:

Hecho esto, reiniciamos el agente :

Y si vamos al agente con la configuración remota se habrán creado los módulos de ldap.

 

 

python3 /usr/share/pandora_server/util/plugin/pandoraversion_ldap.py -s

ldap://localhost.localdomain:389 -b cn=ldapadm,dc=sanchez,dc=com -p redhat -a ldapserver --

as_agent_plugin 1

/etc/init.d/pandora_agent_daemon restart

Page 19: Plugin Ldap - pandorafms.com

Se creara un agente con el nombre que le hayamos puesto en la ejecución que contendrá todoslos agentes:

Modulos generados

Nombre Descripción

Abandon operations completed Tipo de operacion "abandon" completadas

Abandon operations initiated Tipo de operacion "abandon" iniciadas

active operations todas las operaciones activas

Add operations completed tipo de operacion "add" completadas

Add operations initiated tipo de operacion "add" iniciadas

authentications/sec authenticaciones (binds) por segundo

Bind operations completed authenticaciones (binds) completadas

Bind operations initiated authenticaciones (binds) iniciadas

Bytes statics estadísticas de bytes

cn=Operations,cn=Monitor completed Operaciones totales completadas

cn=Operations,cn=Monitor initiated Operaciones totales iniciadas

Compare operations completed tipo de operacion "compare" completadas

Compare operations initiated tipo de operacion "compare" iniciadas

Current connections conexiones actuales

Modulos generados

Page 20: Plugin Ldap - pandorafms.com

Delete operations completed tipo de operaciones "delete" completadas

Delete operations initiated tipo de operaciones "delete" iniciadas

Entries statics estadísticas de entradas

Extended operations completed tipo de operaciones "extended" completadas

Extended operations initiated tipo de operaciones "initiated" iniciadas

Max Descriptor connections Max Descriptor connections

Modify operations completed tipo de operaciones "modify" completadas

Modify operations initiated tipo de operaciones "modify" iniciadas

Modrdn completed Modrdn completed

Modrdn initiated Modrdn initiated

operations/sec operaciones por segundo

PDU statics estadísticas de PDU

Read waiters waiters leídos

Referrals statics estadisticas referencia

Response time tiempo de respuesta

Search operations completed tipo de operaciones "search" completadas

Search operations initiated tipo de operaciones "search" iniciadas

Total connections conexiones totales

Unbind Operations completed operaciones de desauthenticacioncompletadas

Unbind Operations initiated operaciones de desauthenticacion iniciadas

Write waiters waiters escritos