Разработчик(и) | Checkmk GmbH (ранее Tribe29 GmbH и Mathias Kettner GmbH) |
---|---|
Первоначальный выпуск | 2008 ( 2008 ) |
Стабильный релиз | 2.3.0 / 2024-04-29 |
Репозиторий |
|
Написано в | Питон , С++ |
Операционная система | линукс |
Тип | Мониторинг ИТ-инфраструктуры |
Лицензия | GNU GPL v2 и другие лицензии с открытым исходным кодом , лицензия Checkmk Enterprise [1] |
Веб-сайт | checkmk.com |
Checkmk — это программная система, разработанная на Python и C++ для мониторинга ИТ-инфраструктуры . Она используется для мониторинга серверов , приложений , сетей, облачных инфраструктур ( публичных , частных , гибридных ), контейнеров , хранилищ , баз данных и датчиков окружающей среды . [2]
Checkmk доступен в четырех редакциях: [3] редакция с открытым исходным кодом (Checkmk Raw Edition), [4] коммерческая редакция корпоративного уровня (Checkmk Enterprise Edition), коммерческая редакция с расширенными функциями мониторинга облака (Checkmk Cloud Edition) и редакция для поставщиков управляемых сервисов (Checkmk Managed Services Edition). Эти редакции Checkmk доступны для ряда платформ, в частности для различных версий Debian , Ubuntu , SLES и Red Hat , а также в виде образа Docker . [5] Кроме того, предлагаются физические устройства различных размеров, а также виртуальное устройство для упрощения администрирования базовой операционной системы через графический пользовательский интерфейс и для обеспечения решений высокой доступности.
Агенты, используемые Checkmk для сбора данных, доступны для 11 платформ, включая Windows . [6]
Checkmk появился в 2008 году как скрипт оболочки, заменяющий агента для Inetd , и был опубликован в апреле 2009 года под лицензией GPL . Первоначально он был основан на Nagios и расширил его рядом новых компонентов. [7] [8] Версия с открытым исходным кодом (Checkmk Raw Edition) также продолжает основываться на ядре Nagios и объединяет его с дополнительными компонентами с открытым исходным кодом в полную систему. [9]
За многие годы коммерческие версии Checkmk превратились в автономную систему мониторинга, которая заменила все основные компоненты Nagios своими собственными, включая свое собственное ядро мониторинга. [10] Большинство разработок для коммерческих версий, в частности все плагины , также доступны в Checkmk Raw Edition.{ [ необходима цитата ]
Хотя в прошлом Checkmk был разработан для мониторинга больших и неоднородных локальных сред, начиная с версии 1.5+ (1.5p12) он также поддерживает мониторинг сервисов AWS , Azure , Docker и Kubernetes .{ [ необходима цитата ]
Checkmk разрабатывается Checkmk GmbH [11] в Мюнхене , Германия . До 16.04.2019 она работала под названием Mathias Kettner GmbH, после чего компания была переименована в tribe29 GmbH, а название продукта «Check_MK» также было изменено на «Checkmk». Последующий ребрендинг состоялся 14.04.2023, когда компания была переименована в Checkmk GmbH.{ [ необходима цитата ]
Checkmk GmbH следует открытой базовой бизнес-модели . Версия с открытым исходным кодом доступна под различными лицензиями с открытым исходным кодом – в основном GPLv2, в то время как большая часть коммерческих версий работает под фирменной лицензией «Checkmk Enterprise License».{ [ необходима цитата ]
Checkmk объединяет три типа ИТ-мониторинга:
Чтобы обеспечить очень широкий мониторинг, Checkmk в настоящее время имеет более 2000 плагинов в каждой редакции – все они лицензированы по GPLv2. Эти плагины поддерживаются как часть продукта и регулярно дополняются дополнительными плагинами или расширениями. Также возможно подключение существующих устаревших плагинов Nagios.{ [ необходима цитата ]
Для упрощения настройки и эксплуатации все компоненты Checkmk поставляются полностью интегрированными. Конфигурация 1:n на основе правил , а также высокая степень автоматизации значительно ускоряют рабочие процессы . Это включает:
Кроме того, существуют также руководства по использованию инструментов конфигурации и развертывания, таких как Ansible [15] или Salt [16] .
Checkmk часто используется в очень больших распределенных средах, где отслеживается большое количество сайтов (например, 300 локаций Faurecia [17] ) и/или более 100 000 устройств (например, Edeka [18] ). Это возможно, помимо прочего, потому, что микроядро Checkmk потребляет гораздо меньше ресурсов ЦП , чем, например, Nagios, и, следовательно, обеспечивает значительно более высокую производительность на том же оборудовании [ оригинальное исследование? ] . Кроме того, непостоянные данные хранятся в оперативной памяти , что значительно сокращает время доступа.{ [ необходима цитата ]
Checkmk Raw Edition использует ядро мониторинга Nagios .
Коммерческая версия Checkmk использует фирменное ядро мониторинга "Checkmk Microcore" (CMC), написанное на C++. Оно имеет лучшую производительность, чем ядро Checkmk Raw Edition [ оригинальное исследование? ] . Оно поддерживает запись объектов с коротким сроком жизни, таких как контейнеры. Для применения изменений конфигурации перезагрузка не требуется.{ [ необходима цитата ]
Checkmk предлагает автономное обнаружение сервисов и генерацию настроек. Checkmk использует собственный метод при проведении проверок . В течение тестового периода каждый хост связывается только один раз. Результаты теста передаются в ядро мониторинга в виде пассивных проверок . Это значительно повышает производительность на сервере мониторинга , а также на контролируемых хостах.{ [ необходима цитата ]
Checkmk использует различные методы для доступа к данным в целевых системах. К ним относятся агенты, установленные на целевой системе, «специальные агенты», работающие на сервере мониторинга и взаимодействующие с API целевой системы, API SNMP для мониторинга, например, сетевых устройств и принтеров, а также протоколы HTTP / TCP для взаимодействия с веб- и интернет-сервисами. По умолчанию Checkmk следует «принципу pull», то есть данные явно запрашиваются системой мониторинга для быстрого определения того, когда система внезапно выходит из строя и не отвечает на «pull». Однако в качестве альтернативы можно настроить «push», с помощью которого система передает свои данные непосредственно в Checkmk или на промежуточный хост.{ [ необходима цитата ]
Livestatus — это основной интерфейс Checkmk. Он обеспечивает прямой доступ ко всем данным отслеживаемых хостов и служб. Данные извлекаются непосредственно из оперативной памяти, что позволяет избежать медленного доступа к жесткому диску и обеспечивает быстрый доступ к информации без чрезмерной перегрузки системы. Доступ осуществляется через простой протокол и возможен из всех языков программирования без необходимости использования специальной библиотеки.{ [ необходима цитата ]
Multisite — это веб-интерфейс Checkmk. Помимо быстрого макета страницы, он предлагает определяемые пользователем представления и панели мониторинга, распределенный мониторинг путем интеграции нескольких экземпляров мониторинга через Livestatus, интеграцию NagVis [ необходимо разъяснение ] , интегрированное соединение LDAP , доступ к данным о состоянии через веб-сервисы и многое другое. Панели мониторинга и представления могут быть дифференцированы для различных пользователей или групп пользователей, например, представления , специфичные для vSphere [19], для администраторов VMware. Веб-интерфейс доступен на нескольких языках.
Checkmk полностью администрируется через браузер с помощью модуля настройки. Это включает в себя управление пользователями, ролями, группами, периодами времени и т. д. Разрешения могут быть предоставлены гранулярно с использованием концепции ролей. Для этого можно использовать существующие элементы управления доступом на основе ролей (LDAP, AD). Конфигурация Checkmk основана на правилах, поэтому она остается интуитивно понятной и масштабируемой даже в сложных средах. Автоматическое обнаружение и настройка служб, а также автоматическое обновление агента еще больше ускоряют процесс настройки. HTTP API также можно использовать для интеграции CMDB для ускоренной настройки.{ [ необходима цитата ]
Можно настроить и сконфигурировать несколько каналов уведомлений с разными правилами для каждого пользователя. Например, электронные письма могут быть запущены в любое время дня, но уведомления по SMS отправляются только по важным вопросам в часы дежурства. Уведомления можно настроить для всех или для определенных команд, например, уведомить только администраторов хранилища о неисправном жестком диске. Дублирующиеся уведомления группируются вместе, чтобы ни один пользователь не был уведомлен дважды через определенный канал. Кроме того, пользователи могут самостоятельно настраивать свои собственные уведомления. В распределенных средах оповещениями можно управлять централизованно. Для обнаруженных проблем действия могут быть запущены автоматически (управление сигнализацией) с помощью скриптов. Checkmk включает интеграцию с шлюзами электронной почты и SMS , а также с решениями для связи и управления ИТ-услугами, такими как Slack , Jira , PagerDuty , OpsGenie, VictorOps и ServiceNow . { [ необходима цитата ]
Модуль BI интегрирован в графический пользовательский интерфейс. Он объединяет общее состояние бизнес-процессов, их зависимость от сложных приложений и элементов ИТ-инфраструктуры из многих отдельных хостов и служб на основе правил. Его также можно использовать для представления приложений, состоящих из микросервисов, которые в свою очередь состоят из модулей и развертываний Kubernetes. Кроме того, наихудшие сценарии можно моделировать в реальном времени, а исторические данные можно анализировать для понимания причин снижения производительности.{ [ необходима цитата ]
Консоль событий интегрирует обработку сообщений журнала и ловушек SNMP в мониторинг. Она настраивается с помощью гибкого набора правил и решает, следует ли отбрасывать входящие сообщения или как их классифицировать. Она может подсчитывать, сопоставлять, ожидать сообщения, перезаписывать сообщения и многое другое. Похожие записи можно группировать в одно событие (например, несколько неудачных входов) для отслеживания событий. Она также имеет встроенный демон syslog , который получает сообщения напрямую на порт 514, и приемник ловушек SNMP, который получает ловушки на порт 162.{ [ необходима цитата ]
Коммерческие версии Checkmk используют собственную систему метрик и графиков. Метрики временных рядов можно анализировать на длительных интервалах с использованием интерактивных графиков HTML5. Максимальное разрешение составляет одну секунду. Данные можно импортировать из различных источников данных и форматов метрик ( JSON , XML , SNMP и т. д.) и сохранять на диске долгосрочного устройства хранения данных.{ [ необходима цитата ]
В качестве альтернативы, Graphite или InfluxDB могут быть подключены через экспортный интерфейс. Начиная с версии CEE 1.5p16 также доступен плагин для интеграции данных непосредственно из Checkmk в Grafana для визуализации. В настоящее время Checkmk Raw Edition использует PNP4Nagios в качестве графической системы.{ [ необходима цитата ]
Отчетность позволяет напрямую отправлять отчеты в формате PDF , по запросу или автоматически, через регулярные интервалы. Она включает анализ доступности, в котором история состояний за любой желаемый период времени может быть предоставлена одним щелчком мыши. Расчеты доступности могут исключать неконтролируемые периоды времени, корректировать разрешение или игнорировать короткие интервалы. В дополнение к расчетам доступности отчетность также включает отчетность SLA , в которой можно контролировать сложные SLA. Отчетность доступна только в коммерческих версиях Checkmk.{ [ необходима цитата ]
Инвентаризация оборудования/программного обеспечения может использоваться, например, для мониторинга изменений оборудования и программного обеспечения, для проверки наличия установленных обновлений безопасности и для обновления статических данных с динамическими параметрами (например, обновление текущей статистики использования диска на основе данных мониторинга). База данных управления конфигурацией (CMDB) i-doit имеет глубокую интеграцию, которая позволяет обмениваться данными CMDB с данными мониторинга.{ [ необходима цитата ]