viernes, 23 de enero de 2015

Añadir MIBs al cliente snmp en Red Hat o CentOS

Descargar los archivos mibs del fabricante

Copiar las mibs (.txt) en el directorio /usr/share/snmp/mibs

ls -lh /usr/share/snmp/mibs | tail -n 10
-rw-r--r--  1 root root 8,7K dic 21  2011 STONESOFT-FIREWALL-MIB.txt
-rw-r--r--  1 root root 1,7K dic 21  2011 STONESOFT-SMI-MIB.txt
-rw-r--r--. 1 root root  28K ago  6  2013 TCP-MIB.txt
-rw-r--r--. 1 root root  17K ago  6  2013 TRANSPORT-ADDRESS-MIB.txt
-rw-r--r--. 1 root root 2,2K ago  6  2013 UCD-DEMO-MIB.txt
-rw-r--r--. 1 root root 4,3K ago  6  2013 UCD-DISKIO-MIB.txt
-rw-r--r--. 1 root root 3,0K ago  6  2013 UCD-DLMOD-MIB.txt
-rw-r--r--. 1 root root 8,0K ago  6  2013 UCD-IPFWACC-MIB.txt
-rw-r--r--. 1 root root  46K ago  6  2013 UCD-SNMP-MIB.txt
-rw-r--r--. 1 root root  21K ago  6  2013 UDP-MIB.txt





Para probar las mibs de stonesoft que hemos añadido

snmpwalk -v1 -cpublic 192.168.1.1 STONESOFT-FIREWALL-MIB::fwSoftwareVersion
STONESOFT-FIREWALL-MIB::fwSoftwareVersion.0 = STRING: Stonesoft Security Engine version 1.1.1.1111

Ampliar una particion con LVM II - ampliar partición root

En otra ocasion ya hice un post con una relacion de comandos para ampliar una particion LVM
En esta caso vamos a ampliar la particion raiz que no podemos desmontar si el sistema se esta ejecutando.
Listamos las particiones:
df -Th

Como hemos añadido un disco de 8GB creamos una particion de 8GB y le asignamos el tipo Linux LVM (8e)
fdisk /dev/sdc1
    n (nueva particion)
    t (cambiar el tipo a Linux LVM)
        8e (el código para seleccionar Linux LVM)

Como una particion que esta montada no se puede redimencionar vamos a utilizar un truco le bajamos el porcentaje de bloques reservados a 0% redimensionamos y despues lo volvemos a dejar al 5% que es el nivel por defecto.
para comprobar el numero de bloques reservados
dumpe2fs /dev/mapper/vg_sistema-lg_root | grep 'Reserved block count'
dumpe2fs 1.41.12 (17-May-2010)
Reserved block count:     207206
tune2fs -m 0 /dev/mapper/vg_sistema-lg_root

dumpe2fs /dev/mapper/vg_sistema-lg_root | grep 'Reserved block count'
dumpe2fs 1.41.12 (17-May-2010)
Reserved block count:     0





Creamos el Phisical Volumen en la particion que hemos creado en el disco nuevo
pvcreate /dev/sdc1

Ampliamos el Volume Group que ya existe en el sistema donde está situado el LV que necesitamos ampliar.
vgextend vg_sistema /dev/sdc1

Ampliamos el Logical Volume que ya existe y el cual queremos ampliar
lvextend /dev/mapper/vg_sistema-lg_root /dev/sdc1

Redimensionamos la particion (en nuestro caso ext4)
resize2fs /dev/mapper/vg_sistema-lg_root 

Volvemos a poner el 5% de bloques reservados
tune2fs -m 5 /dev/mapper/vg_sistema-lg_root
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 5% (207206 blocks)


Listamos de nuevo las particiones y deberiamos ver que ha ampliado en 8GB su espacio
df -Th
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_sistema-lg_root
                     ext4    16G  6,0G  8,8G  41% /
tmpfs                tmpfs  4,9G   72K  4,9G   1% /dev/shm
/dev/sda1            ext4   477M  113M  339M  25% /boot
/dev/mapper/vg_sistema-lv_usr_local
                     ext4    53G  5,7G   45G  12% /usr/local


Bibliografía:
http://myshell.co.uk/index.php/how-to-extend-a-root-lvm-partition-online/

lunes, 24 de noviembre de 2014

ifconfig en vmware esxi



~ # esxcli network nic list

Name    PCI Device     Driver  Link  Speed  Duplex  MAC Address         MTU  Description

------  -------------  ------  ----  -----  ------  -----------------  ----  ---------------------------------------------------------------------------

vmnic0  0000:003:00.0  bnx2    Down      0  Half    00:21:5a:a5:25:7c  1500  Broadcom Corporation NC373i Integrated Multifunction Gigabit Server Adapter

vmnic1  0000:00f:00.0  e1000e  Up      100  Full    00:1f:29:55:ed:0a  1500  Intel Corporation 82571EB Gigabit Ethernet Controller

vmnic2  0000:00f:00.1  e1000e  Up     1000  Full    00:1f:29:55:ed:0b  1500  Intel Corporation 82571EB Gigabit Ethernet Controller

~ # esxcfg-vmknic -l

Interface  Port Group/DVPort   IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type

vmk0       Management          IPv4      10.0.0.5                              255.255.255.0   10.50.58.255    00:21:5a:a5:25:7c 1500    65535     true    STATIC

vmk0       Management          IPv6      fe80::221:5aff:fea5:257c                64                              00:21:5a:a5:25:7c 1500    65535     true    STATIC, PREFERRED

~ # esxcli network ip interface list

vmk0

   Name: vmk0

   MAC Address: 00:21:5a:a5:25:7c

   Enabled: true

   Portset: vSwitch0

   Portgroup: Management

   Netstack Instance: defaultTcpipStack

   VDS Name: N/A

   VDS UUID: N/A

   VDS Port: N/A

   VDS Connection: -1

   MTU: 1500

   TSO MSS: 65535

   Port ID: 33554436

Bibliografía:

miércoles, 1 de octubre de 2014

Udev y nombrado de interfaces de red 2 - plantillas de máquinas virtuales


Anteriormente puse un articulo sobre este tema: Udev y nombrado de interfaces de red
Cuando tratamos con máquinas virtuales es posible que una máquina la utilicemos como plantilla
de otra, es decir, que clonemos esta máquina varias veces y utilicemos las clonadas.
Clonar una máquina virtual provoca que los interfaces de red generen nuevas mac (puesto que 
son nuevas tarjetas de red) y por tanto los nombres de interfaz no coincidan (desaparece eth0
y aparece eth1).
Para solucionarlo, en la maquina plantilla:
echo -n > /etc/udev/rules.d/70-persistent-net.rules
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
 
Antes de clonar asegurarse de eliminar del fichero 
/etc/sysconfig/network-scripts/ifcfg-eth0
la línea HWADDR=<MAC address of the network interface>
 
 
Bibliografía:
http://www.turnkeylinux.org/docs/virtualization/udev-persistent-net-generation
 

miércoles, 7 de mayo de 2014

Cómo puedo mejorar el rendimiento de Zimbra


Deshabilitar la capa SSL de seguridad en los procesos internos entre los servidores Zimbra (LDAPS, ...), normalmente es una red interna securizada por un firewall y de esta forma nos ahorramos RAM y proceso de CPU.
zmlocalconfig -e zimbra_require_interprocess_security=0

Heap Size 

Por lo general debe ser entre un 20% y un 30% de la memoria total del servidor. Sin pasarse de 6,4GB.Tener en cuenta que al servidor es preferible ampliar la RAM de Mysql.
Si tenemos 20GB le asignamos 5GB
zmlocalconfig -e mailboxd_java_heap_size=5120
Heap size reserved for classes
por defecto viene definido muy bajo 128 hay que ampliarlo a: 
-XX:PermSize=196m -XX:MaxPermSize=350m

CMS y GC

-XX:+UseConcMarkSweepGC -XX:+UseParNewGC
Uses the concurrent mark sweep collector (CMS) and the parallel new garbage collector (GC) together.

-XX:SoftRefLRUPolicyMSPerMB=1
This option helps evict entries from the caches held by the mailbox server. Not setting this option will result in softly reachable (ie, evictable) cache objects filling up the heap and causing out of memory errors.


Memoria de MySQL
nano /opt/zimbra/conf/my.cnf
#Ampliamos el buffer entre un 25% y un 35% de la memoria RAM total del #servidor

innodb_buffer_pool_size        = 7516192768

#Por defecto innodb_max_dirty_pages_pct = 90 
#Esto guarda muchas transacciones en memoria y cuando lo va 
#a escribir en el disco duro todo el sistema se enlentece. Si lo 
#bajamos al 10% escribe en disco más amenudo pero menos cantidad.
innodb_max_dirty_pages_pct = 10

Configurar DKIM en Zimbra 8

Generar una clave de registro DNS de tipo DKIM para el dominio midominio.es
zimbra@host:/root$ /opt/zimbra/libexec/zmdkimkeyutil -a -d midominio.es
DKIM Data added to LDAP for domain midominio.es with selector 4D23690A-D5CF-11E3-9562-BE9DEF34D14A
Public signature to enter into DNS:
4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIGfMA0GCSqG...." )  ; ----- DKIM key 4D23690A-D5CF-11E3-9562-BE9DEF34D14A for midominio.es


Dar de alta en el DNS el registro que nos ha generado el comando anterior:
si usas bind9 el registro dentro de la zona midominio.es sería el siguiente:
4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey.midominio.es.    IN    TXT    "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqG...."

Comprobar que se ha creado el registro DNS
nslookup -type=txt 4D23690A-D5CF-11E3-9562-BE9DEF34D14A._domainkey.midominio.es.

Comprobar que el registro DNS para DKIM funciona correctamente
/opt/zimbra/opendkim/sbin/opendkim-testkey -d midominio.es -s 4D23690A-D5CF-11E3-9562-BE9DEF34D14A -x /opt/zimbra/conf/opendkim.conf -vvv

Bibliografía:
http://tipstricks.itmatrix.eu/?p=1587

miércoles, 30 de abril de 2014

Cómo poner gráficas en el menu hover de Nagvis




Cuando usamos Nagvis se suele echar de menos las gráficas PNP, porque por defecto hacemos click en un host o servicio y después vamos al acceso directo de las gráficas.

Resulta que alguien ya había pensado en esto y propuso crear una plantilla para Nagvis.

Yo lo soluciono de la siguiente manera.
en default.hover.html añado el siguiente código justo antes de la última línea
<!-- END childs -->
<!-- BEGIN pnp4nagios -->
<tr>
        <td class="spacer" colspan="2"></td>
</tr>
<tr>
        <td colspan="2">
                <table>
                        <tr>
                                <th><label>Performance</label></th>
                        <tr>
                                <td>
                                        <img src=/pnp4nagios/image?host=[pnp_hostname]&srv=_HOST_&display=image&view=0&source=0>
                                </td>
                        </tr>
                </table>
        </td>
</tr>
<!-- END pnp4nagios -->
</table>

Esto tiene un inconveniente y es que en los servicios también se ve la gráfica HostPerformance. La solución es crear una nueva plantilla que modificaremos en aquellos servicios que queramos que muestren la gráfica.

cat pnp-service.hover.html
<table class="hover_table">
    <tr><th colspan="2">[lang_obj_type] ([lang_last_status_refresh]: [last_status_refresh])</th></tr>
    <tr><td class="label"><label>[lang_name]</label></td><td>[obj_name][obj_alias_braces]</td></tr>
    <!-- BEGIN service -->
    <tr><td class="label"><label>[lang_service_description]</label></td><td>[service_description]</td></tr>
    <!-- END service -->
    <!-- BEGIN host -->
    <tr><td class="label label[obj_state]"><label>[lang_state]</label></td><td class="state[obj_state]">[obj_state] [obj_in_downtime][obj_acknowledged] ([obj_state_type] - [obj_current_check_attempt]/[obj_max_check_attempts])</td></tr>
    <tr><td class="label"><label>[lang_output]</label></td><td>[obj_output]</td></tr>
    <tr><td class="label"><label>[lang_last_check]</label></td><td>[obj_last_check]</td></tr>
    <tr><td class="label"><label>[lang_next_check]</label></td><td>[obj_next_check]</td></tr>
    <tr><td class="label"><label>[lang_last_state_change]</label></td><td>[obj_last_state_change]</td></tr>
    <!-- END host -->
    <tr><td class="label label[obj_summary_state]"><label>[lang_summary_state]</label></td><td class="state[obj_summary_state]">[obj_summary_state] [obj_summary_in_downtime][obj_summary_acknowledged]</td></tr>
    <tr><td class="label"><label>[lang_summary_output]</label></td><td>[obj_summary_output]</td></tr>
    <!-- BEGIN service -->
    <tr><td class="label"><label>[lang_last_check]</label></td><td>[obj_last_check]</td></tr>
    <tr><td class="label"><label>[lang_next_check]</label></td><td>[obj_next_check]</td></tr>
    <tr><td class="label"><label>[lang_last_state_change]</label></td><td>[obj_last_state_change]</td></tr>
    <!-- END service -->

<!-- BEGIN pnp4nagios -->
<tr>
        <td class="spacer" colspan="2"></td>
</tr>
<tr>
        <td colspan="2">
                <table>
                        <tr>
                                <th><label>PNP-Graph</label></th>
                        <tr>
                                <td>
                                        <img src=/pnp4nagios/image?host=[pnp_hostname]&srv=[pnp_service_description]&display=image&view=0&source=0>
                                        <br>
                                        <img src=/pnp4nagios/image?host=[pnp_hostname]&srv=[pnp_service_description]&display=image&view=0&source=1>
                                </td>
                        </tr>
                </table>
        </td>
</tr>
<!-- END pnp4nagios -->


</table>

Posteriormente vamos al mapa de Nagvis desbloqueamos(unlock) un servicio pulsando boton derecho unlock, volvemos a pulsar botón derecho sobre el servicio, le damos a modificar y cambiamos los siguientes parametros (hover_menu y hover_template).
 





Pulsamos en Guardar












Volvemos a pulsar botón derecho sobre el icono del servicio y pulsamos bloquear (lock).










Recargamos la página y al pasar el ratón por encima del icono del servicio modificado, deberíamos ver las gráficas del servicio.