SingleStore

Plugin para monitorizar bases de datos SingleStore.

Introducción

Ver. 22-02-2023

Plugin para monitorizar bases de datos y el server global de SingleStore.

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

Parámetros

Parámetros 

--database Nombre de la base de datos.
--host Ip del host.
--agent_name Nombre del agente.
--agent_alias Alias del agente
--use_alias_as_name Usar el alias del agente como nombre
--module_prefix Se utiliza para ponerle un prefijo a los módulos
--port Port de la base de datos
--user Nombre de usuario
--password Password
--database Nombre de la base de datos
--list_databases Para listar todas las bases de datos, se activa usandolo con 1 (--list_databases 1)

Parámetros configuración pandora

--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)

Ejecución manual

./pandora_singlestore --host <host> --user <user> --password <password> --database <database> --port <port> [ --agent_alias <agent_alias> ] [ --use_alias_as_name <use_alias_as_name> ] [ --as_agent_plugin <as_agent_plugin> ] [ --module_prefix <module_prefix> ] [ --tentacle_port <tentacle_port> ] [ --tentacle_address <tentacle_address> ] [ -g <group> ] [ --data_dir <data dir> ]

image-1677062430944.png

 

Se pueden listar las bases de datos con --list_databases 1:

image-1677062480887.png

Configuración en PandoraFMS

Como plugin de servidor

Instalación manual

Iremos a servidores > plugins:

image-1629974405286.png

Pinchamos en añadir:

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 pandora_singlestore.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 conexion, --host, --user, --password  y --database. 

Recuerda que puedes ponerle un prefijo personalizado a l agente de la base de datos con el parámetro --agent_name, si no se usa por defecto sera SingleStore. En el agente de la base de datos se quedara con el siguiente nombre: <prefijo usado con --agent_name. nombre de la base de datos>, el agente para el server global se quedará <prefijo usado con --agent_name. Global_server>.

 

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

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á dos agentes, uno con datos de la base de datos, con los siguientes módulos:

.database_conexion
.database_online
.commit_count
.provision_file
.oldest_living_snapshot
.newest_snapshot

Y un agente con datos del global server con los siguientes módulos:

Aborted_connects
Bytes_received
Bytes_sent
Connections
Max_used_connections
Queries
Questions
Threads_cached
Threads_connected
Threads_created
Threads_running
Uptime
Total_server_memory
Total_io_pool_memory
Free_io_pool_memory
Alloc_thread_stacks
Malloc_active_memory
Alloc_variable_cached_buffers
Average_garbage_collection_duration
Inflight_async_compilations
License_capacity
Maximum_cluster_capacity
Query_compilation_failures
Query_compilations
Seconds_until_expiration
Ssl_accept_renegotiates
Ssl_accepts
Ssl_finished_accepts
Ssl_finished_connects
Used_cluster_capacity
Used_instance_license_units
Ssl_client_connects
Ssl_connect_renegotiates