Shinken (программное обеспечение) - Shinken (software)
Shinken скриншот | |
Оригинальный автор (ы) | Жан Габес |
---|---|
изначальный выпуск | 1 декабря 2009 г.[1] |
Стабильный выпуск | 2.4.3 / 10 марта 2016 г.[2] |
Репозиторий | |
Написано в | Python |
Операционная система | Unix-подобный, Windows |
Тип | Сетевой мониторинг |
Лицензия | Стандартная общественная лицензия Affero |
Интернет сайт | www |
Shinken является Открытый исходный код компьютерная система и сетевой мониторинг программное приложение совместим с Nagios. Он смотрит хозяева и сервисов, собирает данные о производительности и предупреждает пользователей, когда возникают условия ошибки, и снова, когда условия исчезают.
Архитектура Shinken направлена на упрощение Балансировка нагрузки и высокая доступность. Администратор управляет единственной конфигурацией, система автоматически «разрезает» ее на части и отправляет на рабочие узлы. Он получил свое название от этой функции: Shinken это японский меч.
Шинкен был написан Жаном Габесом как доказательство концепции для новой архитектуры Nagios. Полагая, что новая реализация была быстрее и гибче старой Код C, он предложил его как новую ветку разработки Nagios 4.[3] Это предложение было отклонено авторами Nagios, поэтому Shinken стал независимым сетевой мониторинг программное приложение совместим с Nagios.[4]
Shinken предназначен для работы под любыми операционные системы куда Python бежит. Среда разработки находится под Linux, но также хорошо работает на других Unix варианты и Windows. Процесс реакции (отвечающий за отправку уведомлений) также можно запустить под Android ОПЕРАЦИОННЫЕ СИСТЕМЫ. это бесплатно программное обеспечение, лицензированный в соответствии с условиями Стандартная общественная лицензия Affero как опубликовано Фонд свободного программного обеспечения.
Обзор
- Дизайн
- Система мониторинга написана на Python
- Распределенная архитектура с использованием удаленных объектов Pyro
- Активные и пассивные методы мониторинга
- Мониторинг сетевых сервисов (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH )
- Мониторинг ресурсов хоста (процессор нагрузка, диск использование, системные журналы) на большинстве сетевые операционные системы, включая Майкрософт Виндоус
- Использование таких агентов, как NSClient ++, send_nsca, Проверить МК, Сберегательный TSCA
- Использование агентов, позволяющих удаленно запускать скрипты через Исполнитель подключаемого модуля Nagios Remote (Встроенная реализация на чистом Python включена в Shinken)
- Используя безагентные методы, такие как SNMP, WMI, скриптовый SSH или HTTP (SSL)
- Отправлять результаты проверки напрямую из программ, использующих Apache Thrift (Java, Python, Ruby)
- Мониторинг систем, которые могут отправлять собранные данные по сети в специально написанные плагины (например, VMWare ESX3 / 4/5, Collectd)
- Удаленный мониторинг поддерживается через SSH или же SSL зашифрованный туннели.
- Простой дизайн плагина, который позволяет пользователям легко разрабатывать собственные проверки сервисов в зависимости от потребностей, используя инструменты выбора (сценарии оболочки, C ++, Perl, Рубин, Python, PHP, C #, так далее.)
- Возможность вычислять KPI на основе данных о состоянии и производительности в ядре Shinken для создания новых сервисов и данных о производительности.
- Системные внешние интерфейсы
- Livestatus совместимый API, который предоставляет информацию о состоянии, конфигурации и производительности
- Экспорт данных в графические модули (PNP4Nagios, Графитовый, и другие доступны)
- Поддержка собственного API обмена сообщениями Android
- Экспорт данных о событиях в системы регистрации с помощью syslog и RabbitMQ
- Модули могут быть присоединены к любому процессу Shinken для очень эффективного расширения его возможностей.
- Спектакль
- Доступны параллельные проверки обслуживания и хоста
- Возможность распределить процессы опроса на нескольких серверах
- Поддержка для простой реализации избыточный и узлы мониторинга с балансировкой нагрузки
- Поддержка нескольких резервных внешних интерфейсов
- Возможность направлять проверки в специализированные опросчики (процессы, специализирующиеся на выполнении плагинов)
- Корреляция и бизнес-аналитика
- Родительские отношения с детьми
- Возможность определять иерархию сетевых хостов с использованием «родительских» хостов, что позволяет обнаруживать и различать хосты, которые не работают, и те, которые недоступны.
- 1 к 1, 1 к N
- Деревья зависимостей произвольной формы между любым сервисом и хостом
- 1 к 1, 1 к N
- Поддержка интегрированных бизнес-правил
- Вычисляемые хосты или службы, представляющие состояние бизнес-службы
- Поддержка определения влияния на бизнес для каждой услуги, хоста или бизнес-процесса
- Возможность показать только корневые проблемы
- Автоматически изменяет дочерние состояния на неизвестные, когда родитель недоступен
- Родительские отношения с детьми
- Другие свойства
- Уведомления о контактах при возникновении и устранении проблем с сервисом или хостом (через электронное письмо, пейджер, SMS или любой пользовательский метод через систему плагинов)
- Возможность определять обработчики событий, которые будут запускаться во время событий службы или хоста для упреждающего разрешения проблем.
- Возможность переопределить серьезность предупреждения на основе правил регулярных выражений
- Поддержка имен объектов UTF-8
- Поддержка мониторинга нескольких клиентов с помощью одной точки администрирования
- Поддержка повторяющихся простоев с помощью атрибута maintenance_period
- Расширенная система шаблонов с наследованием и перегрузкой
Архитектура
Установка Shinken состоит из нескольких процессов, каждый из которых оптимизирован под конкретную задачу.
- Арбитр
- Загружает файлы конфигурации и отправляет объекты хоста и службы планировщику (ам)
- Watchdog для всех других процессов и отвечает за инициирование отработки отказа при обнаружении ошибки
- Может маршрутизировать события результатов проверки от получателя к связанному с ним планировщику
- Модули арбитра
- Существует множество модулей для управления данными конфигурации.
- Планировщик
- Планирует следующий запуск проверки хоста и службы
- Отправляет чеки опросчикам
- Вычисляет состояние и зависимости
- Применяет триггеры KPI
- Создает уведомления и отправляет их участникам реакции
- Обновляет файл хранения (или другие механизмы хранения)
- Отправляет брокеров (внутренние события любого рода) брокерам
- Опросчик
- Получает проверки от планировщика, выполняет плагины или интегрированные модули опроса и отправляет результаты планировщику
- Модули опроса
- NRPE - выполняет активный сбор данных для агентов Nagios Remote Plugin Executor
- SNMP - выполняет активный сбор данных для агентов с поддержкой SNMP (на стадии бета-тестирования с использованием PySNMP)
- CommandPipe - получает данные о пассивном состоянии и производительности из скрипта check_mk, не обрабатывает команды
- Реактор
- Получает уведомления и обработчики событий от планировщика, выполняет плагины / скрипты и отправляет результаты в планировщик
- Маклер
- Имеет несколько модулей (обычно работающих в собственных процессах)
- Получает брокеров от планировщика и перенаправляет их модулям брокера
- Модули решают, обрабатывают ли они брокера, в зависимости от типа брокера (журнал, начальный статус службы / хоста, результат проверки, время начала / окончания простоя, ...)
- Модули обрабатывают брокеров по-разному. Некоторые из модулей:
- webui - обновляет объекты в памяти и предоставляет веб-сервер для собственного графического интерфейса Shinken
- livestatus - обновляет объекты в памяти, которые могут быть запрошены с помощью API с помощью графических интерфейсов, таких как Thruk или Check_MK Мультисайт
- графит - экспорт данных в базу данных Graphite
- ndodb - обновляет базу данных ndo (MySQL или Oracle)
- simple_log - централизовать логи всех процессов Shinken
- status_dat - записывает в файл status.dat, который может быть прочитан классическим графическим интерфейсом на основе cgi.
- Ресивер (необязательно)
- Пассивно получает данные из локальных или удаленных протоколов
- Пассивный прием данных, который буферизуется перед пересылкой соответствующему планировщику (или арбитру для глобальных команд)
- Позволяет настроить «ферму» получателей для обработки большого количества входящих событий.
- Модули для ресиверов
- NSCA - приемник протокола NSCA
- Collectd - получение данных о производительности от collectd по сети
- CommandPipe - получение команд, обновлений статуса и данных о производительности
- TSCA - интерфейс Apache Thrift для отправки результатов проверки с использованием высокоскоростного буферизованного TCP-соединения непосредственно из программ
- Веб-сервис - веб-сервис, который принимает HTTP-сообщения с результатами проверки (бета).
Для каждого типа процесса может быть несколько экземпляров, либо на одном хосте, либо на множестве хостов. Добавление дополнительных процессов автоматически распределяет нагрузку.
Shinken WebUI - это встроенный веб-интерфейс, который предоставляет информацию о состоянии, конфигурации, взаимодействии почти в реальном времени, панель инструментов для визуализации данных трендов из баз данных Graphite и визуализацию графиков дерева зависимостей.
Shinken skonfUI - это независимый веб-интерфейс, используемый для управления процессом обнаружения и задач настройки.
Сценарий командной строки shinken-admin используется для управления аспектами системы на уровне процесса выполнения, такими как изменение уровней ведения журнала и получение отчетов о работоспособности.
Сценарий CLI install.sh - это основной сценарий управления для установки, удаления или обновления Shinken и связанного с ним программного обеспечения.
Разработка
Shinken имеет открытый и разработка через тестирование подход, при котором участники проекта предоставляют новые функции, рефакторинг кода, качество кода и исправление ошибок.[5]
Исходный код размещен на GitHub.[6] An сервер интеграции запускает тесты при каждой фиксации и углубленные тесты через равные промежутки времени.
В Документация Shinken размещен в вики.
Смотрите также
Рекомендации
- ^ Официальный релиз в списке рассылки Nagios по адресу http://sourceforge.net/p/nagios/mailman/message/24087464/
- ^ http://shinkenlab.io/release-2-4-2/
- ^ Габес, Жан (2009-12-01). «Синкен: новое предложение по реализации». GitHub. Получено 2014-03-04.
Я хотел бы получить ваши отзывы о (незаконченной) повторной реализации Nagios под названием "Shinken", которую я написал на Python, которая быстрее и более модульна, чем текущая реализация Nagios на C
- ^ Габес, Жан (01.06.2010). «Shinken: смешивание с Nagios невозможно». Команда Shinken. Архивировано из оригинал на 2014-01-23. Получено 2010-06-01.
Мы так и не получили ответа на первоначальное предложение Shinken, потому что нас считают ренегатом. Фактически, теперь мы можем сказать, что мы вилка.
- ^ Участники Shinken на Охлох
- ^ исходный код на GitHub
внешняя ссылка
- Официальный веб-сайт
- Плагины мониторинга дом официальных плагинов
- (на немецком) Linux Magazin статья о Shinken в немецком Linux Magazin 04/2010