Map de imágenes RBD de Ceph con kernels antiguos

Al intentar mapear una imagen rbd de la última versión de ceph (jewel) en el kernel que incluye la distribución de centos 7, da un error como el siguiente:

[bash]

rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog – try "dmesg | tail" or so.
rbd: map failed: (6) No such device or address

[/bash]

Esto sucede porque el módulo del kernel (krbd) no soporta las nuevas funciones de jewel. He intentado desactivar esas funciones con rbd feature disable, pero tampoco me ha dejado. Así que he tenido que volver a crear la imagen indicando a la hora de la creación las features que nos interesan:

[bash]rbd create -s 100G –image-feature layering one/almacen[/bash]

He sido bastante restrictivo y sólo he dejado la funcionalidad básica de layering.

Parece ser que esto se debe a que ahora por defecto la imágenes rbd se crean con el formato versión 2 (antes 1).

Monitorizar impresoras HP LaserJet Pro 1606 y Samsung CLP-620 en Nagios

Tratando de configurar la monitorización con Nagios de la impresora HP LaserJet Pro 1606, descubro que el plugin por defecto para las HP JetDirect (check_hpjd) no funciona, da el siguiente error:

[sourcecode language=”plain” gutter=”off”]

# /usr/lib/nagios/plugins/check_hpjd -H printerIP -C public
Error in packet ()

[/sourcecode]

Así que he buscado otro plugin en el repositorio de Nagios por un plugin que soporte la monitorización de impresoras mediante el protocolo SNMP. Después de probar varios, me decidí por check_snmp_printer, principalmente por su facilidad
de uso. Las principales funciones del script permiten consultar el estado de los consumibles  (toners, para cada color, transfer y fuser), el modelo de impresora, el número total de páginas impresas y el estado de las bandejas de papel. De éstas, a mí sólo me interesa el estado de los tóners.

Para usar el script hay que indicar la IP o nombre de la impresora, la comunidad SNMP a la que acceder y el tipo de consulta que queremos hacer, de las disponibles:

MESSAGES: logs de estado
MODEL: modelo exacto de la impresora
CONSUM TEST: nombre exacto de los consumibles instalados en la impresora
CONSUM ALL: estado de todos los consumibles
CONSUM <String>: preguntar por un consumible en particular
PAPER1: estado de papel de la bandeja 1
PAPER2: idem, bandeja 2
PAPER3: idem, bandeja 3
PAGECOUNT: número total de páginas impresas

De éstos, como ya he adelantado, me interesan
los consumibles. Con CONSUM ALL nos devuelve el estado, ya normalizado para Nagios con su estado (OK, WARNING, CRITICAL), de cada uno de los consumibles. Añadirlo a Nagios, pues, es muy simple. Lo primero es copiar el script al directorio de plugins de Nagios (en openSUSE, /usr/lib/nagios/plugins/) y definir una nueva orden en command.cfg :

[sourcecode language=”plain” gutter=”off” title=”# command.cfg”]

########################
### check toner level
### SNMP printers
define command{
command_name check_toner_level
command_line $USER1$/check_snmp_printer  $HOSTADDRESS$ public CONSUM ALL
}

[/sourcecode]

Se define una nueva orden, de nombre “check_toner_level” que preguntará a la impresora a través de la comunidad SNMP public (puede que necesites cambiar esto, yo lo he hecho fijo porque mis impresoras
es la que utilizan) por el estado de todos los consumibles.

Sólo queda definir las impresoras. Las vamos a crear, como parece razonable, en el fichero printer.cfg:

[sourcecode language=”plain” title=”# printer.cfg” gutter=”off”]

define host{
use             generic-printer         ; Inherit default values from a template
host_name       condensada              ; The name we’re giving to this printer
alias           HP LaserJet Pro 1606    ; A longer name associated with the printer
address         192.168.34.25                ; IP address of the printer
hostgroups      network-printers        ; Host groups this printer is associated with
}

define service{
use                     generic-service         ; Inherit values from a template
host_name               condensada              ; The name of the host the service is associated with
service_description     Toner Level             ; The service description
check_
command           check_toner_level       ; The command used to monitor the service
normal_check_interval   10      ; Check the service every 10 minutes under normal conditions
retry_check_interval    1       ; Re-check the service every minute until its final/hard state is determined
check_interval          720 # cada 12 hora

}
[/sourcecode]

Con estas líneas hemos definido la impresora condensada y el servicio de consulta de estado de tóner, utilizando la orden que creamos previamente. Podría haber puesto el nombre de la comunidad como parámetro en la llamada a la orden, pero como siempre era public he preferido dejarlo así más simple. De la otra forma, habría que sustituir public por $ARG1$ en la línea de llamada al script y en el servicio check_toner_level!NOMBRECOMUNIDAD.

Si en el fichero nagios.cfg está comentada la línea referente a printers.cfg, la descomentamos. Reiniciamos el servicio y ya deberíamos estar monitorizando el estado de tóner de nuestras impresoras.

Plugins útiles para WordPress

Otra “metaentrada”. Estos son los plugins que he instalado en mi WordPress para mejorar su comportamiento:

  • BackUpWordPress: hace backups de la base de datos y archivos del WordPress instalado. No quiero que me vuelva a pasar lo de antes :S
  • Broken Link Checker: Comprueba tu blog en busca de enlaces y imágenes ausentes y te informa en el escritorio de WordPress si alguno fue encontrado.
  • Login LockDown: añade seguridad al sitio bloqueando direcciones desde las cuales se han hecho varios intentos de login fallidos
  • Popular
    Widget
    : muestra los post más visitados
  • Social Media Tabs: añade los botones de las principales redes sociales, RSS y feeds
  • SyntaxHighlighter Evolved: para resaltar el código fuente dentro de los post. Ya he hablado de él en este post
  • Ultimate TinyMCE: sustituto al editor por defecto. Añade muchas más opciones avanzadas
  • W3 Total Cache: acelera la carga de las páginas pregerándolas y cacheándolas *
  • WassUp Real Time Analytics:  estadísticas sobre las visitas a la web *
  • WordPress Firewall 2: bloquea ataques al sitio
  • WP-Mail-SMTP: modifica la función mail por defecto de WP. En lugar de utilizar la función PHP permite enviar a través de SMTP. Necesario para mandar mails dentro de la red UGR

* Los plugins W3 Total Cache y WassUp Real Time Analytics son incompatibles y no pueden estar activos al mismo tiempo, puesto éste guarda las estadísticas al ejecutarse con la carga de las páginas. Si las cacheamos perdemos su funcionalidad. Así que tengo desactivado el W3 Total Cache y planteándome alguna alternativa a WassUp que no presente esta limitación.