jueves, 29 de noviembre de 2012

MRTG y SNMP


MRTG es una herramienta que nos permite graficar el uso de laz interfaces; tener una idea visual de como se explota el canal. Pero; todos sabemos que el ancho de banda no alcanza, veremos un gráfico verde completo en lugar de picos. En mi opinión, no tiene ningún sentido instalar MRTG para saber algo que es tan obvio, pero como está la moda, TODO el mundo la considera una herramienta definitiva :-P

MRTG es solamente un graficar que procesa el protocolo SNMP. Por tanto, necesitamos priemro un servicio snmp. Creamos un fichero de configuracion nuevo

aptitude install snmp snmpd
cd /etc/snmp
mv snmpd.conf snmpd.conf.old
touch snmpd.conf

y al fichero le escribimos


com2sec paranoid   default                 public
com2sec readonly  192.168.1.0/24      public
com2sec readwrite default                  private

group MyROSystem v1        paranoid
group MyROSystem v2c       paranoid
group MyROSystem usm       paranoid
group MyROGroup v1         readonly
group MyROGroup v2c        readonly
group MyROGroup usm        readonly
group MyRWGroup v1         readwrite
group MyRWGroup v2c        readwrite
group MyRWGroup usm        readwrite

view all    included  .1                               80
view system included  .iso.org.dod.internet.mgmt.mib-2.system

access MyROSystem ""     any       noauth    exact  all    none   none
access MyROGroup ""      any       noauth    exact  all    none   none
access MyRWGroup ""      any       noauth    exact  all    all    none

syslocation TUDOMINIO
syscontact lazarito <tucorreo@tudominio.tld> 


# EOF

Salvamos y cerramos. Ahora, no se porque, esto da palo.
Vamos a /etc/default/snmpd

y lo dejamos solamente la liena que dice:

TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'


las demas las comentamos y reiniciamos snmp

/etc/init.d/snmpd restart

Lo probamos

snmpwalk -v 1 192.168.1.1 -c public system

Ahora, en la máquina donde tenemos el servidor web (quizas la misma), vamos instalar mrtg

 aptitude install mrtg

Ahora el directorio en www

mkdir -p /var/www/mrtg/enlace
cp /etc/mrtg.cfg /etc/mrtg.cfg-OLD

Ahora utilizamos la herramienta de configuracion de mrtg ejecutando.

cfgmaker \
--global "workdir: /var/www/mrtg/" \
--global "Options[_]: bits,growright" \
--output /etc/mrtg.cfg \
--community=public \
192.168.1.1 \

MRTG corre solo por el cron, pero para empezar lo corremos manual

mrtg

y buscamos en la carpeta /var/www/mrtg/

Facilíto verdad?

lunes, 12 de noviembre de 2012

eliminar logs

Supuestamente logrotate lleva el control de los logs que se almacenan, pero en mas de una ocasión se me desborda la carpeta de logs en maquinas cuya configuracion de logrotate no he tocado, es decir, en las NO servidor. Solucion sucia y económica:

echo '''
rm /var/log/*.[0-9]
rm /var/log/*/*.[0-9]''' >> /etc/cron.daily/standard

martes, 6 de noviembre de 2012

paquetes húerfanos


Aveces tenemos un carretón de librerías que se quedan instaladas en nuestro sistema de cuando instalamos paquetes. Peor aún cuando upgradeamos un sistema de una versión hacia otra. En mi opinión, lo gestores de dependencias aún deben mejorar en ese aspecto. Pero de aquí a que eso suceda, la gente con poco espacio en disco llora por 150 megas.

El paquete "deborphan" contiene una aplicacion llamada *orphaner* que al correrlo, limpia nuestro sistema de librerías huérfanas que nadie depende de ellas. Lo recomiendo mucho después de upgradear el sistema de una versión a otra. Todo parece indicar que funciona bien y seguro...

lunes, 5 de noviembre de 2012

luchando contra los apagones


En la entrada anterior hablamos sobre apcupsd, un software usado para gestionar los backups inteligentes de APC. Dijimos que podíamos usar el software para gestionar backups aún cuando tuviéramos un backup APC solamente.

Podemos tener un solo backup inteligente con su cable y usarlo como servidor. A este le conectaremos los apcupsd como clientes y sabremos cuando se fue la luz. Esto es útil en lugares muy hostiles con el fluido eléctrico ya que con un cable todo el mundo sabe que situación hay.

Podemos medir el tiempo que dura nuestro backup, por ejemplo, si dura 10 tristes minutos, podemos decirle que se apague a los 8 minutos, asumiendo que tardará dos minutos en las tareas de apagar por la
buenas. Para lograr esto, instalaremos apcupds como si tuviéramos un APC conectado, es decir, ya tenemos uno conectado en la máquina servidor como dije en la entrada anterior.

aptitude install apcupsd

Este software emite reportes de correos con toda la situación de la UPS, así que para no confundirnos le podremos un nombre a cada una. En este caso, supongamos que trabajamos con el servidor de correo. Localizaremos el fichero /etc/apcupsd/apcupsd.conf y le podremos el parámetro: UPSNAME mail
Esta es la UPS de mail. Si no lo hacemos, la ups tendrá el nombre del host así que esto no es algo muy relevante.

Vamos al localizar los parámetros: UPSTYPE y DEVICE, para que nos queden así:

UPSTYPE net
DEVICE 192.168.1.1:3551

En este caso, el tipo de UPS es "net" es decir, una UPS remota en un servidor atravéz de la red. Qué  abroso, verdad? En mi caso, master está en 192.168.1.1 usted, claramente, le podrá las dirección de su
"master". Recomiendo usar IP y no nombres, no sea que con el apagón, el servidor DNS se apague primero o simplemente no sea alcanzable porque el router se apaga. Mejor usar la dirección. Otro parámetro a tener en cuenta es POLLTIME, en caso de que su UPS dure menos de 5 minutos, un minuto le sería valioso. En caso de esa pésima UPS le pondremos el POLLTIME en 10, para que encueste al servidor cada 10 segundos. Es decir, cada segundos le preguntará como está la batería y si hay luz o no.

El parámetro mas importante en este caso, es el parámetro TIMEOUT, este parámetro le hace la vida más fácil al administrador. Por ejemplo: Medimos el backup y vimos que su carga dura  aproximadamente 20 minutos. En este caso, setearemos TIMEOUT a 18, así cuando el apcupsd sea informado de que se fue la luz, comenzará a contar 18 minutos, de esta forma, cuando solo queden 2 minutos para que se agote la carga, apcupsd dará instrucciones de apagado. La estrategia que se busca es la integridad del sistema de archivo, no la durabilidad del servidor durante un apagón, aún así tenemos la esperanza de que en 18 minutos la luz llegue otra vez, por tanto dos minutos para apagarse me parece bastante poco, les podríamos poner el timeout en 16 y dejar otros 4 minutos para el apagado. Cada día el rendimiento del bakcup se acortará mas y con este sistema dejaremos de pensar en el asunto así que mejor precaver.

Como este backup no es la gran cosa, no necesitamos que este repitiendo la información del servidor, por tanto, podemos deshabilitar el parámetro que rige si será o no servidor.

NETSERVER off

A menos puertos tengamos abiertos, mejor.No olvide ajustar el
parámetro ISCONFIGURED=yes con /etc/defualt/apcupsd y por supuesto
reiniciar el servicio /etc/init.d/apcupsd restart

Con eso no nos preocuparemos más por el sistema de archivo cuando se
va la luz.

que hable el backup


Algunos Backups APC vienen con un cable de los mas curioso. En un extremo tienen una toma de red RJ-45 con solo dos pelos conectados mientras que en el otro extremo tienen un puerto USB. Es que cuando adquieres un backup APC del tipo smart, obtienes algo más que un backup, obtienes la herramienta que le informará a tu computadora sobre el estado de la energía eléctrica en tu entorno.
Por ejemplo, si tenemos uno solo de esos cables. Podemos instalar un software que monitoree el  backup y mantenga a todos los servidores en la red informados de las situación con el fluído eléctrico. Si sabemos que el backup del servidor dura aproximadamente 20 minutos, podemos decirle que se apague en 10 minutos. Ese servidor no tiene un backup con cable inteligente pero se guiará por lo que le indique el servidor que si lo tiene.

Este software se llama "apcupsd" El daemon de las UPC de APC, que es software libre!

Primero conectamos el cable debidamente, es decir, el puerto de red raro en el backup y el USB en el servidor. Entonces instalamos el software mágico.

 aptitude install apcupsd

Sin grandes complicaciones. Ahora localizamos el fichero /etc/default/apcupsd y le cambiamos la linea "ISCONFIGURED=yes" porque si no no arranca. Realmente no le hemos configurado aún pero después podría olvidarse. A este apcupsd que tiene el cable conectado al backup, le llamaremos "master".  Este será el que servirá la información por la red.

Localizamos el fichero /etc/apcupsd/apcupsd.conf y le diremos donde está nuestro backup.

Localizamos la linea: UPSNAME y le ponemos master para ubicarnos con el nombre como mencioné anteriormente.

UPSNAME master

Ahora le diremos que nuestro backup está en el puerto USB.

UPSCABLE usb


El resto de los parámetros los dejaremos como están hasta llegar al parámetro "ONBATTERYDELAY" Este parámetro es muy útil para los lugares donde el voltaje falla pero la luz no llega a irse del todo. En mi caso lo tengo en 10

ONBATTERYDELAY 10

Por ejemplo, si la luz pestańea unos un instante, el software no se inmutara. Si se fue la luz y sabemos que en 10 segundos la planta arrancará reponiendo el fluido eléctrico, el software no le dará ninguna instrucción de apagado al sistema. PERO! pasados los 10 segundos, apcupsd reaccionará y ejecutara el script de apagado o comenzara a considerarse "trabajando con baterías" y contando atras para apagar.

Entonces surge la interrogante. ¿De cuanto tiempo disponemos para empezar el apagado? Eso depende de su backup, el que este conectado al cable (el master) puede tomar esa desición sin basarse en tiempo. Podemos especificarle el nivel en % al que deberá proceder un apagado. Pero en el caso del apcupsd que trabaja por la red, NO podemos especificarle un apagado porque responderá a los % del master y este podría no ser igual. En el caso del master, tenemos el parámetro:

BATTERYLEVEL = 10

Esto quiere decir que cuando el % de batería remanente decienda del 10%, apcupsd dará instrucciones de apagado. En caso de que NO desee hacerlo por % puede usar el parámetros MINUTES pero en el caso de la UPS master, los mejor es con %. En los que trabajan por red podría jugar con el parámetro MINUTES pero veremos algo aún mas interesante; sigamos por ahora con master para no perder el hilo.

Decíamos que este será el que dará instrucciones las demás UPS en la red, aún cuando estas NO tengan un cablecito inteligente o simplemente no sean APC, si no un backup normalito, por tanto, master será el servidor que dirigirá la orquesta.

NETSERVER on
NISIP 0.0.0.0

Podría usar 0.0.0.0 ó simplemente la ip de su DMZ, si usa 0.0.0.0 no olvide usar iptables después, no le querremos dar a un posible atacante la posibilidad de encuestarnos nuestro servidor una y otra vez (entiéndase ataque DoS)

El resto de los parámetros no son muy interesantes. En la próxima entrada hablaremos de la UPS que NO tienen el cable, aquellas que se subordinan por la red. Si tiene un MTA correctamente configurado (interfaz de sendmail) recibirá los datos exactos en los que se va la luz, para luego decir con mas presición que nadie, a que hora falló la corriente. También puede ver el voltaje de la linea y mucha información detallada que solo vería conectando un voltímetro a un enchufe de la pared.