Мониторинг ASA 5512 ips nagios

KennY

Случайный прохожий
Доброго времени суток. В наличии имеется две cisco asa 5512 (active/standby) с модулями IPS, через которые юзеры попадают в интернет. Можно ли как то мониторить nagios состояние модулей IPS, загрузку CPU, памяти?
 

Surf_rider

Администратор
Команда форума
Можно конечно. Какая у вас система???
Объясню на freebsd поскольку у меня установлено на ней.
1. Скачивайте файлик check_cisco_ips.pl , кладете его в /usr/local/libexec/nagios
2. Добавляем команды в /usr/local/etc/nagios/objects/commands.cfg
Код:
#Cisco ASA Commands
define command{
command_name    check_asa_interface
command_line    $USER1$/check_cisco_asa.pl -H $HOSTADDRESS$ -c $ARG1$ -n $ARG2$
}
define command{
command_name    check_asa_version
command_line    $USER1$/check_cisco_asa.pl -H $HOSTADDRESS$ -c $ARG1$ -m d
}
define command{
command_name    check_asa_uptime
command_line    $USER1$/check_cisco_asa.pl -H $HOSTADDRESS$ -c $ARG1$ -m u
}
#Cisco IPS Commands
define command{
command_name    check_ips_cpu
command_line    $USER1$/check_cisco_ips.pl -H $HOSTADDRESS$ -C $ARG1$ -2 -w $ARG2$ -c $ARG3$ -T cpu
}
define command{
command_name    check_ips_health
command_line    $USER1$/check_cisco_ips.pl -H $HOSTADDRESS$ -C $ARG1$ -2 -w $ARG2$ -c $ARG3$ -T health
}
define command{
command_name    check_ips_mem
command_line    $USER1$/check_cisco_ips.pl -H $HOSTADDRESS$ -C $ARG1$ -2 -w $ARG2$ -c $ARG3$ -T mem
3. Создаем хост файл допустим IPS.cfg
Код:
define host{
        use             generic-switch          ;
        host_name       IPS1            ;
        alias           IPS1    ;
        address         172.30.0.1          ;
        hostgroups      switches                ;
        }

define service{
        use                     generic-service ; Inherit values from a template
        host_name               IPS1    ; The name of the host the service is associated with
        service_description     PING            ; The service description
        check_command           check_ping!200.0,20%!600.0,60%  ; The command used to monitor the service
        normal_check_interval   5               ; Check the service every 5 minutes under normal conditions
        retry_check_interval    1               ; Re-check the service every minute until its final/hard state is determined
        }

define service{
use                                       generic-service
host_name                  IPS1
service_description     CPU
check_command           check_ips_cpu!cisco!70%,50%,40%!90%,70%,50%
normal_check_interval   5
retry_check_interval       1
}

define service{
use                                       generic-service
host_name               IPS1
service_description     Health
check_command           check_ips_health!cisco!1,0,1,1!0,1,5,5
normal_check_interval   5
retry_check_interval       1
}

define service{
use                                       generic-service
host_name               IPS1
service_description     Sensor Memory Usage
check_command           check_ips_mem!cisco!60%!80%
normal_check_interval   5
retry_check_interval       1
}
4. Перезапускаем нагиос, смотрим чо получилось
Код:
/usr/local/etc/rc.d/nagios stop
/usr/local/etc/rc.d/nagios start
Во вложении в файлике указаны OID для ASA 5520
Т. Е. если у вас 5512 то надо поменять в файлике check_cisco_ips.pl это

Код:
# Cisco IPS CPU
my $cisco_cpu_5m = "1.3.6.1.4.1.9.9.109.1.1.1.1.8.1"; # Cisco CPU load (5min %)
my $cisco_cpu_1m = "1.3.6.1.4.1.9.9.109.1.1.1.1.7.1"; # Cisco CPU load (1min %)
my $cisco_cpu_5s = "1.3.6.1.4.1.9.9.109.1.1.1.1.6.1"; # Cisco CPU load (5sec %)
# Cisco IPS Memory
my $cisco_mem_used = "1.3.6.1.4.1.9.9.221.1.1.1.1.7.1.1"; # Cisco Mem Used
my $cisco_mem_free = "1.3.6.1.4.1.9.9.221.1.1.1.1.8.1.1"; # Cisco Mem Free
на вот это
Код:
my $cisco_cpu_5m = "1.3.6.1.4.1.9.9.109.1.1.1.1.3.1"; # Cisco CPU load (5min %)
my $cisco_cpu_1m = "1.3.6.1.4.1.9.9.109.1.1.1.1.4.1"; # Cisco CPU load (1min %)
my $cisco_cpu_5s = "1.3.6.1.4.1.9.9.109.1.1.1.1.5.1"; # Cisco CPU load (5sec %)

my $cisco_mem_used = "1.3.6.1.4.1.9.9.48.1.1.1.5.1"; # Cisco Mem Used
my $cisco_mem_free = "1.3.6.1.4.1.9.9.48.1.1.1.6.1"; # Cisco Mem Free
Для health status нужных OID не нашел. Посмотреть вложение check_cisco_ips.zip
 

KennY

Случайный прохожий
Все сделал как вы сказали. Вылезает ошибка

Код:
Argument "v6.0.1" isn't numeric in numeric lt (<) at ./check_cisco_ips.pl
 

Surf_rider

Администратор
Команда форума
Ах да. Попробуйте проверить скрипт pl вот так- в командной строке запускаем
Код:
 ./check_cisco_ips.pl -H ipадрес цыски -C ваше community -2 -T cpu -w 70%,50%,40% -c 90%,70%,50%
Если опять получите ошибку то там будет написано в какой строке, нужно будет поменять знаки < или > на lt и dt в этой строке.
Потом опять запускаем скрипт командой выше.
Вот так выглядит нормальный вывод.
Код:
Cisco IPS CPU : 5sec = 0 %, 2min = 0 %, 5min = 0 % : OK
а так не здоровый
Код:
Argument "v6.0.1" isn't numeric in numeric lt (<) at ./check_cisco_ips.pl line 312
 
Верх Низ