# Kafka # Introducción **Ver**. 11-10-2022 El plugin obtiene métricas sobre el rendimiento del productor y del consumidor Esto es portado desde el productor de Java, para más detalles ver: [https://kafka.apache.org/documentation/#consumer\_monitoring](https://kafka.apache.org/documentation/#consumer_monitoring) [https://kafka.apache.org/documentation/#producer\_monitoring](https://kafka.apache.org/documentation/#producer_monitoring)
**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 # Parámetros
**Parámetro****Descripción**
-s, --bootstrap\_serverscadena 'host\[:port\]' (o lista de cadenas 'host\[:port\]') que el productor debe contactar para arrancar los metadatos del clúster inicial. Esta no tiene que ser la lista completa de nodos. Solo necesita tener al menos un corredor que responda a una solicitud de API de metadatos. El puerto predeterminado es 9092. Si no se especifica ningún servidor, el puerto predeterminado será localhost:9092.
--tentacle\_portPuerto de tentacle.Por defecto 41121(opcional)
--tentacle\_addressIp del servidor tentacle al que mandar los datos(opcional)
-a, --agent\_aliasPara ponerle un nombre al agente que contendrá los módulos , por defecto : "Kafka". (opcional)
-A, --use\_alias\_as\_nameUsar el nombre de Alias como nombre de agente
--module\_prefixPara ponerle un prefijo a los módulos por si se quieren diferencias de otras ejecuciones.(opcional)
-g,--groupGrupo de destino de Pandora FMS (opcional)
--data\_dirDirectorio de datos de Pandora FMS. **Por defecto** es /var/spool/pandora/data\_in/ (opcional)
--as\_agent\_pluginEs 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_kafka --bootstrap_servers [ --agent_alias ] [ --use_alias_as_name ] [ --as_agent_plugin ] [ --module_prefix ] [ --tentacle_port ] [ --tentacle_address ] [ -g ] [ --data_dir ] ``` **Ejecución manual con --as\_agent\_plugin** [![image-1665498491460.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/scaled-1680-/image-1665498491460.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/image-1665498491460.png) **Ejecución manual sin --as\_agent\_plugin** [![image-1665505277866.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/scaled-1680-/image-1665505277866.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/image-1665505277866.png) **Ayuda** ``` ./pandora_kafka -h ``` [![image-1665498388456.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/scaled-1680-/image-1665498388456.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/image-1665498388456.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_pandora_kafka ```

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>\_", el obligatorio para que funcione es --conf.

Aunque no es obligatorio, es muy recomendable el uso del parámetro --agent\_alias , ya que nos permite personalizar el nombre del agente que contendrá los módulos creados para cada consulta personalizada. También es recomendable usar el parámetro --module\_prefix ya que este nos permitirá asignar un prefijo a los módulos, lo que puede ser útil para reconocerlos más rápido y diferenciarlos si creamos varias ejecuciones para bases de datos diferentes.

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 un nombre personalizable con el parámetro `--agent_alias` o con nombre "Kafka" por defecto que contendrá todos los módulos de la ejecución. [![image-1665505347992.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/scaled-1680-/image-1665505347992.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/image-1665505347992.png) **Módulos** ***Producer*** *kafka-metrics-count*
count
*producer-metrics*
connection-close-rate
connection-creation-rate
select-rate
io-wait-time-ns-avg
io-wait-ratio
io-time-ns-avg
io-ratio
connection-count
network-io-rate
outgoing-byte-rate
request-rate
request-size-avg
request-size-max
incoming-byte-rate
response-rate
request-latency-avg
request-latency-max
bufferpool-wait-ratio
batch-size-avg
batch-size-max
compression-rate-avg
record-queue-time-avg
record-queue-time-max
produce-throttle-time-avg
produce-throttle-time-max
record-send-rate
records-per-request-avg
byte-rate
record-retry-rate
record-error-rate
record-size-max
record-size-avg
requests-in-flight
metadata-age
*producer-node-metrics.node-<node>*
outgoing-byte-rate
request-rate
request-size-avg
request-size-max
incoming-byte-rate
response-rate
request-latency-avg
request-latency-max
***Consumer*** *kafka-metrics-count*
count
*consumer-metrics*
connection-close-rate
connection-creation-rate
select-rate
io-wait-time-ns-avg
io-wait-ratio
io-time-ns-avg
io-ratio
connection-count
network-io-rate
outgoing-byte-rate
request-rate
request-size-avg
request-size-max
incoming-byte-rate
response-rate
request-latency-avg
request-latency-max
*consumer-node-metrics.node-<node>*
outgoing-byte-rate
request-rate
request-size-avg
request-size-max
incoming-byte-rate
response-rate
request-latency-avg
request-latency-max
*consumer-fetch-manager-metrics*
fetch-size-avg
fetch-size-max
bytes-consumed-rate
records-per-request-avg
records-consumed-rate
fetch-latency-avg
fetch-latency-max
fetch-rate
records-lag-max
fetch-throttle-time-avg
fetch-throttle-time-max
*consumer-coordinator-metrics*
heartbeat-response-time-max
heartbeat-rate
join-time-avg
join-time-max
join-rate
sync-time-avg
sync-time-max
sync-rate
last-heartbeat-seconds-ago
commit-latency-avg
commit-latency-max
commit-rate
assigned-partitions
***Otros***
topics
Obtiene todos los temas que el usuario está autorizado a ver. Esto siempre emitirá una llamada remota al clúster para obtener la información más reciente.
bootstrap_connected
Devuelve True si el bootstrap está conectado.
subscriptions
Obtener la suscripción al tema actual.
list_consumer_groups
Enumerar todos los grupos de consumidores conocidos por la agrupación.
least_loaded_node
Elige el nodo con menos peticiones pendientes, con fallbacks.
in_flight_request_count
Recuento de solicitudes de vuelo.
**Ejemplo con algunos módulos para ilustrar como se verían en el agente** [![image-1665505419982.png](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/scaled-1680-/image-1665505419982.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2022-10/image-1665505419982.png)