Successfully reported this slideshow.
Your SlideShare is downloading. ×

Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 47 Ad

Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)

Download to read offline

С чего начинался Zabbix
Немножко истории
C, PHP. SQL, Оптимизации
Настоящее: Zabbix 3.0
Будущее

С чего начинался Zabbix
Немножко истории
C, PHP. SQL, Оптимизации
Настоящее: Zabbix 3.0
Будущее

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future) (20)

More from Zabbix (20)

Advertisement

Recently uploaded (20)

Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)

  1. 1. Zabbix Прошлое, настоящее и будущее
  2. 2. О чем я буду говорить? Немножко истории Настоящее: Zabbix 3.0 Будущее
  3. 3. О команде Zabbix Нас 30 человек Офисы в Риге, Токио и Нью-Йорке Зарабатываем предоставлением услуг вокруг Zabbix: поддержка, обучение, разработка, решения под ключ В Японии предлагаем интересные продукты:
  4. 4. Что мы делаем? • Строим открытую систему мониторинга которой можно доверять • Не только для IT, но и IoT и другие применения • Помешаны на качестве и хорошем коде • Думаем о простоте поддержки
  5. 5. Прошлое С чего начинался Zabbix
  6. 6. История: 1998 • Изначально использовался Perl, но не долго • Основные архитектурные решения Язык C для критичных частей Язык PHP для WEB интерфейса SQL back-end
  7. 7. Язык C + Низкоуровневый, близок к железу + Эффективный код: быстрый + Минимальное использование ресурсов: CPU и память + Практически нет зависимостей + Один раз написал, запускай где хочешь - Медленная разработка - Проблемы с памятью, локами, поинтерами
  8. 8. Язык PHP + Легко быстро научиться писать плохой код + Доступен на всех платформах + Активно развивается в последнее время - Динамическая типизация - Для хорошего кода нужна дисциплина - Интерпретируем: ошибки во время выполнения
  9. 9. SQL back-end + MySQL, PostgreSQL, Oracle, DB2, SQLite + Транзакционность и целостность данных + Стандартный API: SQL + Легко разворачивать - Масштабируемость - Высокая доступность и redundancy
  10. 10. Как использование языка C влияет на Zabbix Zabbix очень компактное приложение с минимальными зависимостями
  11. 11. Архитектура: хорошие стороны Разделение логики: сбор данных, обнаружение проблем, оповещение пользователей, визуализация, API, и прочее Мультипроцессорное приложение: использует все доступные ядра CPU Данные всегда в целостном состоянии
  12. 12. Оптимизации Кеширование данных
  13. 13. Оптимизации Массовые (bulk) операции
  14. 14. 2015, что изменилось? • Языки: без изменений - C, PHP, SQL • Строгая процедура разработки • Спецификация, разработка, code review, тестирование, документация, готово! • Coding guidelines • Continuous integration • Статические анализаторы и commit hooks
  15. 15. Сложности настоящего времени • Различные технологии на back-end и front-end
 
 Команды с различными знаниями • Скорость разработки • Как добиться качества: тесты или лучшие инструменты? • Исторический код на PHP
  16. 16. Различное качество кода C PHP
  17. 17. Настоящее Zabbix 3.0
  18. 18. Где найти roadmap? Ищем в поисковике “zabbix roadmap” Попадаем на https://www.zabbix.org/wiki/Docs/roadmap
  19. 19. Zabbix 2.x: интерфейс Убрали бессмысленные вещи
  20. 20. Zabbix 3.0: интерфейс
  21. 21. Zabbix 3.0: интерфейс
  22. 22. Zabbix 3.0: интерфейс
  23. 23. Интерфейс: незаметные улучшения • Модульность, MVC • Возможность создавать свои страницы
 
 
 • Возможность изменять существующие страницы • Первые попытки инфраструктуры (API) для создания своих блоков (widgets) дашборда
  24. 24. Шифрование и аутентификация • Шифрование и аутентификация для всех компонент • Поддержка TLS v1.2 и PSK • На выбор: OpenSSL, GnuTLS и PolarSSL
  25. 25. Личные ресурсы • Личные screens, maps и slide shows • Возможность дать доступ другим пользователем
  26. 26. Версионность XML • Версии для XML файлов • Строгая валидация • Обратная совместимость • Автоматическая конвертация со старых версий
  27. 27. Контекстные макросы {$MACRO:context], если не существует, то возьмём значение {$MACRO} Пример {$MINDISKSPACE:/tmp] => 50%
 {$MINDISKSPACE:/db] => 30%
 {$MINDISKSPACE} = 10%
 Не хватает места на диске
 
 {host:vfs.fs.size[{%FSNAME},pfree].last()} < {$MINDISKSPACE:{%FSNAME}}
  28. 28. Проверки вида “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 если это понедельник
  29. 29. Ручной запуск хаускипера Например, из crontab: zabbix_server -R housekeeper_execute
  30. 30. Низкоуровневое обнаружение для SQL select field1,field2 from table where …
 А дальше используем объекты для создания элементов данных {%FIELD1}, {%FIELD2}

  31. 31. А также • Фильтрация по типу памяти для 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 сенсорах
  32. 32. Zabbix 3.0: когда? • Планировался в Мае, 2015 • Ожидается: Август, 2015 (?)
  33. 33. Будущее Что бы я хотел улучшить в Zabbix
  34. 34. WEB интерфейс: факты • Не эффективная навигация: меню! • Слишком много кликов для стандартных действий 
 
 “Укликайся до смерти”, Lukas, Zabbix Conference 2014 • Информация разрознена
 
 Мониторинг/Администрирование жёстко разделены • Drop downs: поедают много памяти и CPU
  35. 35. WEB интерфейс: делаем удобным • Улучшить удобство использования • Объектно-ориентированная навигация 
 
 Выбрали узел сети → Вся информация об узле сети на расстоянии одного клика • Повысить связанность информации • Ускорить (также зависит от производительности API)
  36. 36. API: факты • Может быть ужасно медленным • Генерирует слишком много SQL запросов • Нет строгой валидации • Слабые сообщения об ошибках
  37. 37. API: более быстрый и надёжный • Быстрее в 10-100x раз
 
 Более эффективные алгоритмы
 Bulk (массовые) операции и кеширование • Сделать API гражданином “первого сорта”: возможно передвинуть на сторону Zabbix Server 
 
 Тут у нас самый эффективный код и технологии • Добавить строгую валидацию • Подробные сообщения об ошибках
  38. 38. Отчёты: факты Так много полезной информации, но: • Очень слабые отчёты • Почти нет аналитики • Нет возможности создавать свои отчёты • Нет возможности запомнить параметры отчётов
  39. 39. Отчёты: визуализация Реального времени и аналитика
  40. 40. Масштабируемость: факты • Zabbix становится значительно медленнее при росте объёма данных • Требует специальных усилий для масштабируемости (партиционирование) • Непросто обеспечить HA/redundancy
  41. 41. Масштабируемость: терабайты! • Горизонтальная масштабируемость на уровне хранилища 
 
 Стандартные SQL хранилища этого не обеспечивают • Отдельное хранилище для истории • Новый распределённый мониторинг: один интерфейс на все сервера • Производительность интерфейса очень важна, ответ менее чем за 1 секунду
  42. 42. API и плагины: факты В настоящее время только для расширения серверных и агентский проверок, внешних скриптов.
  43. 43. API и плагины Поддерживать везде где только возможно • Новые триггерные функции • Пре- и постобработка данных • Виджеты для дашборда • И прочее и прочее
  44. 44. Несколько полезных ссылок
  45. 45. support.zabbix.com Голосование - реальный способ повлиять на наши планы!
  46. 46. share.zabbix.com • Поделись со всеми! • Шаблонами • Модулями • Инструкциями (HOWTO)
  47. 47. Спасибо! twitter.com/zabbix Приезжайте на конференцию! Рига, 11-12 Сентября.

×