viernes, 25 de septiembre de 2009

CAMBIAR COLOR Y FORMATO DEL PROMPT EN LINUX - Debian 5

En muchos casos es muy util poder identificar equipos por el nombre de su prompt en consola, incluso cambiar el color.
Muchos usuarios lo utilizar para poder diferenciar su consola de usuario de la consola de root.
En fin, vamos a explicar a continuación como se cambia el color y los datos que muestra el prompt.

El prompt es definido en la viarable de entorno PS1.

En primera instancia pondremos las letras y su representación en la variable PS1.






\a
carácter de campana ASCII (07)
\d
la fecha en el formato "DíaDeLaSemana Mes DíaDelMes" (p.e., "Tue May 26")
\e
carácter de escape ASCII (033)
\h
el nombre de host a partir del primer '.'
\H
el nombre de host
\j
el número de trabajos de la shell
\l
el número de la shell activa
\n
nueva línea
\r
retorno de carro
\s
el nombre de la shell
\t
la hora en formato 24-horas HH:MM:SS
\T
la hora en formato 12-horas HH:MM:SS
\@
la hora en formato 12-horas am/pm
\u
el usuario activo
\v
la versión de bash (p.e., 2.00)
\V
la release de bash, versión + patchlevel (p.e., 2.00.0)
\w
la ruta completa del directorio de trabajo actual
\W
el directorio de trabajo actual
\!
el número en el historial de este comando
\#
el número de comando
\$
si el UID es 0, visualiza #, si no lo es, visualiza $
\nnn
el carácter correspondiente al número octal nnn
\\
contrabarrra
\[
comienza una secuencia de caracteres no imprimibles que puede usarse para ejecutar un comando en el prompt
\]
finaliza una secuencia de caracteres no imprimibles







Para cambiar el prompt en la sesion activa basta con poner:

[hmazzeo@JENNY ~]$ PS1="[\u@\h \W\]$ "
[hmazzeo@hmazzeo-laptop ~$

Como verán en la segunda linea el prompt cambia.

También se le puede cambiar el color:






Negro
0;30
Gris Oscuro
1;30
Azul
0;34
Azul Claro
1;34
Verde
0;32
Verde Claro
1;32
Cyan
0;36
Cyan Claro
1;36
Rojo
0;31
Rojo Claro
1;31
Morado
0;35
Morado Claro
1;35
Marrón
0;33
Amarillo
1;33
Gris Claro
0;37
Blanco
1;37



Para ponerle colores solo hay que usar '\[033[bb;c;ccm\]', donde 'bb' será el color de fondo, y 'c;cc' el color del texto. Hay que destacar que una vez puesto lo anterior se mantiene durante todo el prompt así que hay que usar varias veces el '\[033'.

Es importante que al final del prompt se ponga algo como: '\[\033[0;0m\]', ya que eso reestablece todo al color default.




Para poder dejarlo como default para cada sesion ssh que se establezca se debe dejar asentado en el archivo .bashrc ubicado en el home del usuario para el cual se quiere cambiar el bash.

En mi caso /home/hmazzeo/.bashrc

Reemplazo todas las lineas que aparece PS1 por la siguiente variable (esto es mi prompt)

PS1="\[\033[1;33m\][\[\033[1;34m\]\u\[\033[1;37m\]@\[\033[1;34m\MAQ\[\033[0;1;33m\]\w\[\033[0;1;37m\]]\$ \[\033[0;0m\]"

Esperemos que les sea de utilidad.

Nos vemos el próximo post.

Saludos,

Hernan Mazzeo




jueves, 24 de septiembre de 2009

HOW-TO (Instalación de Nagios 3.x con NDOUtils) Mysql

Objetivo:



A continuación realizaremos un instructivo de la instalación de un Nagios 3.x en Debian 5 con NdoUtils.


Introducción:


Basicamente esto surgió de la necesidad de instalar un Nagios que guarde los datos en un Mysql para luego poder ser utilizado por otra aplicación que tome esos datos y los maneje dinamicamente.


Aquí no se verán muy pocas cosas de configuración, ya que el objetivo de esta entrada es la instalación y comprobación de funcionamiento.


Explicación:

1) Creamos los usuarios necesarios


debían# useradd nagios
debían# groupadd nagios
debían# groupadd nagcmd
debían# usermod -a -G nagcmd nagios
debían# usermod -a -G nagcmd www-data

2) Instalamos los paquetes que necesitamos para la instalacion.


debían# apt-get install libg2-dev pkg-config libglib2.0-dev libapache2-mod-php5


3) Descargamos y compilamos el nagios 3.x


En primera instancia descargamos en /home/ el .tar del nagios y lo descomprimimos.


debían# cd /home/
debían-/home/# tar xzf nagios-3.0.6.tar.gz
debían-/home/# cd nagios-3.0.6
debían-/home/nagios-3.0.6/# ./configure —with-command-group=nagcmd
debían-/home/nagios-3.0.6//# make all
debían-/home/nagios-3.0.6# make install
debían-/home/nagios-3.0.6# make install-init (Opcional – Instala el script de inicio)
debían-/home/nagios-3.0.6# make install-config (Opcional – instala configuraciones de ejemplo)
debían-/home/nagios-3.0.6# make install-commandmode (Opcional – Instala commandos de ejecucion)
debían-/home/nagios-3.0.6# make install-webconf (Opcional – Configura el Apache2)
debían-/home/nagios-3.0.6# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin (Requerido – Genera el password para ingresar al Nagios)
debían-/home/nagios-3.0.6# /etc/init.d/apache2 reload (Requerido – Toma las configuraciones)


Se recomienda que todos los comandos opcionales sean ejecutados para una mejor performance.


 4) Instalaremos los plugins del nagios que serán los que se encargarán de realizar los chequeos, estos plugins (ej: check_ping, check_tcp) son los comandos que se ejecutan con diferentes parámetros y nos dan una respuesta.


Estos, pueden ser programados en base a nuestras necesidades, otro día mostraremos un ejemplo de la programación en bash de un script para el chequeo en Nagios.


Descargaremos en /home/ el .tar de los plugins.


debían# cd /home/
debían-/home/# tar xzf nagios-plugins-1.4.11.tar.gz
debían-/home/# cd nagios-plugins-1.4.11
debían-/home/nagios-plugins-1.4.11# ./configure —with-nagios-user=nagios —with-nagios-group=nagios
debían-/home/nagios-plugins-1.4.11# make
debían-/home/nagios-plugins-1.4.11# make install


5) Debemos poner que nagios se ejecute siempre al inicio del sistema:


debían-/home/nagios-plugins-1.4.11# update-rc.d nagios defaults


6) Instalación de NODUTILS para la conexión a la base de datos.


Primero vamos a instalar las librerías developer de mysql. (ndo debe cambiarse por la carpeta que genere la descompresión del tarball).


debían# apt-get install libmysqlclient-dev
debían# cd /home/
debían-/home/# cd ./ndo/
debían-/home/ndo/# ./configure
debían-/home/ndo/# make
debían-/home/ndo/# cp src/ndomod-3x.o /usr/local/nagios/bin/
debían-/home/ndo/# cp config/ndomod.cfg /usr/local/nagios/etc/
debían-/home/ndo/# cp src/ndo2db-3x /usr/local/nagios/bin/
debían-/home/ndo/# cp config/ndo2db.cfg /usr/local/nagios/etc/
debían-/home/ndo/# cd db/

7) Creamos un usuario y una base de datos de nombre nagios, ya sea mediante phpMyAdmin o linea de comandos en MySql y ejecutamos:


debían-/home/ndo/db/# mysql –u root –p(ponerlaclavederoot)
mysql> CREATE DATABASE nagios;
mysql> exit;


debían-/home/ndo/db/# ./installdb -u nagios -p password_del_usuario_nagios -h localhost -d nagios


8) Hacemos un par de modificaciones en la configuración.


debían-/home/ndo/db/# vim /usr/local/nagios/etc/ndomod.cfg


modificar los dos campos siguientes si es que están distintos:


output_type=unixsocket
output=/usr/local/nagios/var/ndo.sock


debían-/home/ndo/db/# vim /usr/local/nagios/etc/ndo2db.cfg


modificar los dos campos siguientes si es que están distintos:


también modificar el usuario y clave de acceso a mysql.


socket_type=unix
socket_name=/usr/local/nagios/var/ndo.sock
db_user=nagios
db_pass=contraseña_del_nagios


debían-/home/ndo/db/# vim /usr/local/nagios/etc/nagios.cfg


modificar los dos campos siguientes, en caso que no estén agregarlos:


broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

OJO, TODA LA LINEA ANTERIOR DEBE ESTAR EN LA MISMA LINEA!!!


9) Iniciamos en Modulo NDO


debían-/home/ndo/db/# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

Cada vez que reiniciemos Nagios se reiniciará el daemon de ndo.


Bueno, espero que les haya sido de utilidad y cualquier problema que tengan por favor consulten…


Hasta la próxima!!!


Hernan Mazzeo