VMWare 6 VSCA: Monitorización con snmp

En las anteriores versiones de vmware, para hacer una monitorización estándar con snmp, era necesario instalar a través de yast los paquetes de snmp.

https://thwack.solarwinds.com/thread/70271

En la versión 6 hay algunos cambios.

VSCA Snmp en puerto 161

Viene con snmp instalado y corriendo en el puerto 161, pero sólo para envío de traps. No permite hacer llamadas get.

http://pubs.vmware.com/vsphere-60/index.jsp#com.vmware.vsphere.vcsa.doc/GUID-04815BDB-5AF6-4067-A471-28E7F1800C78.html

VSCA Snmp en puerto no estándar

Sin  embargo, se puede poner un segundo servicio de snmp, que sí responde a peticiones Get en cualquier otro puerto:

Command> snmp.set --port 49160
Command> snmp.set --communities mycommunity

Con esto, ya se puede integrar la monitorización en un sistema como nagios.

F5 LTM: Migración a versión 11.6.0 HF3

f5.2.5

Aviso: En el momento de hacer este tutorial, la versión 11.6.0 resultó absolutamente inestable y decidimos volver a la versión 11.5, pese a la falta de monitorización.

Hemos tenido un problema con la versión 11.5, y la monitorización mediante nagios. Básicamente, al recoger los identificadores de ltm, han dejado de responder mediante snmp:

snmpwalk  -v 2c -c $community $host .1.3.6.1.4.1.3375.2.2.5.5

Por ello, nos lanzamos a la migración a la versión 11.6

Pasos en la migración

Descargamos los archivos de la web de F5

Esta vez, para subir los archivos, lo haremos directamente por scp, a la carpeta /shared/images.

[root@server:Active:In Sync] config # ls /shared/images/
BIGIP-11.5.1.0.0.110.iso  Hotfix-BIGIP-11.5.1.7.0.167-HF7.iso  Hotfix-BIGIP-11.6.0.3.36.412-HF3-ENG.iso
BIGIP-11.6.0.0.0.401.iso  Hotfix-BIGIP-11.6.0.3.0.412-HF3.iso

Verificamos que en la interfaz web aparezcan:

imagen de disco

hotfix
hotfix

Instalamos la imagen en alguna partición en ambos nodos y activamos

f5.2.4

Dejamos el pasivo con los virtual servers, y rompemos el grupo de disponibilidad. Para ello, solemos utilizar la funcionalidad “Reset Device group”.

A partir de este momento, ambos elementos están aislados, y cada uno, de forma manual debe tener sus Virtual Server sin que haya conflicto de IPs.

f5.2.5

A partir de aquí, cuando tengamos probados los virtual servers en la nueva versión, ya se puede re-crear el grupo de sincronización y

 Resultado de la migración

Al hacer las pruebas de estrés de los servidores virtuales, detectamos que la interfaz es absolutamente inestable.

Parece tener problemas de pérdida de memoria, y dan errores de buffer las peticiones a partir de las 300 peticiones en 10 threads simultáneos.

Por ello, volvemos a la versión 11.5 a la espera de nuevos hotfix en versión 11.6

Conociendo Centos 7

Configuración de red

Desaparece system-config-network y aparece nmtui como forma de configurar la red.

Los interfaces pasan de llamarse eth0, eth1… a tener unos nombres horrorosos como eno230032.

Para que coja la ruta, debe estar sin marcar la casilla ”Never use this network for deault route”

Después de cambios en interfaces:

systemctl network restart

Si no tenemos ips por dhcp, hay que verificar que en el fichero /etc/sysconfig/network-scripts/ifcfg-eno230032 esté bootproto a none y no a dhcp:

BOOTPROTO=none

Si seguimos teniendo problemas de red, hay que verificar la conexión

ifconfig; route

 

Configuración del proxy para yum:

En el fichero  /etc/yum.conf se añade la línea:

proxy=http://proxy.organizacion.com:80

Instalación de emacs

Por que sí, yo uso emacs:

yum install -y emacs

Permitir acceso a root por ssh:

[root@template ~]# grep -i root /etc/ssh/sshd_config
PermitRootLogin yes

Instalar repositorio EPEL para paquetes extras:

rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

 

Instalar vmware tools desde repositorio:

Mucho más cómodo que montando una ISO desde la plataforma de virtualización:

yum install open-vm-tools

Monitorización

yum install facter snmp-net

Añadir rpm remi

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7*.rpm 

Instalar fusion inventory agent

Necesitamos añadir el repositorio de guillomovitch para poder instalar estos paquetes

wget http://download.opensuse.org/repositories/home:/guillomovitch/CentOS_7/home:guillomovitch.repo

yum -y install fusioninventory-agent

 

 

Vmware powercli: Scripts útiles

Los scripts aquí definidos están para descargar en github.

Activar y desactivar de forma masiva ssh en los hosts

Desde la 4.1, se puede activar ssh, sin necesidad de entrar por las ilos de los servidores.

Es importante el -Confirm $false, por que si no , pregunta 100 veces.

Nos hemos basado en esta utilísima entrada de techshifter

Get-Cluster | Foreach {
$cl=$_
Get-Cluster -name $cl | Get-VMHost | Foreach {
# Start-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } )
# Stop-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } ) -Confirm:$false
}
}

Activar snmp de forma masiva en todos los nodos

Este script es algo más complicado, porque es necesario iniciar sesión contra el servidor vcenter, y depués contra cada uno de los hosts.

F5. Monitorización del estado de un nodo de un pool en F5

Hemos llegado a un punto en que la monitorización del propio nodo está bien, pero a nivel de F5 puede estar deshabilitado. Hay dos razones para ello:

  • Un usuario lo ha configurado manualmente (Force Offline)
  • El monitor lo está marcando abajo.

Para ello, hemos desarrollado un script de nagios capaz de monitorizar en todo momento el estado del nodo en un pool concreto del F5:

check_bigip_node_status.sh

La verficación se basa en snmp, por lo que es necesario tener activado snmp en los F5, tener configurado una community, y tener visibilidad entre el motor de nagios y los F5 por el puerto 161 (snmp)-

Ejemplos de uso:

./check_bigip_node_status.sh -h bigip-p community -P Pool -n node

Para funcionar, requiere que tengamos cargados las MIBS de f5 en el directorio de snmp:

/usr/share/snmp/mibs/F5-BIGIP-APM-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-LOCAL-MIB.txt
/usr/share/snmp/mibs/F5-EM-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-COMMON-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-SYSTEM-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-GLOBAL-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-WAM-MIB.txt

 

Iptables: Configuración mínima

En CentOS 5.7 el archivo de configuración es /etc/sysconfig/iptables

Ver la configuración actual

iptables -L

Crear reglas básicas:

# Tráfico saliente

iptables -P OUTPUT ACCEPT

# ICMP

iptables -A INPUT  -p icmp -j ACCEPT

# http  https

iptables -A INPUT  -m state –state NEW -p tcp –dport 80 -j ACCEPT
iptables -A INPUT  -m state –state NEW -p tcp –dport 443 -j ACCEPT

# Remote SSH

iptables -A INPUT  -m state –state NEW -p tcp –dport 22 -j ACCEPT

# Snmp
iptables -A INPUT  -m state –state NEW -p tcp –dport 161 -j ACCEPT

# Transparent proxy  redirect 136.201.105.2 —> 10.0.0.1:80

iptables -t nat -A PREROUTING -p tcp -d 136.201.105.2 --dport 80 -j DNAT --to 10.0.0.1:80
iptables -t nat -A POSTROUTING -d 10.0.0.1 -j MASQUERADE

Configurar las reglas con persistencia

/sbin/service iptables save

Configurar iptables para ejecutar al inicio

chkconfig iptables on

 

F5. Monitorización de tmm mem con snmp

Para poder extraer el valor de la memoria que usa un f5 bigip tmm en un momento dado desde nagios, se ha desarrollado a medida un script que usa los valores de la MIB propia de f5.

Para hacer búsquedas de valores en la MIB de f5, os recomiendo mibbrowser  y cargar las MIBS propias de los f5.

Los OID que yo he utilizado para este script son:

  • .1.3.6.1.4.1.3375.2.1.1.2.21.37.0  sysGlobalTmmStatMemoryUsedKb.0
  • .1.3.6.1.4.1.3375.2.1.1.2.21.38.0 sysGlobalTmmStatMemoryTotalKb.0

Finalmente, el script / plugin / check para nagios es:

check_bigip_snmp_mem.sh

Para funcionar, requiere que tengamos cargados las MIBS de f5 en el directorio de snmp:

/usr/share/snmp/mibs/F5-BIGIP-APM-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-LOCAL-MIB.txt
/usr/share/snmp/mibs/F5-EM-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-COMMON-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-SYSTEM-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-GLOBAL-MIB.txt
/usr/share/snmp/mibs/F5-BIGIP-WAM-MIB.txt