BASH – Monitoreo File System (Plugins NAGIOS). UNIX-LINUX-SOLARIS-AIX.-

Este plugin ha sido desarrollado con el objetivo de ayudar a quienes necesitan monitorear el uso de sistemas de archivos en servidores Unix-Linux-Solaris-Aix,.. Permite monitorear múltiples sistemas de archivos simultáneamente, evaluando: Uso de espacio (en porcentajes) -Umbral de Alerta WARNING – Umbral de alerta CRITICA – Umbral de alerta INODOS.

  • Uso de espacio (en porcentaje)
  • Umbral de alerta CRITICAL
  • Umbral de alerta, Uso de inodos

Cada sistema de archivos se pasa como parámetro al SCRIPTS, en el siguiente formato:

Los valores están separados por guion, el primero corresponde al File System a monitorear, el segundo al umbral WARNING (% de uso), el tercero al umbral CRITICO(% de uso) y el cuarto al umbral de uso INODOS. Al sobrepasar uno de estos umbrales, se gatilla la correspondiente alerta. Se pueden pasar múltiples parámetros, siguiendo este mismo formato.

Este plugin está diseñado para funcionar en todos los sistemas operativos tipo Unix, excluyendo Windows. Ha sido probado exitosamente en:

  • Linux
  • Solaris
  • AIX

Es adaptable según las necesidades específicas de cada entorno.

El orden de las alertas es el siguiente:

  1. CRITICAL (prioridad máxima)
  2. WARNING
  3. OK (con valores informativos)

Esto permite una rápida identificación de problemas graves antes de revisar advertencias o estados normales. Como el plugin está en fase de prueba, agradeceré cualquier comentario, sugerencia o reporte de errores para seguir mejorándolo.

En la salida de la ejecución, muestra los valores obtenidos por cada File System Monitoreado, ya sean en estado OK, WARNING o CRITICO

El el siguiente ejemplo lo lanzaremos para monitorear 3 File system en un determinado servidor SOLARIS y muestra el detalle de salida :

En el detalle indica que el FS «/usr01» tiene 2.2 Gigas libres, correspondiente al 11% y de inodos el 94% disponible. Aquí se gatillo la alerta WANING (WAR). Después aparecen los otros 2 File System, los cuales están dentro de los parámetros normales.-

Publicado en Unix - Linux | Deja un comentario

LINUX – Scripts BASH para obtener valor Uf Dolar Euro Utm desde web Banco Central Chile.

Utilizo estos valores para algunos cálculos en aplicaciones. Me permite obtener los valores del día actual.-

Le doy permisos de ejecución al Script : chmod u+x valores.sh Luego al ejecutarlo obtengo el siguiente resultado : (puedo trabajar con los valores por separado)

Publicado en Unix - Linux | Deja un comentario

LINUX – Medir tiempo de ejecución SCRIPT BASH.

En la administración de sistemas y el desarrollo de software, a menudo se necesita medir el tiempo para evaluar el rendimiento de una tarea o un programa. Aunque el tiempo se mide en segundos, puede ser difícil de interpretar si el valor es muy grande. Para facilitar su lectura, es útil convertir los segundos a un formato más convencional, como hora:minuto:segundo (HH:MM:SS).

Aquí hay cinco razones por las que sería una buena idea medir el tiempo de los scripts:

  1. Optimización del rendimiento: Al medir el tiempo de ejecución de los scripts, puedes identificar los cuellos de botella y áreas de mejora en tu código. Esto te permite optimizar el rendimiento y reducir el tiempo de ejecución, lo que es especialmente importante en aplicaciones de tiempo crítico o de alto rendimiento.
  2. Comparación de soluciones: A menudo, hay varias formas de abordar un problema en la programación. Al medir el tiempo de ejecución de diferentes soluciones, puedes comparar su eficiencia y elegir la mejor opción en términos de velocidad y rendimiento.
  3. Monitoreo del rendimiento a lo largo del tiempo: Medir el tiempo de ejecución de los scripts de manera regular te permite llevar un registro del rendimiento a lo largo del tiempo. Esto puede ser útil para detectar degradaciones en el rendimiento a medida que se introducen cambios en el código o en el entorno de ejecución, permitiendo así solucionar problemas antes de que se vuelvan críticos.
  4. Establecer expectativas realistas: Al conocer el tiempo de ejecución de tus scripts, puedes establecer expectativas realistas para los usuarios finales y otros miembros del equipo en cuanto a cuánto tiempo tomará completar ciertas tareas. Esto también puede ayudar en la planificación de recursos y en la evaluación de la viabilidad de ciertas características o soluciones.
  5. Identificación de problemas de escalabilidad: Cuando un script se ejecuta con diferentes tamaños de entrada o en diferentes entornos o simplemente la carga de trabajo aumento con el tiempo, el tiempo de ejecución puede variar significativamente. Medir el tiempo de ejecución en estas situaciones te ayuda a identificar problemas de escalabilidad y a tomar decisiones informadas sobre cómo manejar la carga de trabajo y la distribución de recursos en función de la demanda y el rendimiento esperados.

Para calcular el tiempo de ejecución de un script Bash, puedes usar el comando time antes de ejecutar el script. Este comando mostrará el tiempo real, el tiempo de usuario y el tiempo del sistema empleado en la ejecución.

O ejecutar el siguiente SCRIPT :

Al ejecutarlo, mostraría el siguiente resultado :

Publicado en Unix - Linux | Deja un comentario

Formas de ejecutar Múltiples Comandos a Través de una conexión SSH.

1.-  Usar comandos separados por punto y coma :

Este ejemplo cambiará al directorio /var/log, contará la cantidad de líneas que contienen “error” en el archivo syslog y mostrará las últimas 5 líneas del archivo syslog.

2.- Usar comandos separados por doble ampersand :

Este ejemplo cambiará al directorio /var/log, creará un archivo comprimido de syslog como syslog.gz y eliminará el archivo syslog original solo si los comandos anteriores tuvieron éxito.

3.- Usar comandos separados por un solo ampersand :

Este ejemplo buscará todos los archivos .txt en el directorio raíz y guardará los resultados en archivos.txt, esperará 5 segundos e imprimirá “¡Terminado!”, todo en paralelo.

4.- Usar la agrupación de comandos :

Este ejemplo ejecutará dos grupos de comandos en paralelo: el primer grupo cambiará al directorio /var/log y guardará todas las líneas que contienen “error” del archivo syslog en errores.log, y el segundo grupo cambiará al directorio /var/tmp y mostrará el uso del disco para cada elemento.

5.- Usar una subcapa :

Este ejemplo cambiará al directorio /var/log, contará la cantidad de líneas que contienen “error” en el archivo syslog y mostrará las últimas 5 líneas del archivo syslog, todo dentro de una subcapa (Ejecutar una subcapa (subshell) en Bash ofrece varias ventajas, incluyendo la capacidad de modificar el entorno de forma temporal, ejecutar comandos en paralelo y aislar procesos. Las subcapas permiten crear entornos de ejecución independientes dentro de los scripts, lo que facilita la gestión de procesos y la ejecución de comandos sin afectar el entorno principal).

6.- Ejecutar un script local de forma remota :

Para ejecutar un script local en el servidor remoto, se  ejecuta de esta forma..

7.- Usar un Here Document :

Este ejemplo cambiará al directorio /var/log, contará la cantidad de líneas que contienen “error” en el archivo syslog y mostrará las últimas 5 líneas del archivo syslog en el host remoto.

Publicado en Unix - Linux | Deja un comentario

LINUX – Manejo de errores en scripts bash.-

En los scripts bash , se deben utilizar diferentes métodos para detectar y manejar los posibles errores que pudiesen ocurrir durante la ejecución de nuestros scripts bash.

1.- En Bash, cada ejecución de un comando devuelve un Código de salida al finalizar su ejecución. Un código 0 (cero) indica que el comando se ejecuto en forma correcta. Cualquier código diferente, indica que ocurrió algún error en su ejecución. –

2.- Dentro de un scripts bash, el comando “set -e” le indica que salga inmediatamente (detenga la ejecución) si es que encuentra un código de salida diferente a 0 (cero).- Con esto nos evitamos verificar el estado de salida de cada comando ejecutado, dentro del script :

3.- Mediante el comando TRAP, el cual sirve para interceptar señales y errores. Se puede especificar TRAP para ejecutar comandos específicos. En el siguiente ejemplo, TRAP captura cualquier error (señalizado por la palabra clave ERR) y ejecuta el código de manejo de errores especificado.

4.- En lugar de mostrar el error por consola, se pueden redirigir a un archivo de salida para poder revisar posteriormente.

5.- Se puede crear una función personalizada para manejar diferentes tipos de errores, lo que añadirá flexibilidad a tus scripts.-

Publicado en Unix - Linux | Deja un comentario