martes, 18 de febrero de 2014

Cómo "desregistrar" hosts viejos de una cabina emc-navisphere-unisphere

Buff!! Dos años sin añadir nuevo al blog!! A ver si retomo un poco que siempre hay cosas interesantes que merecen ser contadas o anotadas para mi uso futuro.
En este caso, se me había olvidado cómo hice la última vez esta tarea, la de quitar del panel de control de cabinas emc (en mi caso una VNX5100 pero es lo mismo con CX4-120) hosts viejos que ya no uso pero que aún están conectados físicamente.

En la pantalla "Hosts"->"Host List" hay una opción con el botón derecho del ratón que dice "Remove" pero que por mi experiencia siemrpe está en gris, nunca he podido quitar un host de allí. Para que desaparezca hay que ir a la opción "Hosts"->"Initiators" y seleccionar todos los iniciadores que pertenezcan a los hosts que quieres dar de baja / eliminar / desregistrar. El caso es que hacer esto tampoco funciona porque sigue detectando conexión.

Así que lo que hay que hacer es lo siguiente:
  • Eliminar la conexión fisica entre la cabina y los hosts viejos. La mejor opción es deshabilitar los puertos de fibra de los switches que conecten cabina y hosts
  • Una vez hecho esto, desregistrar los iniciadores ("Hosts"->"Initiators")
  • En "Hosts"->"Host List" ya habrán desaparecido los hosts
  • Ya puedes volver a habilitar los puertos de fibra si quieres
Saludos!!

lunes, 26 de marzo de 2012

Cambiando el nombre en un CentOS









Si, he vuelto. Seré breve pero útil ;-)
Pongamos que tenemos un centos al que le queremos poner/cambiar el nombre de máquina.

  1. echo "nombreparalamaquina" > /proc/sys/kernel/hostname
  2. vi /etc/sysconfig/network (rellenamos el nombre en la linea "HOSTNAME")
  3. vi /etc/hosts (añadimos el nombre en la línea del 127.0.0.1)
Listo!

viernes, 13 de mayo de 2011

Monitorizando el uso de SAN de ESX

En un post anterior (que por cierto también vale para ESX4, comprobado) puse cómo monitorizar discos locales de la máquina.
El problema es que el comando que se usa para monitorizar discos locales no vale para monitorizar discos compartidos en una SAN/NAS (los que aparecen enlazados bajo /vmfs en los host ESX).
Para poder monitorizar esos volúmenes, hace falta algún paso adicional que paso a describir.
  1. Creamos un fichero con el contenido que hay al final del post: vi /usr/lib/nagios/plugins/check_vdisk_porcent.sh
  2. Le damos permisos de ejecución: chmod a+x /usr/lib/nagios/plugins/check_vdisk_porcent.sh
  3. Ejecutamos "visudo" para cambiar un par de líneas:
  • Comentar la de "Defaults    requiretty"
  • Agregar la línea "nagios  ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/check_vdisk_porcent.sh"
En el fichero "/etc/nagios/nrpe.cfg", añadir la línea "command[check_vdisk]=sudo /usr/lib/nagios/plugins/check_vdisk_porcent.sh $ARG1$ $ARG2$ $ARG3$"

Luego ya solo queda que desde el nagios le hagas una consulta de este estilo: check_nrpe -H 192.168.X.X -p 5666 -t 60 -c check_vdisk -a 10 5 'ST3-disco01'

El primer parámetro indica el porcentaje para "WARNING" (10 en este caso)  y el segundo el de "CRITICAL"

CONTENIDO DEL FICHERO /usr/lib/nagios/plugins/check_vdisk_porcent.sh (no es el original, le he hecho algunos apaños/mejoras)

# Author: James Chase
# Contact: james@chasecomputers.net
# Description: A script to check Virtual Disk Information on ESX 3.5.
# It only checks space in terms of Gigabytes. If you have a
# Terabyte or more, this isn't a problem. If you are checking
# a drive that is being reported in Megabytes, then it is just
# going to tell you that the drive has no space left (which
# if we are talking about ESX DataStores might as well be true).
# This is due to bash only doing integer math. Maybe I will
# re-write this script with awk or something at some point,
# but if you know enough to view this file, then you probably
# are a better scripter than me =o)
# Also it would be nice if it accepted command line options, and
# probably the logic could be written to execute faster. Oh well.
# Hope it can be some help to you.

if test "$#" -ne 3
then
echo "Usage: check_vdisk.sh [Warning%] [Critical%] [Mount Point of volume]"
exit 3
fi

warning=$1
critical=$2
search=$3
#echo $1 $2 $3 >> /tmp/logcualquiera
#echo $search
freeSpace=`/usr/sbin/vdf -h | grep "$search"`
#echo $freeSpace >> /tmp/logcdisk.txt
freeSpace=`echo $freeSpace | awk '{print $(NF-1)}'`
#echo $freeSpace >> /tmp/logcdisk.txt
if [ "$freeSpace" != "" ]
then
freeSpace=`echo $freeSpace | sed s/[%]//`
#echo $freeSpace >> /tmp/logcdisk.txt
freeSpace=$((100 - $freeSpace))
#echo $freeSpace >> /tmp/logcdisk.txt
if test $freeSpace -le $critical
then
echo "DISK CRITICAL $freeSpace% libre | $search=$freeSpace%;$warning;$critical"
exit 2
fi
if test $freeSpace -le $warning
then
echo "DISK WARNING $freeSpace% libre | $search=$freeSpace%;$warning;$critical"
exit 1
fi
if test $freeSpace -gt $warning
then
echo "DISK OK $freeSpace% libre | $search=$freeSpace%;$warning;$critical"
exit 0
fi
else
echo 'DISK CRITICAL - The filesystem doesnt exist or there is a script error'
exit 3
fi

martes, 26 de abril de 2011

Cómo rootear y actualizar la rom de una HTC Tattoo de Orange

Hace meses que compré una htc tattoo para una amiga y lloraba porque con su android no podía usar whatsapp (gran app, sin duda). Así que le dije que me la dejara para rootearla y ponerle una rom más nueva que se lo permitiera.

Tras bucear bastante, determiné que la mejor opción era ponerle la rom de cyanogenmod.

Tras una primera sesión en la que me fue imposible rootear el terminal (vaya vergüenza no poder a la primera, no es habitual en mi ;-), lo cogí con fuerzas renovadas y esto es lo que hice.


  1. Formatear / Resetear el terminal (evidentemente tras hacer backup de todo). Para ello, apagar el terminal y mantener pulsado: "home"+"atrás". Con estos dos botones, pulsados, pulsar una sola vez el botón de encender. Entonces se carga el recovery estándar de android. Solo puedes hacer una cosa, pulsar el botón redondo para que lo formatee todo. Cuando acaba (casi instantáneo) te da la opción de reiniciarla: Hazlo
  2. Vale, ya tenemos la tattoo "de fábrica". Ahora tienes que bajarte el programa "Universal Androot". Yo bajé la de este enlace, pero si no funciona, busca un poco en google y te la bajas. Cuando te lo hayas bajado, lo copias a la sd de la tattoo (por ejemplo conectándola directamente por usb te debería aparecer la tarjeta sd como una unidad de disco más). Una vez copiado desconecta el USB
  3. Luego abres el market (te pedirá que te registres con una cuenta google, hazlo) y buscas la aplicación "Linda File Manager" y la instalas. Es gratuita.
  4. Ejecutas el "Linda File Manager" y es un explorador de ficheros, así que vas hasta la tarjeta SD y buscas el fichero que te has bajado y copiado en la tattoo en el paso 2. Lo ejecutas (te pedirá permiso) y listo!! Ya tienes tu Tattoo rooteada, el primer paso de este apasionante proceso. Por si no te queda claro este punto, tienes un tutorial AQUÍ
  5. Ahora te buscas en el market una aplicación llamada "Rom Manager" de clockworkmod y la instalas. Es gratuita (Información sacada de la web oficial)
  6. Ejecútala (te saldrá una pantalla pidiéndote autorización para ejecutar esa aplicación con permisos de superusuario, le respondes que si y que se acuerde, que es lo que viene marcado por defecto). 
  7. Eliges la primera opción "Flashear Clockworkmod recovery" Dándole a todo que si. Cuando acabe ya tienes instalada otra pieza fundamental para actualizar ROM's, el recovery.
  8. A partir de aquí he seguido las instrucciones de la web oficial de cyanogenmod (flashing cyanogenod first method). Hay que acceder al menú "Download Rom, elegir la última estable y darle a que la flashee junto con las google apps y que formatee todo lo que necesite así como que haga backup de la rom actual. Coser y cantar (salvo porque en mi caso he tenido que hacerlo a mano, no acababa la descarga automática, tampoco ha sido un gran trauma)
Suerte!!

jueves, 24 de febrero de 2011

Monitorizando un ESX 3.5 con nagios y centreon

 Buenos días.Ya disculparéis tanto tiempo sin actualizar, pero llevo una temporada con mucho trabajo.
Bueno, que quería monitorizar algo más de mis servidores ESX 3.5 y he tenido que seguir un maravilloso procedimiento sacado de la manga en una mañana. Todo legal y oficial, pero me ha costado llegar hasta este punto. En concreto quería monitorizar el espacio libre en los discos locales.

A ejecutar en cada uno de los frontales a monitorizar (vía ssh)
  1. lwp-download http://packages.sw.be/nagios-nrpe/nagios-nrpe-2.5.2-1.el3.rf.i386.rpm
  2. lwp-download http://packages.sw.be/nagios-plugins/nagios-plugins-1.4.9-1.el3.rf.i386.rpm
  3. lwp-download http://packages.sw.be/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el3.rf.noarch.rpm
  4. lwp-download http://packages.sw.be/perl-Crypt-DES/perl-Crypt-DES-2.05-3.2.el3.rf.i386.rpm
  5. lwp-download http://packages.sw.be/perl-Digest-SHA1/perl-Digest-SHA1-2.13-1.el3.rfx.i386.rpm
  6. lwp-download http://packages.sw.be/perl-Digest-HMAC/perl-Digest-HMAC-1.02-1.el2.rf.noarch.rpm
  7. lwp-download http://packages.sw.be/perl-Socket6/perl-Socket6-0.23-1.el3.rf.i386.rpm
  8. lwp-download http://packages.sw.be/fping/fping-2.4-1.b2.3.el3.rf.i386.rpm
  9. rpm -Uvh fping-2.4-1.b2.3.el3.rf.i386.rpm perl-Socket6-0.23-1.el3.rf.i386.rpm perl-Digest-HMAC-1.02-1.el2.rf.noarch.rpm perl-Digest-SHA1-2.13-1.el3.rfx.i386.rpm perl-Crypt-DES-2.05-3.2.el3.rf.i386.rpm perl-Net-SNMP-5.2.0-1.2.el3.rf.noarch.rpm nagios-nrpe-2.5.2-1.el3.rf.i386.rpm nagios-plugins-1.4.9-1.el3.rf.i386.rpm
  10. esxcfg-firewall -o 5666,tcp,in,nagios
  11. esxcfg-firewall -o 5666,tcp,out,nagios
  12. vi /etc/nagios/nrpe.cfg
Al editar el fichero tenéis que modificar:
  • allowed_hosts para añadir la IP del servidor de nagios
  • dont_blame_nrpe=1 (para permitir comandos)
  • Descomenta la penúltima línea (check_disk) para que te funcione el comando
Finalmente: /etc/init.d/nrpe restart

Listo! Ya está preparado para una monitorización estándar de espacio en disco usando nrpe.

Suerte!

miércoles, 22 de septiembre de 2010

Nagios, centreon y servicios duplicados

Este tema me ha llevado por la calle de la amargura muchos días. Estoy montando un sistema de monitorización basado en nagios y centreon sobre CentOS (Dejo para otro día el postear el procedimiento detallado para hacerlo). Mi estructura está basada en un servidor central con 1 satélite que usa nagios solamente. Todo funcionaba de lujo hasta que en un momento empezaron a duplicarse los servicios monitorizados, saturando por tanto la plataforma de monitoring.
Tras muchas horas y muchas búsquedas, encontré el procedimiento perfecto para regenerar toda la configuración en centreon:

  • paras los servicios de nagios y ndo2db
    • /etc/init.d/nagios stop
    • /etc/init.d/ndoutils stop
  • Comprobar que no hay servicios corriendo (y si los hay los matas con kill iddelservicio)
  • Truncar las tablas siguientes
    • mysql > truncate table nagios_servicestatus;
    • mysql > truncate table nagios_hoststatus;
  • Iniciar ndo2db & nagios
    • /etc/init.d/ndo2db start
    • /etc/init.d/nagios start
Y de momento parece que todo funciona!!

viernes, 13 de agosto de 2010

Instalando PHPMyadmin en un CentOS

Ya he perdido la cuenta de las veces que he instalado phpmyadmin y que he tenido que mirar cómo se hace alguno de los pasos. Este post es un poco tontería, pero al menos a mí me va a venir de lujo... Y como el blog es mío, publico lo que quiero ;-)


  1. Instalar el repositorio de rpmforge [LINK]
  2. Instalar phpmyadmin desde los repositorios oficiales: yum install phpmyadmin php-mbstring
  3. Configurar el "blowfish_secret". Es una cadena de caracteres de menos de 64 que hay que poner para que se generen cookies. Para ello, editas el fichero /usr/share/phpmyadmin/config.inc.php y en la parte que pone "$cfg['blowfish_secret']" (está al principio) , pones algo entre las 2 comillas simples que tienes ya listas.
  4. Editas el fichero de acceso "/etc/httpd/conf.d/phpmyadmin.conf" para poner en la línea "Allow" las IP's desde las que vas a acceder separadas por un espacio (si piensas acceder desde cualquiera, simplemente elimina las líneas "Order Deny,Allow" y "Deny from All", y en la de "Allow from" sustituyes el "127.0.0.1" por "All")
  5. Reinicias el apache: /etc/init.d/httpd restart
Fácil, sencillo y para toda la familia. No se por qué no he encontrado ningún post con estos 4 pasos, todos se restringen a parte de ellos o no explicitan las rutas de los ficheros.

Saludos!!