Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Zabbix и
правильное
обнаружение
проблем
Алексей Владышев
О чём доклад?
Что такое Zabbix?
Как работает Zabbix?
Как правильно обнаруживать проблемы?
Что такое Zabbix?
Enterprise level Open Source monitoring solution
Чем мы отличаемся
Реальный Open Source
Всё в одном
Простота в эксплуатации
Зрелость, качество и надёжность
Гибкость
Как работает Zabbix
Zabbix ServerDB
Сбор данныхАнализИстория
Визуализация
Сбор данных
Доступность, производительность, целостность,
проблемы окружения, KPI & SLA
Методы сбора данных
Pull
• Проверки сервисов
• Пассивный Агент
• SSH и Telnet
Push
• Активный Agent
• Zabbix Trapper и SNMP Traps
• Мониторинг лог файлов
Активные / пассивные
Как часто?
Раз в N секунд всегда
Zabbix равномерно распределяет проверки
Разная частота в разные интервалы времени
Раз в X секунд в рабочее время
Раз в Y секунд по выходным
В конкретное время
Проверки вида 'Готовы к работе!'
Как в этом потоке
информации
отлавливать
проблемы?
Триггеры!
Триггер
это
описание проблемы
Триггеры
Пример
{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
Уровень новичка
Производительность:
{server:system.cpu.load.last()} > 5
Доступность
{server:net.tcp.service[http].last()} = 0
Чуствительность →
ложные срабатывания
Что делать?
Правильно
формулировать
проблемы и
понимать суть!
Используем историю
Производительность системы
{server:system.cpu.load.min(10m)} > 5
Доступность сервиса
{server:net.tcp.service[http].max(5m)} = 0
или
{server:net.tcp.service[http].max(#3)} = 0
Решение проблемы
не эквивалентно её
отсутствию!
Гистерезис
Различные условия для входа в состояние проблемы
и выхода из неё
Было
{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)
Избавились от флаппинга!
Несколько примеров
Система перегружена
({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)
Аномалии
Как обнаружить
Сравниваем с нормой, где
норма = состояние системы в прошлом
Средняя загрузка процессора за последний час
превышает вдвое загрузку процессора за тот же период
неделю назад.
{server:system.cpu.load.avg(1h)} > 2 *
{server:system.cpu.load.avg(1h,7d)}
Зависимости
Прячем зависимые проблемы
Нет места на
диске
CRM недоступна
База данных
недоступна
Как реагировать
на проблемы?
Реакция на проблему
Автоматическое решение проблем
Сообщения пользователю или группе
Отkрытие тикетов в системе Helpdesk
Эскалируем!
• Немедленная реакция
• Реакция с задержкой
• Оповещение если
автоматика не сработала
• Повторные сообщения
• Эскалация на следующий
уровень
Подведём итог
• Анализируем историю
• Отсутствие проблемы — не есть её решение
Используем разные условия для проблемы
и её решения
• Пытаемся работать с аномалиями
• Автоматически решаем проблемы
• Эскалируем проблемы!
Вопросы?
Если не успели задать вопрос или не удовлетворены
моим ответом, то:
- меня можно смело отлавливать сегодня и завтра на
конференции
- через твиттер: @avladishev
- пишите на alex@zabbix.com
Спасибо за внимание!
Zabbix 3.0: когда?
Планировался в Мае, 2015
Ожидается: Август, 2015 (?)
Zabbix 3.0: интерфейс
Модульность, MVC
Возможность создавать свои страницы
Возможность менять существующие страницы
Первые попытки инфраструктуры для создания
своих блоков (widgets) дашборда
Zabbix 3.0: интерфейс
Шифрование и аутентификация
Шифрование и аутентификация для всех компонент
Поддержка TLS и PSK
На выбор: OpenSSL, GnuTSL и PolarSSL
Персонифицированные ресурсы
Персональные screens, maps and slide shows
Возможность дать доступ другим
Версионность XML
Версии для XML файлов
Строгая валидация
Обратная совместимость
Контекстные макросы
Сейчас: {$MACRO}
Zabbix 3.0
{$MACRO}[“context”], если не существует, то возмём
значение {$MACRO}
Пример
{$MINDISKSPACE}['/tmp'] => 50%
{$MINDISKSPACE}['/db'] => 30%
{$MINDISKSPACE} = 10%
А также... #1
• Выполнение проверок в определённое время
• ODBC LLD
• Фильтрация по типу памяти для proc.mem
• Поддержка дополнительных макросов для поля URL
триггера
• Улучшения в мониторинге лог файлов
• Возможно: baseline monitoring
А также... #2
• Поддержка IPv6 для Java gateway
• Triggers Top 100, фильтрация по: host, host group,
severity and custom time period
• Поддержка TCP для DNS проверок
• Ручной запуск хаускипера
• Обнаружение любого количества SNMP LLD значений
• Dropdowns заменены на кнопки
• Поддержка LLD макросов в единицах измерения
• Поддержка LLD макросов в IPMI сенсорах

More Related Content

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