# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Hpasmcli: monitorizar el estado de hardware HP Proliant desde linux

Hpasmcli (HP management CLI for Linux) es una utilidad que forma parte del “HP Proliant Support Pack” y que permite monitorizar y visualizar el estado del hardware de un servidor HP de forma sencilla. En este caso vamos a ver las opciones que nos ofrece dentro de un servidor con sistema operativo GNU/Linux.

Para instalarlo en sistemas RHEL/Fedora/CentOS bajamos el rpm correspondiente (o el support pack completo) y lo instalamos:

# rpm -i hpasm-7.8.0-88.rhel5.i386.rpm

Una vez instalado podemos ver las distintas posibilidades que nos ofrece, hoy nos centramos solo en SHOW, hay más cosas disponibles pero ahora no las vamos a ver.

# hpasmcli
HP management CLI for Linux (v1.0)
Copyright 2004 Hewlett-Packard Development Group, L.P.

--------------------------------------------------------------------------
NOTE: Some hpasmcli commands may not be supported on all Proliant servers.
      Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> show
	 SHOW ASR
	 SHOW BOOT
	 SHOW DIMM
	 SHOW F1
	 SHOW FANS
	 SHOW HT
	 SHOW IML
	 SHOW IPL
	 SHOW NAME
	 SHOW PORTMAP
	 SHOW POWERSUPPLY
	 SHOW PXE
	 SHOW SERIAL [ BIOS | EMBEDDED | VIRTUAL ]
	 SHOW SERVER
	 SHOW TEMP
	 SHOW UID
	 SHOW WOL

Ver el estado de las fuentes de alimentación en HP Proliant

# hpasmcli -s 'show POWERSUPPLY;'

Power supply #1
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Power supply #2
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Ver el estado de los ventiladores en HP Proliant

# hpasmcli -s 'show FANS;'

Fan  Location        Present Speed  of max  Redundant  Partner  Hot-pluggable
---  --------        ------- -----  ------  ---------  -------  -------------
#1   POWERSUPPLY_BAY Yes     NORMAL 34%     Yes        1        No
#2   CPU#2           Yes     NORMAL 29%     Yes        1        No
#3   CPU#1           Yes     NORMAL 34%     Yes        1        No

Ver temperaturas en HP Proliant

# hpasmcli -s 'show TEMP;'

Sensor   Location              Temp       Threshold
------   --------              ----       ---------
#0        SYSTEM_BD             -          -
#1        I/O_ZONE             38C/100F   65C/149F
#2        AMBIENT              16C/60F    40C/104F
#3        CPU#1                31C/87F    95C/203F
#4        CPU#1                31C/87F    95C/203F
#5        POWER_SUPPLY_BAY     24C/75F    60C/140F
#6        CPU#2                 -         95C/203F
#7        CPU#2                 -         95C/203F

Ver información de las memorias RAM

# hpasmcli -s 'show DIMM;'

DIMM Configuration
------------------
Cartridge #:   0
Module #:      1
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Cartridge #:   0
Module #:      3
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Ver información general del servidor

# hpasmcli -s 'show SERVER;'

System        : ProLiant DL360 G6
Serial No.    : XXXXXXXXX
ROM version   : P58 XX/XX/XXXX
iLo present   : Yes
Embedded NICs : 2
	NIC1 MAC: 00:00:00:00:00:00
	NIC2 MAC: 00:00:00:00:00:00

Processor: 0
	Name         : Intel Xeon
	Stepping     : 6
	Speed        : 1600 MHz
	Bus          : 1066 MHz
	Core         : 2
	Thread       : 2
	Socket       : 1
	Level2 Cache : 4096 KBytes
	Status       : Ok

Processor total  : 1

Memory installed : 2048 MBytes
ECC supported    : Yes

Estas serían a mi modo de ver las opciones más interesantes, podéis investigar el resto que he puesto al principio de la entrada.

Gestión de RAID Array en servidores HP desde Linux

HP, a través de su Proliant Support Pack ofrece una serie de utilidades que permiten gestionar y monitorizar la mayoría del Hardware del equipo en servidores Proliant. En este caso vamos a instalar “HP Array Configuration Utility CLI for Linux“, hpacucli, con la cual podremos monitorizar el estado de los discos duros, el RAID y la controladora.

Descarga de HP Proliant Support Pack
Descarga de HP Array Configuration Utility CLI for Linux

La instalación de hpacucli en equipos RHEL, CentOS, Fedora se realiza directamente con el rpm que nos proporcionan en el Support Pack o en la descarga individual:

# rpm -i hpacucli-8.40-4.0.noarch.rpm 

Una vez instalado, podemos utilizar la aplicación a través del comando hpacucli. Si lo ejecutáis sin ningún parámetro entraréis en una consola sobre la cual comenzar a trabajar, el comando help mostrará todas las opciones:

# hpacucli
HP Array Configuration Utility CLI 8.40-4.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.

=> help

CLI Syntax
   A typical ACU CLI command line consists of three parts: a target device,
   a command, and a parameter with values if necessary. Using angle brackets to
   denote a required variable and plain brackets to denote an optional
   variable, the structure of a typical ACU CLI command line is as follows:

        [parameter=value]

    is of format:
      [controller all|slot=#|wwn=#|chassisname="AAA"|
                  serialnumber=#|chassisserialnumber=#|ctrlpath=#:# ]
      [array all|]
      [physicaldrive all|allunassigned|[#:]#:#|[#:]#:#-[#:]#:#]
      [logicaldrive all|#]
      [licensekey all|]
      Note 1: The #:#:# syntax is only needed for systems that
              specify port:box:bay. Other physical drive targeting
              schemes are box:bay and port:id.
      Note 2: The chassisserialnumber is known in ACU as the
              RAID Array Serial Number. The chassisname is known
              in ACU as the RAID Array ID.
      Note 3: ctrlpath=#:# maps to "smart enclosure hooked up to
              host bus adapter slot:host bus adapter port"

   Example targets:
      controller slot=5
      controller chassisname="Lab C"
      controller serialnumber=P21DA2322S
      controller chassisserialnumber=9J3CJN71XDCH
      controller wwn=500308B300701011
      controller slot=7 array A
      controller slot=5 logicaldrive 5
      controller slot=5 physicaldrive 1:5
      controller slot=5 physicaldrive 1E:2:3
      controller slot=5 licensekey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

For detailed command information type any of the following:
   help add
   help create
   help delete
   help diag
   help modify
   help remove
   help shorthand
   help show
   help target
   help rescan

Help also accepts commonly used CLI parameters and ACU keywords. Adding
additional keywords will further filter the help output. Examples:
   help ssp        (shows all ssp help including show and modify commands)
   help ssp modify (restricts ssp help to only modify commands)
   help migrate
   help expand
   help extend
   help   ... 

=>

En el siguiente ejemplo vemos el estado de dos discos que forman un RAID 1 en la controladora:

# hpacucli controller slot=0 physicaldrive all show status

   physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 72 GB): OK
   physicaldrive 1I:1:2 (port 1I:box 1:bay 2, 72 GB): OK

Para ver el estado de la controladora y su caché:

# hpacucli ctrl all show status

Smart Array E200i in Slot 0 (Embedded)
   Controller Status: OK
   Cache Status: OK

También podréis modificar el RAID, volúmenes lógicos y demás, es cuestión de revisar todas las opciones que incorpora.

Crea imagenes de arranque Windows o Linux en tu USB

UNetbootin

UNetbootin es un software gratuito que permite crear discos de arranque de una gran variedad de distribuciones Linux y Windows sin la necesidad de quemar la imagen en un CD, se pueden crear directamente en nuestro USB con un simple click.

El programa te ofrece un listado de distribuciones, eliges la que quieres y se encarga de descargarla y grabarla en el USB para que directamente puedas arrancar el sistema con él. También puedes bajar tu mismo la distribución que quieras y decir al programa que la utilice, personalizar parámetros del kernel, initrd, etc.

Podéis ver todas sus funcionalidades y descargarlo en el sitio web oficial: unetbootin.sourceforge.net

Gracias Vaxter

Listado de plugins, scripts y plantillas para Cacti

Cacti

Os dejo los dos enlaces más útiles en lo que a plugins para Cacti se refiere. Son listados de plugins, el enlace al post de los foros de Cacti contiene una recopilación de todos los plugins, scripts y plantillas disponibles:

- Listado completo de Plugins, Scripts y plantillas para Cacti.
- Listado de plugins para Cacti en Debian Help.

Leer correo de una cuenta POP a través de TELNET

Hoy voy a seguir con las explicaciones referentes a acceder a servicios a través de telnet, ya sea para chequear que el funcionamiento del servicio es el correcto o por verdadera necesidad de enviar/recibir un correo de este modo.

En este caso vamos a acceder al servicio POP de una cuenta de correo para leer los correos que hay pendientes de ser recibidos en la cuenta de email. Algo muy importante que has de conocer antes de ejecutar esta técnica es que estás enviando tu clave de la cuenta de correo en texto plano y sin encriptar, no es recomendable utilizar este método a no ser que sea para chequear que simplemente el servicio funciona.

En primer lugar conectamos por el puerto por defecto del servicio pop, el 110:

$ telnet mail.miservidor.com 110

Si todo va bien, el servidor nos responderá algo similar a esto:

$ telnet mail.miservidor.com 110
Trying mail.miservidor.com ...
Connected to .mail.miservidor.com
Escape character is '^]'.
+OK Hello there.

En este momento es cuando debemos introducir nuestras credenciales de acceso (cuenta de correo y clave):

user micuenta@miservidor.com
+OK Password required.
pass **************
+OK logged in.

Ya estamos conectados al servidor POP, los comandos más básicos son los siguientes:

  • list: Muestra un listado de los correos que hay almacenados en el servidor y su tamaño:
    list
    +OK POP3 clients that break here, they violate STD53.
    1 653
    2 1340
    3 1983
    4 3736
  • retr: Comando para leer un determinado mensaje, simplemente seleccionamos el identificador del mensaje que queremos leer:
    list
    +OK POP3 clients that break here, they violate STD53.
    1 1442
    .
    retr 1
    +OK 1442 octets follow.
    Return-path:
    Envelope-to: xxxx@xxxxx
    Delivery-date: Mon, 05 Oct 2009 21:48:13 +0200
    Received: from xxx.xxx.xx ([xx.xx.xx.xx])
    	by xxx.xx.xx with esmtp (Exim 4.69)
    
    etc....
  • dele: Comando para borrar un correo, simplemente dele seguido del ID:
    dele 1
    +OK Deleted.
    
  • Para finalizar la conexión utilizaremos quit:
    quit
    +OK Bye.
    

Otros comandos son stat para ver el tamaño y número total de los mensajes en cola, top para leer X líneas de un mensaje o rset para deshacer la eliminación de un mensaje.

Comprobar funcionamiento servidor web vía TELNET

Seguimos con las comprobaciones a través de TELNET de los diferentes servicios que nos encontramos normalmente en un servidor. Ayer vimos como hacer pruebas contra un servidor SMTP, y hoy vamos a hacerlo contra un servidor web, concretamente contra un servidor web bajo Apache y otro bajo IIS, aunque el modo de operar es el mismo y muy sencillo.

Simplemente conectamos al servidor/host vía TELNET a través del puerto 80:

$ telnet www.apache.org 80
Trying 192.87.106.226...
Connected to www.apache.org.
Escape character is '^]'.

Ya estamos dentro, lo que es una buena señal, ahora vamos a lanzar una petición HTTP (HTTP/1.0, HTTP/1.1) en la que solicitamos solamente las cabeceras (HEAD) de la misma. Si quisieramos solicitar el documento completo en vez de HEAD utilizaríamos GET.

Nota: Hay que presionar ENTER dos veces tras escribir la petición HEAD/GET:

Ejemplo de un servidor Apache con respuesta correcta:

$ telnet www.apache.org 80
Trying 192.87.106.226...
Connected to www.apache.org.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 02 Oct 2009 09:26:01 GMT
Server: Apache/2.2.12 (Unix) mod_fcgid/2.3.2-dev
Last-Modified: Mon, 03 Aug 2009 13:41:54 GMT
ETag: "700a74-4e05-4703ceed30c80"
Accept-Ranges: bytes
Content-Length: 19973
Cache-Control: max-age=86400
Expires: Sat, 03 Oct 2009 09:26:01 GMT
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

Ejemplo de un servidor IIS con respuesta correcta:

$ telnet www.microsoft.com 80
Trying 207.46.192.254...
Connected to lb1.www.ms.akadns.net.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Length: 1020
Content-Type: text/html
Last-Modified: Mon, 16 Mar 2009 20:35:26 GMT
Accept-Ranges: bytes
ETag: "67991fbd76a6c91:0"
Server: Microsoft-IIS/7.5
P3P: CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"
X-Powered-By: ASP.NET
Date: Fri, 02 Oct 2009 09:27:36 GMT
Connection: keep-alive

Verificar funcionamiento correo SMTP vía TELNET

Algo extremadamente útil y que supongo la mayoría conoceréis (esto va para los que no lo conozcan…) es poder chequear de forma rápida y sencilla si un servidor de correo SMTP está funcionando de forma correcta o no.
Normalmente un usuario corriente configuraría la cuenta de correo en su cliente, como por ejemplo Outlook o Thunderbird, una pérdida de tiempo que podemos evitar si utilizamos TELNET para hacer un test de conexión o envío de correo contra ese SMTP.
A continuación podéis ver el modo de establecer esta conexión y los pasos para enviar el correo:

En primera instancia conectamos vía TELNET al servidor SMTP por el puerto 25:

# telnet xx.xx.xx.xx 25
Trying xx.xx.xx.xx...
Connected to xxx.xxxxxxx (xx.xx.xx.xx).
Escape character is '^]'.
220 xxxxx.xxxxxxx.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 1 Oct 2009 23:12:13 +0200

Como podéis apreciar, el primer paso lo hemos pasado con éxito, hemos podido acceder al servidor SMTP. Ahora vamos a decir al servidor SMTP quienes somos, hay que identificarse (normalmente nos identificamos con el nombre de nuestro PC, por ejemplo):

helo alex.portatil

Y el servidor nos responde correctamente:

250 xxxx.xxxxxxxxx.com Hello xxxx.xxxxxxx [xx.xx.xx.xx], pleased to meet you

Ya estamos en disposición de enviar el correo, primero decimos desde que cuenta vamos a enviarlo:

mail from: <micuenta@midominio.com>

Si recibimos una respuesta 250 OK todo va bien:

250 2.1.0 <micuenta@midominio.com>....Sender OK

Ahora toca poner la cuenta a la que vamos a enviar:

 rcpt to: <destino@sudominio.com>

Y si la respuesta sigue siendo 250, todo correcto:

  250 2.1.5 destino@sudominio.com

Lo siguiente será el cuerpo del mensaje (data), escribimos data y presionamos enter:

data

Escribiremos el cuerpo del correo, para acabar Enter + . + Enter (.)
Tened en cuenta que dentro del “data” podemos especificar el asunto del correo, el nombre del remitente, etc:

subject: Asunto del correo
to: destino@sudominio.com
esto es una prueba

Ya podemos salir del Telnet y el correo se enviará al destino indicado:

quit

La secuencia completa:

# telnet xx.xx.xx.xx 25
Trying xx.xx.xx.xx...
Connected to xxx.xxxxxxx (xx.xx.xx.xx).
Escape character is '^]'.
220 xxxxx.xxxxxxx.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 1 Oct 2009 23:12:13 +0200
helo alex.portatil
250 xxxx.xxxxxxxxx.com Hello xxxx.xxxxxxx [xx.xx.xx.xx], pleased to meet you
mail from: <micuenta@midominio.com>
250 2.1.0 <micuenta@midominio.com>....Sender OK
rcpt to: <destino@sudominio.com>
250 2.1.5 destino@sudominio.com
data
Esto es un mail de prueba

.
quit

Nota: Si necesitáis probar una cuenta con autenticación, tendréis que usar el método SMTP AUTH, lo explicaré otro día en profundidad, aunque si buscáis en google encontraréis rápido cómo hacerlo (SMTP AUTH, SMTP Authentication Telnet).

Instalar aplicaciones de Google en BlackBerry

BlackBerry

Si tienes una BlackBerry y quieres disfrutar en ella de aplicaciones de Google como por ejemplo Gmail, Google Maps, Google Reader o Google News haz lo siguiente:

  1. Desde el navegador de la BlackBerry accede a la url http://m.google.com
  2. Pincha en “Obtén todos los productos de Google de golpe – Descargar Google Mobile App
  3. Comenzará a descargarse a tu BlackBerry la aplicación. Cuando termine aparecerá un nuevo icono dentro de tu lista de aplicaciones.
  4. Accede al icono y desde ahí podrás gestionar e instalar las aplicaciones de Google con un solo click.