Задача: Хочу поставить на мониторить сервис ProFTPd

Постепенно наращиваю функционал своего мониторинга на базе Zabbix 5.0 LTS, в частности решил поставить сервис организации FTP доступа на сайте компании, хотя как по мне проще использовать то то есть, а именно SCP и только одна точка входа, но раз мой начальник привык к FTP, то никуда не деться. Хотя! На всех новых порталах которые я выполняют по задачам FTP нет, только SCP. Ну да ладно, сегодня соберу стенд и разберу как поставить сервис на мониторинг.

В данной заметке будут использовать две виртуальные машины с сервисами:

  • srv-bionic: 172.33.33.102 (ProFTPd)
  • srv-zabbix: 172.33.33.112 (Zabbix 5.0 LTS)

Шаг №1: Сервис ProFTPd установлен на Ubuntu 18.04 Server опираясь на свою заметку.

Как применять ProFTPD на Ubuntu 18.04

Шаг №2: Заходим в добавленный хост и создаем Webсценарий:

http://IP&DNS — user&pass — Configuration — Hosts — srv-bionic — Create web scenario вкладка Scenario

  • Name: Web
  • Update interval: 1m
  • Attemps: 5
  • Agent: Zabbix
  • Enabled: отмечаем галочкой

вкладка Steps — Add

  • Name: FTP Check
  • URL: ftp://ftp1:Aa1234567@172.33.33.102:21
  • Post type: Form data
  • Retrieve mode: Body
  • Timeout: 15s
  • Required status code: 226

и после нажимаю Add, а затем Add

данный код 226 получается когда мы успешно авторизуемся на хосте, к примеру:

ekzorchik@srv-dbionic:~$ ftp 172.33.33.102 21

Connected to 172.33.33.102.

220 ProFTPD 1.3.5e Server (srv-bionic) [172.33.33.102]

Name (172.33.33.102:ekzorchik): ftp1

331 Password required for ftp1

Password:

230 User ftp1 logged in

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

200 PORT command successful

150 Opening ASCII mode data connection for file list

-rwxrwx--- 1 33 www-data 612 Nov 26 20:38 index.nginx-debian.html

226 Transfer complete

Шаг №3: Создаю триггер на проверку:

http://IP&DNS — user&pass — Configuration — Hosts — srv-bionic — Triggers — Create trigger вкладка Triggers

  • Name: FTP Check
  • Severity: High
  • Expression: {srv-bionic:web.test.fail[Web].last()}>0
  • OK event generation: Expression
  • PROBLEM event generation mode: Single
  • OK event closes: All programs
  • Allow manual close: отмечаю галочкой
  • Enabled: отмечаю галочкой

и нажимаю Add

Шаг №4: Смотрим последние данные:

http://IP&DNS — user&pass — Monitoring — Latest data -

Hosts: Select — нахожу свой узел srv-bionic и нажимаю Apply

Информация по сервису ProFTPd в Zabbix 5.0 LTS

Шаг №5: Если остановить сервис ProFTPd, то сработает мониторинг:

ekzorchik@srv-bionic:~$ sudo systemctl stop proftpd.service

http://IP&DNS — user&pass — Monitoring — Dashboard

Сервис ProFTPd остановлен и сработал триггер

ekzorchik@srv-bionic:~$ sudo systemctl start proftpd.service

Триггер пропадает

Шаг №6: Еще можно настроить элемент данных на простую проверку порта 21:
Возвращаемые значения net.tcp.service

0 сервис недоступен
1 сервис доступен

http://IP&DNS — user&pass — Configuration — Hosts — srv-bionic — Items — Create item вкладка Item

  • Name: FTP Service
  • Type: Simple check
  • Key: net.tcp.service[ftp,,21]
  • Host interface: 172.33.33.102:8
  • Type of information: Numeric (unsigned)
  • Update intervals: 30s
  • Custom intervals: Flexible
  • History storage period: Storage period: 90d
  • Trend stroage period: Storage period: 365d
  • Show valud: выбираю Service State
  • Enabled: отмечаю галочкой

и нажимаю Add

теперь в Последних данных по данному хосту srv-bionic если сервис включен значение 1, если выключен то 0 и уже по этой простой проверке можно сделать триггер:

  • Name: FTP Service
  • Expression: {srv-bionic:net.tcp.service[ftp,,21].last(#2)}=0

т. е. Если 2 (два) последних значение были равны 0, то срабатывает триггер.

Либо именование триггер указать более осмысленным, как FTP service is down on {HOST.NAME}

Отлично это уже что-то и на основе этой заметке можно настраивать базовый мониторинг различных служб. Мой Вам совет, начните делать для себя и это Вам на 100% окупится, как окупается для меня.

На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.