Monitorizando un firewall Fortigate desde Centreon

En este post veremos cómo monitorizar nuestros firewalls de Fortigate desde un Centreon o Nagios o lo que tengamos 🙂 Lo haremos mediante consultas SNMP  y vamos a poder conocer en todo momento el estado su chasis, el estado del clúster si es que lo tenemos, el uso y consumo de las interfaces de red, si disponemos de VPNs lo mismo, saber si se caen, las sesiones, etc, etc… si tienes un Fortigate, este es tu post!

 

Habilitando SNMP en el Fortigate,

 

Antes de comenzar a monitorizar debemos habilitar SNMP en el firewall de Fortigate, los logueamos en la web de administración y desde el menú “System” > “SNMP”, deberemos habilitar el ‘SNMP Agent’ y en este caso habilitaré SNMP v2c, lo hacemos pulsando en “Create New”.

 

 

Indicamos el nombre de la comunidad, la IP a la que permitirá consultas (nuestra máquina de monitorización) e indicamos que permita únicamente consulas con ‘Accept queries only’. “OK”,

 

 

Tendremos en cuenta que hay que indicar la interfaz de red del Fortigate por la que se le harán consultas, para ello, desde “Network” > “Interfaces”, seleccionamos la red donde está nuestra máquina Centreon o Nagios, en mi caso la pata LAN, y marcamos el tick de SNMP en ‘Administrative Access’. “OK”,

 

Instalando el Plugin para monitorizar Fortigate,

Bien, en nuestra máquina Centreon, debemos descargar el script que vamos a usar para monitorizar estos cacharros, usaremos check_fortigate.pl, un pedazo script de Oliver Skibbe que nos permitirá monitorizar no sólo los dispositivos Fortigate, si no que los FortiMail o FortiAnalyzer si es que también los tenemos. Si ejecutamos lo siguiente nos instalaremos los requisitos, nos descargaremos el script, lo hacemos ejecutable, lo dejaremos donde debe ser 🙂 creamos un directorio necesario y cambiamos sus permisos:

cpan -i List::Compare
wget https://raw.githubusercontent.com/riskersen/Monitoring/master/fortigate/check_fortigate.pl
chmod +x check_fortigate.pl
mv check_fortigate.pl /usr/lib/centreon/plugins/
mkdir -p /var/spool/nagios/ramdisk/FortiSerial
chown centreon-engine:centreon-engine /var/spool/nagios/ramdisk/FortiSerial/ -R

 

Podéis probar ejecutando check_fortigate.pl -h para ver todas las posibilidades que os da el script, aquí veremos algunas de las más interesantes!

 

Ya en Centreon, crear los Comandos,

Vamos a crear los 2 Comandos que necesitaremos para poder obtener los valores de las métricas, uno de ellos llevará valores de Warning y de Crítical por si queremos personalizar los valores a la hora de crear los Servicios.

 

Lo dicho, desde “Configuration” > “Commands” creamos 2 Comandos:

  • Command Name: check_fortigate.pl_wc
  • Command Type: $CENTREONPLUGINS$/check_fortigate.pl -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -T $ARG1$ -w $ARG2$ -c $ARG3$
  • Argumentos: Creamos 3 argumentos, pulsamos en “Describe arguments” y los damos de alta: ARG1 : Tipo, ARG2 : Warning y ARG3 : Critical.

 

  • Command Name: check_fortigate.pl
  • Command Type: $CENTREONPLUGINS$/check_fortigate.pl -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -T $ARG1$
  • Argumentos: Creamos 1 argumento, pulsamos en “Describe arguments” y le damos de alta: ARG1 : Tipo

 

 

Crear el Host,

 

Simplemente tendremos que dar de alta en nuestro Centreon nuestro firewall de Fortigate, no? Para ello crearemos el Host desde “Configuration” > “Hosts”. Si disponemos de un clúster de firewalls lo que se monitoriza en todo momento es el FW activo, y no el pasivo; por tanto, damos de alta la IP de nuestro clúster y luego ya veremos cómo monitorizar los firewalls esclavos. Indicamos como siempre su nombre, su dirección IP, comunidad SNMP y la versión. Lo asociamos a nuestra plantilla administrativa y listo!

 

Crear los Servicios,

Ahora tenemos que crear tantos Servicios como ítems querramos monitorizar (que si la CPU, memoria…), os dejo muy brevemente un resumen de los Servicios que estoy usando yo, con el Comando que van asociado y los argumentos que necesitan.

 

 

Para saber el estado de la salud del clúster crearemos este servicio:

  • Description: Cluster
  • Check Command: check_fortigate.pl
  • Argumento: Cluster

 

 

Para saber el uso de CPU, creamos este servicio:

  • Description: CPU
  • Check Command: check_fortigate.pl_wc
  • Argumentos: CPU, 80, 90.

 

Para saber el consmumo de Memoria RAM, creamos este servicio:

  • Description: MEM
  • Check Command: check_fortigate.pl_wc
  • Argumentos: CPU, 80, 90.

 

Bien, si queremos monitorizar el consumo de cualquier interfaz, sean físicas como las WAN1 o WAN2, la DMZ, boca de MANAGEMENT o las interfaces de HA, las VLAN o VPN, podremos previamente saber a qué ID de interfaz corresponderá qué red, para ello, simplemente desde la shell del Centreon ejecutamos:

snmpwalk -Os -c COMUNIDAD_SNMP -v 2c DIRECCION_IP_FORTIGATE | grep ifName.

 

 

Y listo, creamos tantos Servicios como interfaces querramos monitorizar, por ejemplo la WAN1 de mi forti que es una línea de fibra que va a 600Mb:

  • Description: Interfaz WAN1
  • Check Command: check_centreon_snmp_traffic_id
  • Argumentos: 3, 80, 90, 2, 300.

Nota, este Comando si no lo tienes, lo vimos en un post anterior, cuando monitorizabamos las interfaces de red de un Windows, Linux…

 

 

Para saber el estado de las conexiones VPN, podremos mirarlo de manera individual si nos interesase, por tipo de VPN, si son IPSEC o SSL… pero en este ejemplo lo muestro de manera global, tengo 3 VPNs levantadas y con que me avise si se cae alguna ya vale, no?

  • Description: VPNs
  • Check Command: check_fortigate.pl
  • Argumentos: VPN

 

 

 

Si queremos conocer las Sesiones activas que tiene el firewall pues esto mismo… pero ojo! que ahora te digo un truco, si quieres conocer las métricas del otro firewall, vaya, del pasivo, que sepas que metiendo un ‘-s’ al final lo obtendrás, lo cuqui es haber hecho un Comando para ello, pero si te interesa lo dicho, saber la CPU del esclavo o lo que fuere, haces como en la imagen de arriba.

  • Description: Sesiones
  • Check Command: check_fortigate.pl_wc
  • Argumentos: ses, 2000, 3000.

 

 

Resultado!

 

Badaboom! Aquí tenemos el resultado de lo que estaríamos monitorizado, una vez creados todos los servicios y grabada la configuración, veremos el resultado! Una maravilla! Tenemos ya los fortis monitorizados! Espero os haya gustado 🙂

 

Héctor Herrero

Autor del blog Bujarra.com
Cualquier necesidad que tengas, no dudes en contactar conmigo, os intentare ayudar siempre que pueda, compartir es vivir 😉 . Disfrutar de los documentos!!!

Últimos Posts de: Héctor Herrero (ver todos)