zabbix: Прошлое, настоящее и будущее (zabbix: past, present and the future)
TRANSCRIPT
![Page 1: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/1.jpg)
ZabbixПрошлое, настоящее и будущее
![Page 2: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/2.jpg)
О чем я буду говорить?
Немножко истории
Настоящее: Zabbix 3.0
Будущее
![Page 3: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/3.jpg)
О команде ZabbixНас 30 человек
Офисы в Риге, Токио и Нью-Йорке
Зарабатываем предоставлением услуг вокруг Zabbix: поддержка, обучение, разработка, решения под ключ
В Японии предлагаем интересные продукты:
![Page 4: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/4.jpg)
Что мы делаем?
• Строим открытую систему мониторинга которой можно доверять
• Не только для IT, но и IoT и другие применения
• Помешаны на качестве и хорошем коде
• Думаем о простоте поддержки
![Page 5: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/5.jpg)
ПрошлоеС чего начинался Zabbix
![Page 6: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/6.jpg)
История: 1998• Изначально использовался Perl, но не долго
• Основные архитектурные решения
Язык C для критичных частей
Язык PHP для WEB интерфейса
SQL back-end
![Page 7: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/7.jpg)
Язык C+ Низкоуровневый, близок к железу
+ Эффективный код: быстрый
+ Минимальное использование ресурсов: CPU и память
+ Практически нет зависимостей
+ Один раз написал, запускай где хочешь
- Медленная разработка
- Проблемы с памятью, локами, поинтерами
![Page 8: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/8.jpg)
Язык PHP+ Легко быстро научиться писать плохой код
+ Доступен на всех платформах
+ Активно развивается в последнее время
- Динамическая типизация
- Для хорошего кода нужна дисциплина
- Интерпретируем: ошибки во время выполнения
![Page 9: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/9.jpg)
SQL back-end + MySQL, PostgreSQL, Oracle, DB2, SQLite
+ Транзакционность и целостность данных
+ Стандартный API: SQL
+ Легко разворачивать
- Масштабируемость
- Высокая доступность и redundancy
![Page 10: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/10.jpg)
Как использование языка C влияет на Zabbix
Zabbix очень компактное приложение с минимальными зависимостями
![Page 11: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/11.jpg)
Архитектура: хорошие стороны
Разделение логики: сбор данных, обнаружение проблем, оповещение пользователей, визуализация, API, и прочее
Мультипроцессорное приложение: использует все доступные ядра CPU
Данные всегда в целостном состоянии
![Page 12: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/12.jpg)
ОптимизацииКеширование данных
![Page 13: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/13.jpg)
ОптимизацииМассовые (bulk) операции
![Page 14: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/14.jpg)
2015, что изменилось?• Языки: без изменений - C, PHP, SQL
• Строгая процедура разработки
• Спецификация, разработка, code review, тестирование, документация, готово!
• Coding guidelines
• Continuous integration
• Статические анализаторы и commit hooks
![Page 15: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/15.jpg)
Сложности настоящего времени
• Различные технологии на back-end и front-end Команды с различными знаниями
• Скорость разработки
• Как добиться качества: тесты или лучшие инструменты?
• Исторический код на PHP
![Page 16: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/16.jpg)
Различное качество кода
C PHP
![Page 17: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/17.jpg)
НастоящееZabbix 3.0
![Page 18: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/18.jpg)
Где найти roadmap?Ищем в поисковике “zabbix roadmap”
Попадаем на https://www.zabbix.org/wiki/Docs/roadmap
![Page 19: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/19.jpg)
Zabbix 2.x: интерфейсУбрали бессмысленные вещи
![Page 20: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/20.jpg)
Zabbix 3.0: интерфейс
![Page 21: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/21.jpg)
Zabbix 3.0: интерфейс
![Page 22: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/22.jpg)
Zabbix 3.0: интерфейс
![Page 23: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/23.jpg)
Интерфейс: незаметные улучшения
• Модульность, MVC
• Возможность создавать свои страницы
• Возможность изменять существующие страницы
• Первые попытки инфраструктуры (API) для создания своих блоков (widgets) дашборда
![Page 24: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/24.jpg)
Шифрование и аутентификация
• Шифрование и аутентификация для всех компонент
• Поддержка TLS v1.2 и PSK
• На выбор: OpenSSL, GnuTLS и PolarSSL
![Page 25: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/25.jpg)
Личные ресурсы
• Личные screens, maps и slide shows
• Возможность дать доступ другим пользователем
![Page 26: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/26.jpg)
Версионность XML
• Версии для XML файлов
• Строгая валидация
• Обратная совместимость
• Автоматическая конвертация со старых версий
![Page 27: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/27.jpg)
Контекстные макросы{$MACRO:context], если не существует, то возьмём значение {$MACRO}
Пример
{$MINDISKSPACE:/tmp] => 50% {$MINDISKSPACE:/db] => 30%{$MINDISKSPACE} = 10%
Не хватает места на диске{host:vfs.fs.size[{%FSNAME},pfree].last()} < {$MINDISKSPACE:{%FSNAME}}
![Page 28: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/28.jpg)
Проверки вида “Ready for business”
Проверки в конкретное время:
каждые N минут
каждые 2 часа начиная с 9:00 (9:00, 11:00 …)
каждый час в hh:00 и hh:30
по рабочим дням в 9:00
по рабочим дням каждый час в 9:00,10:00,...,18:00
каждый первый день месяца в 9:30
каждый первый день месяца в 9:30 если это понедельник
![Page 29: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/29.jpg)
Ручной запуск хаускипера
Например, из crontab:
zabbix_server -R housekeeper_execute
![Page 30: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/30.jpg)
Низкоуровневое обнаружение для SQL
select field1,field2 from table where …
А дальше используем объекты для создания элементов данных {%FIELD1}, {%FIELD2}
![Page 31: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/31.jpg)
А также• Фильтрация по типу памяти для proc.mem
• Поддержка IPv6 для Java gateway
• Triggers Top 100, фильтрация по: host, host group, severity and custom time period
• Поддержка TCP для DNS проверок
• Обнаружение любого количества SNMP LLD значенийifDescr, ifOutOctets, ifInOctets одним запросом из разных SNMP таблиц
• Dropdowns заменены на кнопки
• Поддержка LLD макросов в единицах измерения и IPMI сенсорах
![Page 32: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/32.jpg)
Zabbix 3.0: когда?
• Планировался в Мае, 2015
• Ожидается: Август, 2015 (?)
![Page 33: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/33.jpg)
БудущееЧто бы я хотел улучшить в Zabbix
![Page 34: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/34.jpg)
WEB интерфейс: факты • Не эффективная навигация: меню!
• Слишком много кликов для стандартных действий “Укликайся до смерти”, Lukas, Zabbix Conference 2014
• Информация разрозненаМониторинг/Администрирование жёстко разделены
• Drop downs: поедают много памяти и CPU
![Page 35: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/35.jpg)
WEB интерфейс: делаем удобным
• Улучшить удобство использования
• Объектно-ориентированная навигация Выбрали узел сети → Вся информация об узле сети на расстоянии одного клика
• Повысить связанность информации
• Ускорить (также зависит от производительности API)
![Page 36: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/36.jpg)
API: факты
• Может быть ужасно медленным
• Генерирует слишком много SQL запросов
• Нет строгой валидации
• Слабые сообщения об ошибках
![Page 37: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/37.jpg)
API: более быстрый и надёжный
• Быстрее в 10-100x разБолее эффективные алгоритмыBulk (массовые) операции и кеширование
• Сделать API гражданином “первого сорта”: возможно передвинуть на сторону Zabbix Server Тут у нас самый эффективный код и технологии
• Добавить строгую валидацию
• Подробные сообщения об ошибках
![Page 38: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/38.jpg)
Отчёты: факты
Так много полезной информации, но:
• Очень слабые отчёты
• Почти нет аналитики
• Нет возможности создавать свои отчёты
• Нет возможности запомнить параметры отчётов
![Page 39: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/39.jpg)
Отчёты: визуализация Реального времени и аналитика
![Page 40: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/40.jpg)
Масштабируемость: факты
• Zabbix становится значительно медленнее при росте объёма данных
• Требует специальных усилий для масштабируемости (партиционирование)
• Непросто обеспечить HA/redundancy
![Page 41: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/41.jpg)
Масштабируемость: терабайты!
• Горизонтальная масштабируемость на уровне хранилища Стандартные SQL хранилища этого не обеспечивают
• Отдельное хранилище для истории
• Новый распределённый мониторинг: один интерфейс на все сервера
• Производительность интерфейса очень важна, ответ менее чем за 1 секунду
![Page 42: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/42.jpg)
API и плагины: факты
В настоящее время только для расширения серверных и агентский проверок, внешних
скриптов.
![Page 43: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/43.jpg)
API и плагины
Поддерживать везде где только возможно
• Новые триггерные функции
• Пре- и постобработка данных
• Виджеты для дашборда
• И прочее и прочее
![Page 44: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/44.jpg)
Несколько полезных ссылок
![Page 46: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/46.jpg)
share.zabbix.com
• Поделись со всеми!
• Шаблонами
• Модулями
• Инструкциями (HOWTO)
![Page 47: Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)](https://reader030.vdocument.in/reader030/viewer/2022012312/586f91261a28ab54768b7b3b/html5/thumbnails/47.jpg)
Спасибо!
twitter.com/zabbix
Приезжайте на конференцию! Рига, 11-12 Сентября.