Mostrando entradas con la etiqueta como. Mostrar todas las entradas
Mostrando entradas con la etiqueta como. Mostrar todas las entradas

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

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

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.
 



martes, 12 de marzo de 2013

Backup programado de los equipos CISCO usando TFTP

A veces se nos puede olvidar realizar el típico write mem o copy running-config startup-config y ya no te digo nada si tienes que copiar la configuración al servidor tftp (que si no me acuerdo de la IP, ...).

Por eso puedes tomar la decisión de que todos los días se guarde la configuración actual "copy runnig-config startup-config" y además esta configuración la copiamos a un servidor TFTP.

La variable $h indica el nombre del host (router, switch, ...). Recomiento aprovechar para crear carpetas en el servidor TFTP, una para cada host.

La variable $t indica la fecha y hora a la que se realiza la copia de la configuración.


De esta forma obligamos a que se guarde una copia de la configuracion cada vez que realizamos write mem.
archive
 path tftp://IP_SERVIDOR_TFTP/$h/$h-$t
 write-memory


Programamos una tarea que guarda la configuración que se esta ejecutando:

kron policy-list backup
 cli write memory

Programamos la ejecución de la tarea a las 0h todos los días:
kron occurrence backup at 0:00 recurring
 policy-list backup

En principio todas las configuraciones son texto y no deberían ocupar mucho pero si programamos una copia al día son 365 configuraciones al año. Tened cuidado con que no se llene el servidor TFTP, pues dejaría de hacer copias de las configuraciones.


Bibliografía:
http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_tech_note09186a008020260d.shtml#ab
http://www.certificationkits.com/cisco-certification/Cisco-CCNP-TSHOOT-Complex-Network-Maintenance.html

jueves, 7 de marzo de 2013

Servidor TFTP en Ubuntu con permisos de escritura

Mucho hardware de red todavía utiliza TFTP para subir y bajar configuraciones y para copiar firmware, etc.
Existen pequeños programas para windows que como administrador de sistemas te sacan del apuro cundo los necesitas, pero en este articulo trataremos de explicar como configurar un servidor TFTP en Ubuntu.


Elegimos tftpd-hpa por que no tiene limitacion de 32MB (atftpd la tiene) y por que permite que utilicemos los comandos put y get.

Instalamos el cliente tftp, y los demonios tftpd-hpa y xinetd
apt-get install tftp tftpd-hpa xinetd

Una vez instalado configuramos los siguiente archivos de la siguiente manera:
root@hostname:~# nano /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
#la opción --create es la que permite                               #que se puedan crear archivos cuando realizamos put
TFTP_OPTIONS="--secure --create"



root@hostname:~#nano /etc/inetd.conf
#FIJAROS QUE ESTA TODO COMENTADO
# /etc/inetd.conf:  see inetd(8) for further informations.
#
# Internet superserver configuration database
#
#
# Lines starting with "#:LABEL:" or "#<off>#" should not
# be changed unless you know what you are doing!
#
# If you want to disable an entry so it isn't touched during
# package updates just comment it out with a single '#' character.
#
# Packages should modify this file by using update-inetd(8)
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
#:INTERNAL: Internal services
#discard                stream  tcp     nowait  root    internal
#discard                dgram   udp     wait    root    internal
#daytime                stream  tcp     nowait  root    internal
#time           stream  tcp     nowait  root    internal
#:STANDARD: These are standard services.
#:BSD: Shell, login, exec and talk are BSD protocols.
#:MAIL: Mail, news and uucp services.
#:INFO: Info services
#:BOOT: TFTP service is provided primarily for booting.  Most sites
#       run this only on machines acting as "boot servers."
#:RPC: RPC based services
#:HAM-RADIO: amateur-radio services
#:OTHER: Other services

Por si acaso alguno tiene iniciativa recordar que NO hay que crear un archivo dentro de la ruta /etc/xinet.d/tftpd o algo parecido

A continuación creamos los directorios necesarios y asignamos los  permisos adecuados.
root@hostname:~# sudo mkdir /var/lib/tftpboot
root@hostname:~# sudo chmod -vfR 777 /var/lib/tftpboot
root@hostname:~# sudo chown -vfR tftp:tftp /var/lib/tftpboot

Reiniciamos los servicios
root@hostname:~# sudo service xinetd stop;sudo service tftpd-hpa stop;sudo service tftpd-hpa start;sudo service xinetd start

Comprobamos que se esta ejecutando el servicio TFTPD
root@hostname:~# ps -aux | grep tftpd
root     29285  0.0  0.0  15088   332 ?        Ss   20:07   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure --create /var/lib/tftpboot
root@hostname:~# netstat -nap | grep tftp
udp        0      0 0.0.0.0:69              0.0.0.0:*                           29285/in.tftpd
unix  2      [ ]         DGRAM                    98078    29285/in.tftpd

Ahora podemos probar el tftp con el cliente
root@hostname:~# tftp 127.0.0.1
tftp> ?
Commands may be abbreviated.  Commands are:

connect         connect to remote tftp
mode            set file transfer mode
put             send file
get             receive file
quit            exit tftp
verbose         toggle verbose mode
trace           toggle packet tracing
status          show current status
binary          set mode to octet
ascii           set mode to netascii
rexmt           set per-packet retransmission timeout
timeout         set total retransmission timeout
?               print help information
tftp> get prueba1.txt
Received 9350 bytes in 0.0 seconds
tftp> put prueba2.txt
Sent 9350 bytes in 0.0 seconds

tftp> quit