Zabbix и правильное обнаружение проблем - Алексей...

Post on 30-Jul-2015

530 views 0 download

Tags:

transcript

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 сенсорах