Работа с метриками WAF‑ноды в Zabbix¶
Перейдите в браузере по адресу http://10.0.30.30
, чтобы попасть на страницу логина веб‑интерфейса Zabbix. Войдите в веб‑интерфейс, используя стандартные логин (Admin
) и пароль (zabbix
).
Для мониторинга метрик WAF‑ноды node.example.local
выполните следующие действия:
-
Создайте новый хост. Для этого выполните следующие действия:
- Перейдите на вкладку Configuration → Hosts и нажмите не кнопку Create host.
- Введите полное доменное имя хоста в поле Host name (
node.example.local
). - Выберите группу, куда требуется поместить создаваемый хост, в поле Groups (например, можно использовать предопределенную группу «Linux servers»).
-
Введите IP‑адрес хоста с WAF‑нодой (
10.0.30.5
) в группе параметров Agent interfaces. Необходимо оставить значение порта по умолчанию (10050
).Подключение с помощью доменного имени
При необходимости вы можете настроить использование доменного имени хоста для подключения к Zabbix‑агенту. Для этого измените соответствующие параметры требуемым образом.
-
Настройте прочие параметры, если это необходимо.
- Убедитесь, что поставлена галочка Enabled.
- Завершите процесс создания хоста, нажав на кнопку Add.
-
Добавьте метрики, мониторинг которых необходимо осуществлять на хосте. Для добавления единичной метрики выполните следующие действия:
- Щелкните по имени созданного хоста
node.example.local
в списке хостов на вкладке Configuration → Hosts. - На открывшейся странице с данными хоста перейдите на вкладку Items и нажмите на кнопку Create item.
- Введите имя метрики в поле Name (например, «Вебмониторэкс NGINX Attacks»).
- Значение параметров Type, Host interface и Type of information оставьте без изменения.
- Введите ключевое имя метрики (так, как оно указано в
UserParameter=
в конфигурации Zabbix‑агента, например,wallarm_nginx-gauge-attacks
) в поле Key. - При необходимости настройте частоту обновления значения метрики и другие требуемые параметры.
- Убедитесь, что поставлена галочка Enabled.
- Завершите процесс добавления метрики, нажав на кнопку Add.
- Щелкните по имени созданного хоста
-
Настройте визуализацию добавленной метрики. Для этого:
- Нажмите на логотип Zabbix в левом верхнем углу веб‑интерфейса, чтобы перейти к дашборду.
-
Нажмите на кнопку Edit dashboard для того, чтобы внести изменения в дашборд:
- Добавьте виджет, нажав на кнопку Add widget.
- Выберите требуемый тип виджета (например, «Plain Text») из выпадающего списка Type.
- Введите любое подходящее имя в поле Name.
- Добавьте необходимую метрику в список Items (созданную ранее «Вебмониторэкс NGINX Attacks»).
- Убедитесь, что поставлены галочки Show text as HTML и Dynamic Items.
- Завершите процесс добавления виджета, нажав на кнопку Add.
-
Сохраните внесенные в дашборд изменения, нажав на кнопку Save changes.
-
Проверьте работу мониторинга:
-
Убедитесь, что текущее количество атак в виджете Zabbix совпадает с выводом
wallarm-status
на WAF‑ноде:- Используйте команду
curl http://127.0.0.8/wallarm-status
, если используются настройки WAF‑ноды по умолчанию. - Если мониторинг настроен иначе, см. файл конфигурации
/etc/nginx/conf.d/wallarm-status.conf
.Вывод команды будет аналогичен выводу ниже: ``` {"requests":0,"attacks":0,"blocked":0,"abnormal":0,"tnt_errors":0,"api_errors":0,"requests_lost":0,"segfaults":0,"memfaults":0,"softmemfaults":0,"time_detect":0,"db_id":46,"lom_id":4,"proton_instances": { "total":2,"success":2,"fallback":0,"failed":0 },"stalled_workers_count":0,"stalled_workers":[] } ```
- Используйте команду
-
Выполните тестовую атаку на приложение, защищенное WAF‑нодой. Для этого можно выполнить команду
curl
с вредоносным запросом к приложению или выполнить этот запрос в браузере.Пример
curl -I “http://node.example.local/?id='or+1=1--a-<script>prompt(1)</script>'”
-
Убедитесь, что счетчик атак увеличился как в выводе
wallarm-status
, так и в виджете Zabbix:{"requests":64,"attacks":16,"blocked":0,"abnormal":64,"tnt_errors":0,"api_errors":0,"requests_lost":0,"segfaults":0,"memfaults":0,"softmemfaults":0,"time_detect":0,"db_id":46,"lom_id":4,"proton_instances": { "total":2,"success":2,"fallback":0,"failed":0 },"stalled_workers_count":0,"stalled_workers":[] }
-
Теперь в дашборде Zabbix отображаются значения метрики curl_json-wallarm_nginx/gauge-attacks
WAF‑ноды node.example.local
.