miércoles, 23 de abril de 2014
Scripts sencillos servicios
Vamos con un par de pequeños scripts que nos ayudaran a poder automatizar un par de servicios, que siempre queremos esten activos, son solo ejemplos, me parece utiles y efectivos para un seguimiento:
#!/bin/bash
if [ `pgrep apache | wc -l` -eq 0 ]; then
/etc/init.d/apache2 restart
date >> /var/log/service_check.log
echo "servicio apache parado se reinicia" >> /var/log/service_check.log
fi
if [ `pgrep mysqld | wc -l` -eq 0 ]; then
/etc/init.d/mysql restart
date >> /var/log/service_check.log
echo "servicio mysql parado se reinicia" >> /var/log/service_check.log
fi
lunes, 14 de abril de 2014
Redimensiones Disco Duro y Particiones
En entornos virtuales que podemos asignar espacio a las particiones podemos encontrarnos con este tipo de tareas, con cierta frecuencia.
Este Post da las directrices necesarias, bajo el entorno de Ubuntu, con un ejemplo practico a continuación:
Este Post da las directrices necesarias, bajo el entorno de Ubuntu, con un ejemplo practico a continuación:
df –h
S.ficheros
Tamaño Usado Disp Uso% Montado en
/dev/sda1 19G 18G
414M 98% /
tmpfs 505M 0
505M 0% /lib/init/rw
varrun 505M 128K
505M 1% /var/run
varlock 505M 0
505M 0% /var/lock
Veremos que la partición /dev/sda1 es la única que tiene
el equipo, porque hasta que no reiniciemos la maquina, (después de haber
agrandado el disco en nuestro entorno del ESX) no cogerá los cambios.
Vamos a listar las particiones del disco:
fdisk -l
Disco
/dev/sda: 26.8 GB, 26843545600 bytes
255 cabezas, 63 sectores/pista, 3263 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x0005e35e
Disposit. Inicio
Comienzo Fin Bloques
Id Sistema
/dev/sda1 * 1 2496
20049088+ 83 Linux
/dev/sda2
2497 2610 915705
5 Extendida
/dev/sda5
2497 2610 915673+
82 Linux swap / Solaris
Ahora vamos a listar las particiones sobre el sda
únicamente:
fdisk /dev/sda
El número de cilindros para este disco está establecido
en 3263.
No hay nada malo en ello, pero es mayor que 1024, y en
algunos casos
podría causar problemas con:
1) software que funciona en el inicio (p.ej. versiones
antiguas de LILO)
2) software de arranque o particionamiento de otros
sistemas operativos
(p.ej. FDISK de
DOS, FDISK de OS/2)
Orden (m para obtener ayuda): p
Disco /dev/sda: 26.8 GB, 26843545600 bytes
255 cabezas, 63 sectores/pista, 3263 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x0005e35e
Disposit. Inicio
Comienzo Fin Bloques
Id Sistema
/dev/sda1 * 1 2496
20049088+ 83 Linux
/dev/sda2
2497 2610 915705
5 Extendida
/dev/sda5
2497 2610 915673+
82 Linux swap / Solaris
Orden (m para obtener ayuda): n (Nueva)
Acción de la orden
l Partición
lógica (5 o superior)
p Partición primaria (1-4)
p (con la p indicamos particio primaria, máximas puede haber
4 en el equipo)
Número de partición (1-4): 3 (asignamos con el numero 3
Primer cilindro (2611-3263, valor predeterminado 2611):
Se está utilizando el valor predeterminado 2611 (valor por
defecto)
Last cilindro, +cilindros or +size{K,M,G} (2611-3263,
valor predeterminado 3263):
Se está utilizando el valor predeterminado 3263 (valor por
defecto )
Orden (m para obtener ayuda): p (con la p mostramos como esta quedando y
vemos que ya ha creado la partición /dev/sda3)
Disco /dev/sda: 26.8 GB, 26843545600 bytes
255 cabezas, 63 sectores/pista, 3263 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x0005e35e
Disposit. Inicio
Comienzo Fin Bloques
Id Sistema
/dev/sda1 * 1 2496
20049088+ 83 Linux
/dev/sda2
2497 2610 915705
5 Extendida
/dev/sda3 2611 3263
5245222+ 83
Linux
/dev/sda5 2497 2610 915673+
82 Linux swap / Solaris
Orden (m para obtener ayuda): w (aquí
con la w grabamos todos lo realizado)
¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de
particiones.
ATENCIÓN: La relectura de la tabla de particiones falló
con el (este error es normal que pueda darlo)
error 16: Dispositivo ó recurso ocupado.
El núcleo todavía usa la tabla antigua.
La nueva tabla se usará en el próximo reinicio.
Se están sincronizando los discos.
Mostramos las particiones que hay ya con el tamaño
asignado:
fdisk /dev/sda
Orden (m para obtener ayuda): p (volvemos a ver la información ya si con
partición añadida)
Disco /dev/sda: 26.8 GB, 26843545600 bytes
255 cabezas, 63 sectores/pista, 3263 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x0005e35e
Disposit. Inicio
Comienzo Fin Bloques
Id Sistema
/dev/sda1 * 1 2496
20049088+ 83 Linux
/dev/sda2
2497 2610 915705
5 Extendida
/dev/sda3 2611 3263
5245222+ 83 Linux
/dev/sda5 2497 2610 915673+
82 Linux swap / Solaris
Orden (m para obtener ayuda): q (para salir de fdisk)
Reinicio de la maquina para poder darle
formato a la partición:
reboot
Consulta de las particiones :
ls -l /dev/sda*
brw-rw----
1 root disk 8, 0 2012-08-28 10:24 /dev/sda
brw-rw----
1 root disk 8, 1 2012-08-28 10:24 /dev/sda1
brw-rw----
1 root disk 8, 2 2012-08-28 10:24 /dev/sda2
brw-rw----
1 root disk 8, 3 2012-08-28 10:24 /dev/sda3
brw-rw----
1 root disk 8, 5 2012-08-28 10:24 /dev/sda5
Vamos a comprobar el sistema de ficheros y a trabajar
sobre el:
mkfs.ext
mkfs.ext2
mkfs.ext3 mkfs.ext4 mkfs.ext4dev
comprobamos las particiones montadas al arranque donde
mas adelante tendremos que incluir esta nuestra:
cat /etc/fstab
#
/etc/fstab: static file system information.
#
#
<file system> <mount point>
<type> <options> <dump> <pass>
proc /proc proc defaults 0
0
#
/dev/sda1
UUID=adb31a5c-35f7-4484-baf0-bb24463ebb63
/ ext3 relatime,errors=remount-ro 0 1
#
/dev/sda5
UUID=2369f522-7e72-4177-b420-3e302125a341
none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
Lo formateamos en el formato adecuado ext 3 o 4,
dependiendo de la versión de Linux.
mkfs.ext4 /dev/sda3
mke2fs 1.41.3 (12-Oct-2008)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
328000 nodos-i, 1311305 bloques
65565 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de
ficheros=1346371584
41 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8000 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768,
98304, 163840, 229376, 294912, 819200, 884736
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del
sistema de ficheros: hecho
Este sistema de ficheros se revisará automáticamente cada
21 montajes o
180 días, lo que suceda primero. Utilice tune2fs -c o -i para cambiarlo.
Daremos un reinicio para que coja los cambios:
Reboot
Ahora ya podremos ver el UUID, de nuestra partición sda3:
ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx
1 root root 10 2012-08-28 10:31 2369f522-7e72-4177-b420-3e302125a341 ->
../../sda5
lrwxrwxrwx
1 root root 10 2012-08-28 10:31 95d814ff-6849-4c38-b731-4acb5b3dd9ea ->
../../sda3
lrwxrwxrwx
1 root root 10 2012-08-28 10:31 adb31a5c-35f7-4484-baf0-bb24463ebb63 ->
../../sda1
Nos introducimos en fstab:
vi /etc/fstab
E incluiremos las líneas añadidas en rojo, para nuestra
nueva partición, con el nombre que le vayamos a dar (seguda_particion en
nuestro caso).
#
/etc/fstab: static file system information.
#
#
<file system> <mount point>
<type> <options> <dump> <pass>
proc /proc proc defaults 0
0
#
/dev/sda1
UUID=adb31a5c-35f7-4484-baf0-bb24463ebb63
/ ext3 relatime,errors=remount-ro 0 1
# /dev/sda3
UUID=95d814ff-6849-4c38-b731-4acb5b3dd9ea
/mnt/segunda_particion ext3 relatime,errors=remount-ro 0 1
#
/dev/sda5
UUID=2369f522-7e72-4177-b420-3e302125a341
none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
172.19.5.36:/almacen /nas
nfs defaults 0
0
Comprobaremos la particiones creadas y los puntos:
(veremos la nuestra en las que haya)
ls -l /mnt/
Montamos la partición: (puede dar algún error nfs)
mount –a
Por último realizaremos la comprobación en el disco duro
de que tenemos la partición creada, montada, con el espacio asignado y montada
en el fstab para que al arrancar entre operativa.
df –h
S.ficheros
Tamaño Usado Disp Uso% Montado en
/dev/sda1 19G 18G
413M 98% /
tmpfs 505M 0
505M 0% /lib/init/rw
varrun 505M 132K
505M 1% /var/run
varlock 505M 0
505M 0% /var/lock
/dev/sda3 5,0G
139M 4,6G 3% /mnt/segunda partición
Hay formas distintas de trabajar sobre los discos y particiones, todas ellas muy validas, esta es solo un ejemplo de como trabajar en la dimensionar del discos y particiones, en un entorno virtual sobre linux.
Nos vemos a la vuelta de semana Santa!!!
viernes, 11 de abril de 2014
Monitorizacion Nagios
Breve post sobre un desplique sencillo de la instalacion de un sistema de monitorizacion para nuestro entorno, sobre nagios:
Instalación
Nagios:
Descarga del aplicativo (existen
numerosas versiones del aplicativo, nosotros hemos usado la versión 3.2 con los
plugins determinados para la ejecución de procesos y servicios requeridos).
wget
http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget
http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
La instalación la hemos
realizado sobre un Ubuntu 12.04 TLS.
Es necesario instalar apache,
php, postfix y mailutils.
apt-get install apache2 libapache2-mod-php5
build-essential php5 libgd-graph-perl postfix libgd2-xpm-dev mailutils unzip
Crear usuarios y grupos:
/usr/sbin/useradd
-m -s /bin/bash nagios
passwd nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data
Descargamos
el software:
wget
http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget
http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
Compilamos
e instalamos el software:
tar
xzf nagios-3.2.3.tar.gz
cd
nagios-3.2.3
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
Modificación
del email a utilizar:
vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
contact_name
nagiosadmin ; Short
name of user
use generic-contact ; Inherit default values from
generic-contact template (defined above)
alias
Nagios Admin ; Full
name of user
email
nagios@sekisystems.com.es ; <}
Configuramos
el usuario web y los plugins:
htpasswd
-c /usr/local/nagios/etc/htpasswd.users nagiosadmin
/etc/init.d/apache2
reload
cd ~/downloads
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios
--with-nagios-group=nagios
make
make
install
Lo
linkamos para que ejecute al iniciar el equipo:
ln -s
/etc/init.d/nagios /etc/rcS.d/S99nagios
Comprobamos si la instalacion funciona correctamente y
damos un reinicio del servicio:
/usr/local/nagios/bin/nagios
-v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios
start
Ya
podemos accede al servicio web, aunque vamos a modificar la estética del
frontal:
Descargamos
el vautour y lo instalamos cambiando el frontal de estética.
wget
www.be-root.com/downloads/nagios/vautour/vautour_style.zip
mkdir vautour
unzip vautour_style.zip -d vautour
cp -Rfa /usr/local/nagios/share
/usr/local/nagios/share_OLD
cp -Rfa vautour/* /usr/local/nagios/share/.
Instalación
del servidor de correo para el envió de alertas:
root@localhost#
cp -rfv /etc/postfix/main.cf /etc/postfix/main.cf.bk
root@localhost# cat >> /etc/postfix/main.cf
<< "EOF"
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps =
hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
EOF
root@localhost# cat >> /etc/postfix/sasl/passwd
<< "EOF"
smtp.gmail.com]:587 icogam.monitorizacion@gmail.com:J912sdp12123
EOF
root@localhost# chmod 600 /etc/postfix/sasl/passwd
root@localhost# postmap /etc/postfix/sasl/passwd
root@localhost# cat
/etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem
root@localhost#
/etc/init.d/postfix restart
root@localhost#
echo "Envio de correo prueba" | mail -s "[Datacenter]
S.O.S" admin@gmail.com
root@localhost# tail -f /var/log/mail.log
Configuración
de los siguientes archivos:
root@localhost#
cat >> /usr/local/nagios/etc/nagios.cfg << "EOF"
log_file=/usr/local/nagios/var/nagios.log
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_dir=/usr/local/nagios/etc/servers
Con
todos estos pasos tendremos nagios configurado en el servidor, habría
únicamente que realizar los pasos de creación o activación de las alertas o
servicios a monitorizar, e ir incluyendo las maquinas en el entorno de
monitorización.
SI esta claro que la parte de la configuracion de los host y alertas sea lo mas complejo, pero eso lo dedicaremos a otro post integro con las diferentes posibilidades, en funcion de que queramos monitorizar.
Los
ficheros sobre los que trabajar son:
/usr/local/nagios/etc/objects:
Commands.cfg
à creación de los commandos y
scripts a ejecutar
contacts.cfg
à contactos sobre los cuales
recibirán o irán configuradas las alertas
localhost.cfg
à configuración de la maquina
local y aquí crearemos las alertas Linux.
Switch.cfg
à alertas para los switches.
templates.cfg
à tablas de configuración para
las alertas, tiempos y demás.
windows.cfg
à creación de las alertas de los
servidores, servicios Windows.
(Todos
los ficheros se activan en el fichero padre /usr/local/nagios/etc/nagios.cfg)
Buen Fin de semana ah y .... Vamos real hasta el final!!!
Suscribirse a:
Comentarios (Atom)