Shinken (программное обеспечение) - Shinken (software)

Shinken
Shinken скриншот
Shinken скриншот
Оригинальный автор (ы)Жан Габес
изначальный выпуск1 декабря 2009 г.; 11 лет назад (2009-12-01)[1]
Стабильный выпуск
2.4.3 / 10 марта 2016 г. (2016-03-10)[2]
Репозиторий Отредактируйте это в Викиданных
Написано вPython
Операционная системаUnix-подобный, Windows
ТипСетевой мониторинг
ЛицензияСтандартная общественная лицензия Affero
Интернет сайтwww.shinken-мониторинг.org

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 размещен в вики.

Смотрите также

Рекомендации

  1. ^ Официальный релиз в списке рассылки Nagios по адресу http://sourceforge.net/p/nagios/mailman/message/24087464/
  2. ^ http://shinkenlab.io/release-2-4-2/
  3. ^ Габес, Жан (2009-12-01). «Синкен: новое предложение по реализации». GitHub. Получено 2014-03-04. Я хотел бы получить ваши отзывы о (незаконченной) повторной реализации Nagios под названием "Shinken", которую я написал на Python, которая быстрее и более модульна, чем текущая реализация Nagios на C
  4. ^ Габес, Жан (01.06.2010). «Shinken: смешивание с Nagios невозможно». Команда Shinken. Архивировано из оригинал на 2014-01-23. Получено 2010-06-01. Мы так и не получили ответа на первоначальное предложение Shinken, потому что нас считают ренегатом. Фактически, теперь мы можем сказать, что мы вилка.
  5. ^ Участники Shinken на Охлох
  6. ^ исходный код на GitHub

внешняя ссылка