19
Система мониторинга Zabbix в процессах разработки и тестирования Алексей Буров DevOps aburov@ptsecurity .com

Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Embed Size (px)

Citation preview

Page 1: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Система мониторинга Zabbix в процессах разработки и тестирования

Алексей БуровDevOps

[email protected]

Page 2: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

ПроблемаОтсутствие/недостаточный мониторинг

Page 3: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Типичные проблемы

• Стенды для сборки и тестирования требуют наблюдения за параметрами систем

• Если нет мониторинга, то о проблеме обычно узнают по нарушению функциональности приложения или ОС

• Проблемы бывают простейшие: закончилось место на диске, не работает служба, недоступен какой-либо сервис DevOps со стороны стенда и т.п.

• При разработке и тестировании проблема может встать острее, так как продукт может быть нестабильным, с багами (для их выявления мы его и тестируем)

Page 4: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Типичные проблемы при тестировании

При тестировании продукта требуется охватывать множество показателей:

• Логи – на предмет нахождения «плохого» события

• Загруженность сервера

• Доступность внутренних сервисов продукта

• Доступность внешних сервисов продукта

Page 5: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Проблема мониторинга при разработке и тестировании продукта

Изменяющийся от версии к версии список наблюдаемых параметров:

Release N.0 Release N+1.0Ресурс A по HTTP Ресурс А по HTTPSСервис B -

Сервис С Сервис C

- Сервис D

Для ресурса X критичное значения Y

Для ресурса X критичное значения

Z

Page 6: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

РешениеСистема мониторинга в процессах разработки и тестирования

Page 7: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Виды мониторинга

По функциям:• Мониторинг ситуации - оповещение о критических событиях/ошибках

• Мониторинг трендов - сбор информации для дальнейшего анализа

• Perfomance-мониторинг - отслеживание быстродействия системы

По типам:• Системный мониторинг - мониторинг состояния ОС, системных служб

• Мониторинг приложений - реализуется внутри приложения

• Бизнес-метрики - реализуется внутри приложения

Page 8: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

План решения от DevOps

• Разграничение зон ответственности между DevOps, Dev и QA

• zabbixtools

• Monitoring as Code

Page 9: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Разграничение зон ответственности

• Хост может иметь только одну Роль• Роль может включать в себя несколько Профилей• Профиль может включать в себя как отдельные Item/Trigger, так и другие Профили• Группировка по объектам (Хост, Роль, Профиль)

Page 10: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

zabbixtools в DevOpsHQ

zabbixtools - набор скриптов (Python + Powershell), расширяющий

функциональность Zabbix в части:

• кастомных проверок на Zabbix-агентах

• внешних проверок на Zabbix-сервере

• кастомизации оповещений (интеграция с различными сервисами и workflow) 

• работы через API (массовое редактирование хостов и других сущностей)

• конфигурирование мониторинга при деплое продукта или тестов

Ссылка на zabbixtools в GitHub:https://github.com/devopshq/zabbixtools

Page 11: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Monitoring as Code

Page 12: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Что позволяет данная схема?

• Настраивать мониторинг в зависимости от релиза продукта

• Держать мониторинг под версионным контролем (Monitoring as Code)

• Реализовать SMOKE-тестирование средствами системы мониторинга

• Разграничить ответственность между Dev/QA/DevOps

• Разработчикам и тестировщикам не нужно разбираться с работой Zabbix и его API

Page 13: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Конфигурация мониторинга на целевых серверах

При деплое продукта:

• Поддержка актуальности конфигурации мониторинга - на разработчиках

• Конфигурация мониторинга различается от ветке к ветке, от фичи к фиче

• SMOKE-тестирование уже при деплое продукта, даже без запуска тестов

При тестировании продукта:

• Поддержка актуальности конфигурации мониторинга - на тестировщиках

• SMOKE-тесты могут быть выполнены системой мониторинга

Page 14: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

РешениеПримеры

Page 15: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Monitoring as Code

Page 16: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Monitoring as Code

Page 17: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Zabbix

Page 18: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Zabbix

Page 19: Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров

Спасибо!Вопросы?

Алексей БуровDevOps

[email protected]