Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015

3,634 views

Published on

Что такое Zabbix?
Как работает Zabbix?
Как правильно обнаруживать проблемы?

Published in: Data & Analytics
  • Be the first to comment

Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015

  1. 1. Zabbix и правильное обнаружение проблем Алексей Владышев
  2. 2. О чём доклад? Что такое Zabbix? Как работает Zabbix? Как правильно обнаруживать проблемы?
  3. 3. Что такое Zabbix? Enterprise level Open Source monitoring solution Чем мы отличаемся Реальный Open Source Всё в одном Простота в эксплуатации Зрелость, качество и надёжность Гибкость
  4. 4. Как работает Zabbix Zabbix ServerDB Сбор данныхАнализИстория Визуализация
  5. 5. Сбор данных Доступность, производительность, целостность, проблемы окружения, KPI & SLA
  6. 6. Методы сбора данных Pull • Проверки сервисов • Пассивный Агент • SSH и Telnet Push • Активный Agent • Zabbix Trapper и SNMP Traps • Мониторинг лог файлов
  7. 7. Активные / пассивные
  8. 8. Как часто? Раз в N секунд всегда Zabbix равномерно распределяет проверки Разная частота в разные интервалы времени Раз в X секунд в рабочее время Раз в Y секунд по выходным В конкретное время Проверки вида 'Готовы к работе!'
  9. 9. Как в этом потоке информации отлавливать проблемы?
  10. 10. Триггеры!
  11. 11. Триггер это описание проблемы
  12. 12. Триггеры Пример {server:system.cpu.load.last()} > 5 Операторы - + / * < > = <> or and not Анализируем всё! {node1:cpu.func1(3m)}>5 and {node2:cpu.func2(3m)}>5 and {nodes:tps.func3(5m)}>3
  13. 13. Уровень новичка Производительность: {server:system.cpu.load.last()} > 5 Доступность {server:net.tcp.service[http].last()} = 0
  14. 14. Чуствительность → ложные срабатывания
  15. 15. Что делать?
  16. 16. Правильно формулировать проблемы и понимать суть!
  17. 17. Используем историю Производительность системы {server:system.cpu.load.min(10m)} > 5 Доступность сервиса {server:net.tcp.service[http].max(5m)} = 0 или {server:net.tcp.service[http].max(#3)} = 0
  18. 18. Решение проблемы не эквивалентно её отсутствию!
  19. 19. Гистерезис Различные условия для входа в состояние проблемы и выхода из неё Было {server:system.cpu.load.last()} > 5 Стало ({TRIGGER.VALUE}=0 and {server:system.cpu.laod.last()}>5) or ({TRIGGER.VALUE}=1 and {server:system.cpu.load.last()}>1) Избавились от флаппинга!
  20. 20. Несколько примеров Система перегружена ({TRIGGER.VALUE}=0 and {server:system.cpu.load.min(5m)}>3) or ({TRIGGER.VALUE}=1 and {server:system.cpu.load.max(2m)}>1) Не хватает свободного места на / ({TRIGGER.VALUE}=0 and {server:vfs.fs.size[/,pfree].last()}<10) or ({TRIGGER.VALUE}=1 and {server:vfs.fs.size[/,pfree].min(10m)}<30) SSH сервер недоступен ({TRIGGER.VALUE}=0 and {server:net.tcp.service[ssh].max(#3)}=0) or ({TRIGGER.VALUE}=1 and {server:net.tcp.service[ssh].min(#10)}=0)
  21. 21. Аномалии
  22. 22. Как обнаружить Сравниваем с нормой, где норма = состояние системы в прошлом Средняя загрузка процессора за последний час превышает вдвое загрузку процессора за тот же период неделю назад. {server:system.cpu.load.avg(1h)} > 2 * {server:system.cpu.load.avg(1h,7d)}
  23. 23. Зависимости Прячем зависимые проблемы Нет места на диске CRM недоступна База данных недоступна
  24. 24. Как реагировать на проблемы?
  25. 25. Реакция на проблему Автоматическое решение проблем Сообщения пользователю или группе Отkрытие тикетов в системе Helpdesk
  26. 26. Эскалируем! • Немедленная реакция • Реакция с задержкой • Оповещение если автоматика не сработала • Повторные сообщения • Эскалация на следующий уровень
  27. 27. Подведём итог • Анализируем историю • Отсутствие проблемы — не есть её решение Используем разные условия для проблемы и её решения • Пытаемся работать с аномалиями • Автоматически решаем проблемы • Эскалируем проблемы!
  28. 28. Вопросы? Если не успели задать вопрос или не удовлетворены моим ответом, то: - меня можно смело отлавливать сегодня и завтра на конференции - через твиттер: @avladishev - пишите на alex@zabbix.com Спасибо за внимание!
  29. 29. Zabbix 3.0: когда? Планировался в Мае, 2015 Ожидается: Август, 2015 (?)
  30. 30. Zabbix 3.0: интерфейс Модульность, MVC Возможность создавать свои страницы Возможность менять существующие страницы Первые попытки инфраструктуры для создания своих блоков (widgets) дашборда
  31. 31. Zabbix 3.0: интерфейс
  32. 32. Шифрование и аутентификация Шифрование и аутентификация для всех компонент Поддержка TLS и PSK На выбор: OpenSSL, GnuTSL и PolarSSL
  33. 33. Персонифицированные ресурсы Персональные screens, maps and slide shows Возможность дать доступ другим
  34. 34. Версионность XML Версии для XML файлов Строгая валидация Обратная совместимость
  35. 35. Контекстные макросы Сейчас: {$MACRO} Zabbix 3.0 {$MACRO}[“context”], если не существует, то возмём значение {$MACRO} Пример {$MINDISKSPACE}['/tmp'] => 50% {$MINDISKSPACE}['/db'] => 30% {$MINDISKSPACE} = 10%
  36. 36. А также... #1 • Выполнение проверок в определённое время • ODBC LLD • Фильтрация по типу памяти для proc.mem • Поддержка дополнительных макросов для поля URL триггера • Улучшения в мониторинге лог файлов • Возможно: baseline monitoring
  37. 37. А также... #2 • Поддержка IPv6 для Java gateway • Triggers Top 100, фильтрация по: host, host group, severity and custom time period • Поддержка TCP для DNS проверок • Ручной запуск хаускипера • Обнаружение любого количества SNMP LLD значений • Dropdowns заменены на кнопки • Поддержка LLD макросов в единицах измерения • Поддержка LLD макросов в IPMI сенсорах

×