Singlestore

Plugin to monitor SingleStore databases

Introduction

Version. 22-02-2023

Plugin to monitor SingleStore databases and global servers.

Type: Server plugin.

Compatibility Matrix

Systems where it has been tested

CentOS 7, Fedora, Rocky Linux

Systems where it should work

Any Linux system

Pre-requisites

Parameters

Parameters

--database Database name
--host Host IP
--agent_name Agent name
--agent_alias Agent alias
--use_alias_as_name Use the agent alias as a name
--module_prefix It is used to add a prefix to modules
--port Database port
--user Username
--password Password
--database Database name
--list_databases To list all databases. It is enabled by using it with 1 (--list_databases 1)

Pandora FMS configuration parameters

--tentacle_port Tentacle port. By default 41121 (optional)
--tentacle_address IP of the Tentacle server to send the data to (optional)
-g,--group Pandora FMS target group (optional)
--data_dir Pandora FMS data directory. By default it is /var/spool/pandora/data_in/ (optional)
--as_agent_plugin It is optional, if you wish for the plugin to belong to an agent and add Pandora FMS agent modules, execute that with 1 (optional)

Manual execution

image-1677062430944.png

 

Databases can be listed through --list_databases 1:

image-1677062480887.png

Configuration in Pandora FMS

As server plugin

Manual installation

Go to Servers > Plugins:

image-1629974405286.png

Click add:

image-1629974430627.png

Enter the name and description of your choosing.

Enter as command the execution with the plugin's path:


1

Remember that the recommended path for server plugin use is: /usr/share/pandora_server/util/plugin/

And in plugin parameters enter those followed up by the macro "_field_ <N>_",  connection parameters are mandatory, --host, --user, --password and --database. 

Remember you may add a custom prefix to the database agent with the parameter --agent_name, if not used, it will be SingleStore by default. the database agent will keep the following name: <prefix used with --agent_name. database name>, the agent for the global server will stay as <prefix used with --agent_name. Global_server>.

 

Once done, click "Create".

Once finished you just need to call it, so go to any agent view and create a plugin module:

image-1646741530197.png

Give it a name and in the plugin section enter the one you just configured.

Afterwards click Create.

If the module shows 1, it means it is being properly run.

Modules generated by the plugin

The plugin will create two agents, one with data from the database with the following modules:

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

An an agent with the global server data with the following modules:

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