Graphite

 Entiendo que deseas enviar el resultado del script anterior a Graphite, un sistema de monitoreo y almacenamiento de series temporales. Para hacer esto, primero necesitas instalar y configurar Graphite. Asumiendo que ya tienes Graphite configurado, puedes modificar el script para enviar los datos a Graphite utilizando `nc` (Netcat). 


Primero, asegúrate de tener `nc` instalado en tu sistema. En sistemas basados en Debian o Ubuntu, puedes instalarlo con:


```bash

sudo apt-get install netcat

```


Luego, modifica el script para enviar el resultado a Graphite. A continuación se muestra un ejemplo:


```bash

#!/bin/bash


# Configuración de Graphite

GRAPHITE_HOST="your.graphite.host"

GRAPHITE_PORT=2003

METRIC_PREFIX="myapp.processes"


# Solicita al usuario el nombre del proceso que desea buscar

echo "Por favor, ingrese el nombre del proceso que desea buscar:"

read proceso


# Ejecuta 'ps' y 'grep' para buscar el proceso

resultado=$(ps aux | grep -i "$proceso" | grep -v grep)


# Verifica si el proceso existe

if [ -n "$resultado" ]; then

    echo "El proceso '$proceso' está en ejecución:"

    echo "$resultado"

    

    # Cuenta el número de procesos en ejecución

    num_procesos=$(echo "$resultado" | wc -l)

    

    # Envia el recuento de procesos a Graphite

    echo "${METRIC_PREFIX}.${proceso} ${num_procesos} $(date +%s)" | nc -q0 ${GRAPHITE_HOST} ${GRAPHITE_PORT}

else

    echo "El proceso '$proceso' no se encuentra en ejecución."

    

    # Envía un valor 0 a Graphite para indicar que no hay procesos en ejecución

    echo "${METRIC_PREFIX}.${proceso} 0 $(date +%s)" | nc -q0 ${GRAPHITE_HOST} ${GRAPHITE_PORT}

fi

```


No olvides reemplazar `"your.graphite.host"` con la dirección IP o el nombre del host de tu servidor Graphite y asegúrate de que el puerto sea el correcto (por defecto es 2003). También puedes personalizar el prefijo de la métrica (`METRIC_PREFIX`) según tus necesidades.


Este script enviará el número de procesos en ejecución con el nombre que ingresaste a Graphite como una métrica. Si el proceso no se encuentra en ejecución, enviará un valor de 0.

Comentarios

Entradas populares de este blog

Migración

Docker alpine

Questasim