5. Команда ИТ
3 человека
Много задач
• Другие проекты
• Два офиса
• Dev/Test среды
Рабочий день: 10:00 – 19:00 (MSK)
Пик нагрузки: 00:00 (MSK)
Выходные
Государственные праздники РФ
Нет дежурных смен
5
8. Система мониторинга
Monitoring
server:
Collect data
Store metrics
Create alerts
Show graphs
8
Monitoring server
Rules
Alerts processing
Data sources
Data base
Notification
services
Admins Dashboards
DataAlerts
Metrics
Graphs
Notifications
11. Zabbix tips
Минимальные настройки
Зависимости триггеров (dependencies)
Profit: не отображать зависимые проблемы
Webserver is not
running
Ping for gateway is
lost
Ping for server is lost
Zabbix Agent is
unavailable
11
24. Оповещения
SMS
• Внешний сервис
• Задержки доставки
• Ненадёжно
• Нужно платить
• Нужно следить за балансом аккаунтов
• Мы отказались от СМС
24
25. Оповещения
Telegram
• Для телефона
• Замена СМС
• Работает всегда, когда есть связь
• Групповые чаты
Script for Zabbix: https://github.com/ableev/Zabbix-in-Telegram
25
29. Приоритезация
По важности
Severity
• Information - информационное сообщения. Не требуют оперативной реакции.
Пример: изменилось имя хоста; сервер был перезагружен.
• Warning - потенциальная проблемы. Не влияет на доступность продуктов и сервисов, но
может стать причиной более серьёзных проблем с течением времени.
Пример: осталось меньше 20% дискового пространства; в логе обнаружены ошибки.
• Average - аналогично Warning, но требуют более оперативной реакции.
Пример: служба репликации не запущена.
• High - проблема влияет на доступность конкретного сервера/узла, но не приводит к
немедленной недоступности продукта или сервиса.
Пример: хост недоступен по ICMP, вебсервер на хосте не запущен (это не единственный хост
в кластере).
• Disaster - проблема непосредственно влияет на доступность продукта или сервиса.
Пример: сайт недоступен по URL; база данных недоступна по DNS имени. 29
31. Реагирование
Решение проблем
War room
• MS Teams chat
• Все участники процесса (IT, Dev, DBA, …)
• Conference call
Разделение
• Кто смотрит логи?
• Кто смотрит базу?
• …
Postmortem
31
32. Реагирование
Список известных проблем
• Ведётся Wiki
• Название триггера в Zabbix
• Способ проверки
• Способ устранения
Profit
• Быстрое решение проблемы в 3 часа ночи
• Человек «не в теме» знает, что делать
32
33. Реагирование
Приоритезация проблем по типам
• Звонок только при «Disaster»
• Звонок только для «Production»
Profit
• Не просыпаться ночью при некритичных проблемах
33
34. Реагирование
Инструкции по восстановлению
• Восстановление бэкапа
• Редеплой предыдущего релиза
• Доступ для этих действий
Profit
• Быстро восстановить работоспособность, а потом
разбираться
34
36. Ответственность
Отпуска и выходные (IT Team)
• Договариваемся
• Кто-то должен быть на связи
• У всех есть ноутбук (берём с собой)
• У всех настроен VPN
• Есть Jumpbox в датацентре
• Нельзя забивать на alerts
Profit
• Минимизировать пропуски проблем
36
37. Ответственность
Взаимодействие с другими командами
• Известно, кому звонить
• Dev
• DBA
• …
• Записаны номера телефонов
• Люди в курсе, что им могут позвонить в 3 часа ночи
Profit
• Собрать troubleshoot team при необходимости
37
38. Ответственность
Принятие рисков
• Возможен downtime
• Мы можем пропускать проблемы
• Проблема может решаться долго
• Мы минимизируем эти риски
• Бизнес принимает эти риски
Profit
• Баланс между стоимостью поддержки и стабильностью продукта
38
39. THE END
39
СПАСИБО ЗА ВНИМАНИЕ!
Контакты
Евгений Савченко
Senior DevOps Engineer
@EvgeniySavchenko
http://www.trueadmin.ru/