# Aerospike

# Introducción

**Ver**. 28-12-2022

Plugin con el que se puede monitorizar Aerospike

<div id="bkmrk-"></div><div id="bkmrk-tipo%3A-plug-in-de-ser"><div>**Tipo**: Plug-in de servidor</div></div>

# Matriz de compatibilidad

<table border="1" id="bkmrk-sistemas-donde-se-ha"><tbody><tr><td style="width: 233.993px;">**Sistemas donde se ha probado**</td><td style="width: 330.99px;">CentOS 7, Fedora, rocky linux

</td></tr><tr><td style="width: 233.993px;">**Sistemas donde debería funcionar**</td><td style="width: 330.99px;">Cualquier sistema linux

</td></tr></tbody></table>

# Pre requisitos

- Tener el **Data Server** de Pandora FMS habilitado
- Tener el **Plugin Server** de Pandora FMS habilitado

# Parámetros

**Parámetros**

<table border="1" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-" style="height: 232px; width: 921px;"><tbody><tr style="height: 29px;"><td style="height: 29px; width: 158px;">--host</td><td style="height: 29px; width: 763px;">Ip o host </td></tr><tr style="height: 29px;"><td style="height: 29px; width: 158px;">--namespace</td><td style="height: 29px; width: 763px;">Nombre del namespace que monitorizar</td></tr><tr style="height: 29px;"><td style="height: 29px; width: 158px;">--agent\_alias</td><td style="height: 29px; width: 763px;">Alias del agente</td></tr><tr style="height: 29px;"><td style="width: 158px; height: 29px;">--use\_alias\_as\_name</td><td style="width: 763px; height: 29px;">Usar el alias del agente como nombre</td></tr><tr style="height: 29px;"><td style="width: 158px; height: 29px;">--module\_prefix</td><td style="width: 763px; height: 29px;">Para ponerle un prefijo a los módulos</td></tr><tr style="height: 29px;"><td style="height: 29px; width: 158px;">--port</td><td style="height: 29px; width: 763px;">Por defecto 3000</td></tr><tr style="height: 29px;"><td style="height: 29px; width: 158px;">--database</td><td style="height: 29px; width: 763px;">Nombre de la base de datos</td></tr><tr style="height: 29px;"><td style="height: 29px; width: 158px;">--protocol</td><td style="height: 29px; width: 763px;">Por defecto : TCPIP</td></tr></tbody></table>

**Parámetros configuración pandora**

<table border="1" id="bkmrk-par%C3%A1metro-descripci%C3%B3"><tbody><tr><td style="width: 161.997px;">--tentacle\_port</td><td style="width: 643.993px;">Puerto de tentacle.Por defecto 41121(opcional)</td></tr><tr><td style="width: 161.997px;">--tentacle\_address</td><td style="width: 643.993px;">Ip del servidor tentacle al que mandar los datos(opcional)</td></tr><tr><td style="width: 161.997px;">-g,--group</td><td style="width: 643.993px;">Grupo de destino de Pandora FMS (opcional)</td></tr><tr><td style="width: 161.997px;">--data\_dir</td><td style="width: 643.993px;">Directorio de datos de Pandora FMS. **Por defecto** es /var/spool/pandora/data\_in/ (opcional)</td></tr><tr><td style="width: 161.997px;">--as\_agent\_plugin</td><td style="width: 643.993px;">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)</td></tr></tbody></table>

# Ejecución manual

```
./pandora_aerospike --host<ip> --namespace <namespace>  [ --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-1672745519344.png](https://pandorafms.com/guides/public/uploads/images/gallery/2023-01/scaled-1680-/image-1672745519344.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2023-01/image-1672745519344.png)

# Configuración en PandoraFMS

**Como plugin de servidor**

**Instalación manual**

Iremos a servidores &gt; 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_pandora_aerospike
```

<p class="callout info align-center">Recuerda que la ruta recomendada para el uso de los plugins de servidor es: /usr/share/pandora\_server/util/plugin/</p>

Y en parámetros del plugin introduciremos estos seguidos de la macro "\_field&lt;N&gt;\_", son obligatorios los parámetros de conexion, --host y --namespace,. El puerto se puede cambiar si no se usa el de por defecto.

<p class="callout warning">Recuerda que puedes ponerle un nombre personalizado a los agentes con el parámetro --agent\_name</p>

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 los siguientes módulos:

<table border="1" id="bkmrk-current_time-the-cur" style="border-collapse: collapse; width: 100%; height: 2075px;"><tbody><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>current_time</div></div></td><td style="width: 50%; height: 29px;"><div><div>The current time represented as Aerospike epoch time.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>memory_used_bytes</div></div></td><td style="width: 50%; height: 29px;"><div><div>The total bytes of memory used by this namespace on this node.",</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>memory_used_data_bytes</div></div></td><td style="width: 50%; height: 29px;"><div><div>The amount of memory occupied by data.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>memory_used_index_bytes</div></div></td><td style="width: 50%; height: 29px;"><div><div>The amount of memory occupied by the index for this namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>memory_used_sindex_bytes</div></div></td><td style="width: 50%; height: 29px;"><div><div>The amount of memory occupied by secondary indexes for this namespace on this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>memory_free_pct</div></div></td><td style="width: 50%; height: 29px;"><div><div>The percentage of memory capacity free for this namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>xmem_id</div></div></td><td style="width: 50%; height: 29px;"><div><div>The extended memory id of the namespace</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>available_bin_names</div></div></td><td style="width: 50%; height: 29px;"><div><div>The remaining number of unique bins that the user can create for this namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>device_total_bytes</div></div></td><td style="width: 50%; height: 29px;"><div><div>The total bytes of disk space allocated to this namespace on this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>device_used_bytes</div></div></td><td style="width: 50%; height: 29px;"><div><div>The total bytes of disk space used by this namespace on this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>device_free_pct</div></div></td><td style="width: 50%; height: 29px;"><div><div>The percentage of disk capacity free for this namespace. This is the amount of free storage across all devices in the namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>device_available_pct</div></div></td><td style="width: 50%; height: 29px;"><div><div>The minimum contiguous disk space for all disks in a namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>cache_read_pct</div></div></td><td style="width: 50%; height: 29px;"><div><div>The percentage of read transactions that are hitting the post write queue and will save an io to the underlying storage device.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>record_proto_uncompressed_pct</div></div></td><td style="width: 50%; height: 29px;"><div><div>The percentage of single-record transaction client responses with uncompressed protocol message data.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>record_proto_compression_ratio</div></div></td><td style="width: 50%; height: 29px;"><div><div>The average compressed size to uncompressed size ratio for protocol message data in single-record transaction client responses.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_tx_instances</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of instance objects managing emigrations.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_rx_instances</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of instance objects managing immigrations.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_tx_partitions_active</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of partitions currently emigrating from this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_rx_partitions_active</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of partitions currently immigrating to this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_tx_partitions_remaining</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of migrations this node not yet sent during the current migration cycle for this namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_rx_partitions_remaining</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of migrations this node has not yet received during the current migration cycle for this namespace.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_signals_active</div></div></td><td style="width: 50%; height: 29px;"><div><div>For finished partition migrations on this node, the number of outstanding clean-up signals, sent to participating member nodes, waiting for clean-up acknowledgment.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>migrate_signals_remaining</div></div></td><td style="width: 50%; height: 29px;"><div><div>For unfinished partition migrations on this node, the number of clean-up signals to send to participating member nodes, as migration completes</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>appeals_tx_active</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of partition appeals not yet sent. Partition appeals will happen for namespaces operating under the strong-consistency mode when a node needs to validate the records it has when joining the cluster.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>appeals_rx_active</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of partition appeals currently being received. Partition appeals will happen for namespaces operating under the strong-consistency mode when a node needs to validate the records it has when joining the cluster.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>appeals_tx_remaining</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of partition appeals currently being sent.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_tsvc_error</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of client transactions that failed in the transaction service before attempting to handle the transaction.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_tsvc_timeout</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of client transactions that timed out while in the transaction service before attempting to handle the transaction.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_proxy_complete</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of completed proxy transactions initiated by a client request.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_proxy_error</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of proxy transactions initiated by a client request that failed with an error.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_proxy_timeout</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of proxy transactions initiated by a client request that timed out.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_read_success</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of successful client read transactions.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_read_error</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of client read transaction errors.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_read_timeout</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of client read transaction that timed out.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_read_not_found</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of client read transaction that resulted in not found.</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div>client_read_filtered_out</div></div></td><td style="width: 50%; height: 46px;"><div><div>The number of client read transactions that did not happen because the record was filtered out via a predicate expression.</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div>client_write_success</div></div></td><td style="width: 50%; height: 46px;"><div><div>The number of write requests initiated by XDR that succeeded on the namespace on this node.</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div>client_write_error</div></div></td><td style="width: 50%; height: 46px;"><div><div>The number of write requests initiated by XDR that failed on the namespace on this node.</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div>client_write_timeout</div></div></td><td style="width: 50%; height: 46px;"><div><div>The number of write requests initiated by XDR that failed on the namespace on this nod</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div>client_write_filtered_out</div></div></td><td style="width: 50%; height: 46px;"><div><div>The number of client write transactions that did not happen because the record was filtered out via a predicate expression.</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div>xdr_client_write_success</div></div></td><td style="width: 50%; height: 46px;"><div><div>The number of write requests initiated by XDR that succeeded on the namespace on this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>xdr_client_write_error</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of write requests initiated by XDR that failed on the namespace on this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>xdr_client_write_timeout</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of write requests initiated by XDR that timed out on the namespace on this node.</div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div>client_delete_success</div></div></td><td style="width: 50%; height: 29px;"><div><div>The number of delete requests initiated by XDR that succeeded on the namespace on this node.</div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div>client_delete_error</div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div>The number of client delete transactions that failed with an error.</div></div></div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div><div><div>client_delete_timeout</div></div></div></div></td><td style="width: 50%; height: 29px;"><div><div><div><div>The number of client delete transactions that timed out.</div></div></div></div></td></tr><tr style="height: 63px;"><td style="width: 50%; height: 63px;"><div><div><div><div>client_delete_not_found</div></div></div></div></td><td style="width: 50%; height: 63px;"><div><div><div><div>The number of delete requests initiated by XDR that failed on the namespace on this node due to the record not being found.</div></div></div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div><div><div>client_delete_filtered_out</div></div></div></div></td><td style="width: 50%; height: 29px;"><div><div><div><div>The number of client delete transactions that did not happen because the record was filtered out via a predicate expression.</div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div>xdr_client_delete_success</div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div>The number of delete requests initiated by XDR that succeeded on the namespace on this node.</div></div></div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div>xdr_client_delete_error</div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div>The number of delete requests initiated by XDR that failed on the namespace on this node.</div></div></div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div>xdr_client_delete_timeout</div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div>The number of delete requests initiated by XDR that timed out on the namespace on this node.</div></div></div></div></div></div></td></tr><tr style="height: 63px;"><td style="width: 50%; height: 63px;"><div><div><div><div><div><div>xdr_client_delete_not_found</div></div></div></div></div></div></td><td style="width: 50%; height: 63px;"><div><div><div><div><div><div>The number of delete requests initiated by XDR that failed on the namespace on this node due to the record not being found.</div></div></div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div>client_udf_complete</div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div>The number of completed udf transactions initiated by the client.</div></div></div></div></div></div></div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div>client_udf_error</div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div>The number of failed udf transactions initiated by the client.</div></div></div></div></div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div>client_udf_timeout</div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div>The number of udf transactions initiated by the client that timed out.</div></div></div></div></div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div><div><div>client_udf_filtered_out</div></div></div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div><div><div>The number of client udf transactions that did not happen because the record was filtered out via a predicate expression.</div></div></div></div></div></div></div></div></div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div><div><div>client_lang_read_success</div></div></div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div><div><div>The number of successful client initiated udf read transactions.</div></div></div></div></div></div></div></div></div></div></td></tr><tr style="height: 46px;"><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div><div><div>client_lang_write_success</div></div></div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 46px;"><div><div><div><div><div><div><div><div><div><div>The number of successful client initiated udf write transactions.</div></div></div></div></div></div></div></div></div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div><div><div>client_lang_delete_success</div></div></div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div><div><div>The number of client initiated udf transactions that successfully deleted a record.</div></div></div></div></div></div></div></div></div></div></td></tr><tr style="height: 29px;"><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div><div><div><div><div>client_lang_error</div></div></div></div></div></div></div></div></div></div></div></div></td><td style="width: 50%; height: 29px;"><div><div><div><div><div><div><div><div><div><div>The number of client initiated udf transactions that failed with an error.</div></div></div></div></div></div></div></div></div></div></td></tr></tbody></table>