Так как я уже задавал этот вопрос на askubuntu, но никто не ответил в течение недели, возможно, здесь кто-то знает ответ (https://askubuntu.com/questions/462162/nagios-plugin-check-radius-missing-in-ubuntu-14-04).
Недавно я обновил наш Nagios-Server с Ubuntu LTS 12.04.04 до 14.04 — хотя я знаю, что эта миграция не поддерживается.
Все работает отлично, но наша проверка Radius-Check не удалась... и теперь я знаю почему: исполняемый файл «check_radius» отсутствует в /usr/lib/nagios/plugins — похоже, он был удален во время обновления.
Кто-нибудь знает почему, как его вернуть или заменить?
Поскольку это UDP-протокол, я не могу выполнить проверку портов.
содержимое /usr/lib/nagios/plugins:
check_apt check_dns check_icmp check_log check_nt check_procs check_spop negate
check_breeze check_dummy check_ide_smart check_mailq check_ntp check_real check_ssh urlize
check_by_ssh check_file_age check_ifoperstatus check_mrtg check_ntp_peer check_rpc check_ssmtp utils.pm
check_clamd check_flexlm check_ifstatus check_mrtgtraf check_ntp_time check_rta_multi check_swap utils.sh
check_cluster check_fping check_imap check_mysql check_nwstat check_sensors check_tcp
check_dbi check_ftp check_ircd check_mysql_query check_oracle check_simap check_time
check_dhcp check_game check_jabber check_nagios check_overcr check_smb check_udp
check_dig check_host check_ldap check_nntp check_pgsql check_smb_shares.pl check_ups
check_disk check_hpjd check_ldaps check_nntps check_ping check_smtp check_users
check_disk_smb check_http check_load check_nrpe check_pop check_snmp check_wave
решение1
Загрузите его здесь: обмен нагиос
Оттуда вы также можете получить множество других плагинов.
В зависимости от настроек Nagios вам может потребоваться сделать файл исполняемым для пользователя демона Nagios.
Как вы уже поняли, это похоже на ошибку:
решение2
Я использовал этот скрипт
- "https://gist.github.com/djjudas21/cd1e7bfee44fb879855d#file-check_radius_status-pl"
но все еще получаю это сообщение в nagios (НЕИЗВЕСТНО - Не удалось опросить статус сервера RADIUS). Пример ответа, показанный в скрипте, отличается
-Образец ответа
Получен ответ с идентификатором 183, кодом 2, длиной = 344
FreeRADIUS-Всего-Запросов-На-Доступ = 517
FreeRADIUS-Всего-Доступ-Принимает = 1047
-Реальный пример ответа
Получен идентификатор Access-Accept 162 от 192.168.255.10:18121 до 0.0.0.0:0 длиной 344
FreeRADIUS-Всего-Запросов-На-Доступ = 3191
FreeRADIUS-Всего-Доступ-Принимает = 353
Итак, я изменил скрипт perl вот так, и он отлично работает. Я не эксперт в perl, но вот изменения, которые я сделал.
- мой $return =
/bin/echo "Message-Authenticator = 0x00, FreeRADIUS-Statistics-Type = 7" | /usr/bin/radclient $ip:$port status $secret -x
;
..........
- мои @lines = split /\n/, $return;
- мое $message = shift(@lines);
- мое $message1 = shift(@lines);
- мое $message2 = shift(@lines);
- $message2 = сдвиг(@lines);
- если ($message2 && $message2 =~ m/^Получен идентификатор принятия доступа/) {
.....
......
- если ($line =~ m/=/ && $line !~ m/^Получен идентификатор принятия доступа/) {
Не забудьте активировать статус сайта на сервере Radius, создав ссылку или скопировав sites-available/status в sites-enabled
С наилучшими пожеланиями