В общем нужно было проверять Nagios’ом не только порт фтп на удаленном хосте, но и работоспособность определенного аккаунтa FTP. Т.е. чтобы check_ftp заходил на FTP сервер и логинился под определенным юзером.
Существующая утилитка check_ftp из набора Nagios Plugins на момент написания статьи не умела делать логин. Точнее утилитки как таковой там и нет, там просто стоит симлинк check_ftp -> check_tcp.
По сему утилитка была написана на Perl с использованием и .
Может так же использоваться как пример написания Nagios Plugins на Perl в виду простоты кода.
Сырец:
Пользоваться так.
1. Скопировать в диру с плагинами Nagios
2. Поставить чмод 755
3. Убедиться что стоят перловые модули Net::FTP и Nagios::Plugin (т.е. запустить утилитку и если все ок, она выдаст USAGE)
4. Прописать команду в commands.cfg:
define command{
command_name check_ftp_login
command_line $USER1$/check_ftp -H '$ARG1$' -u '$ARG2$' -p '$ARG3$'
}
define service{
use remote-service
host_name ВАШХОСТ
service_description FTP LOGIN
check_command check_ftp_login!ftp.foobar.com!FTP_LOGIN!FTP_PASSWORD
normal_check_interval 10
}