Программное
обеспечение
магистрант
Ауез Нурбек
Карагандинский государственный технический университет
Разработка
системы мониторинга с дистанционными сенсорами
Важность системы
контроля состоит в том, чтобы управлять условиями окружающей среды в центре
обработки данных, которая увеличивается с годами. Предусматриваемая
система контроля была прогрессивным проектом. 1-й шаг-это опрос, рассматривающий
возможные аппаратные решения, коммерческие и открытые аппаратные средства. Преимущество
коммерческих систем состоит в том, что они оказывают техническую поддержку,
которое может быть расширено впоследствии. Минусом является - цена, несмотря на
то, что для средних и крупных центров обработки данных этот фактор не проблема,
другой вопрос заключался в оценке различных решений, состояла в том, как сложно
было интегрировать их с уже имеющейся инфраструктурой на основе Nagios [1].
В данной статье описаны
функций систем Nagios
и Arduino, используемых в предложенной системе контроля.
Nagios - система с открытым исходным кодом, которая
позволяет контролировать рабочее состояние машин, сетей и служб. В дальнейшем
мы будем кратко описывать некоторые характеристики. Основная задача Nagios -это выполнение через
использование плагинов, небольшие программы, ответственные за выполнение тестов
и обработку вывода.
Состояние тестов
описано одним из четырех состояний: нормальное, предупреждение, критическое или
неизвестное. В случае контроля числовых значений эти состояния определены при
помощи порогов.
Результаты представлены
веб-интерфейсом, где пользователь может принять решение видеть обзор полной
системы или более подробное представление каждой машины или службы.
Функциональность основной системы может быть расширена через использование
дополнений. Некоторые из этих дополнений обеспечивают интерфейсы для Nagios, для этого следует выполнить программные
коды на удаленных машинах, полученные данные плагинами хранить на сервере в
базе данных, и отображать графические представления из этих данных.
Типичная диаграмма
плагина Nagios
показана в Рис 1. В стартовой фазе плагин, при необходимости, устанавливает
пороги для критических и предупреждающих состояний. Второй шаг должен
продолжиться с фактического измерения. Если этот шаг приводит к сбою сенсора,
то необходимо его выполнение с кодом выхода 3. Результат позже проверяется по
критическим и предупреждающим диапазонам и, в зависимости от результата, плагин
распечатывает надлежащее сообщение и заканчивается соответствующим статусом
выхода [2].

Рисунок 1. Основная
диаграмма универсального плагина Nagios.
Плагины могут быть
созданы на любом языке программирования, вместе с простой программой, делает
создание нового плагина чрезвычайно простой задачей. Кроме того, есть наборы
доступных плагинов обеспечения к, например, проверяют состояние HTTP, SNMP, SSH, загрузка машины или объем
используемого диска.
Arduino - является
платой микроконтроллера и IDE,
разработанного с целью того, чтобы простым новичками без опыта в электронике и
в программном обеспечении использовать, а так же, чтобы быть доступным [3].
В наше время есть
несколько плат Arduino: UNO,
DUE,
Duemilanove,
MEGA,
и т.д. Простота использования системы может быть приписана высокому количеству
доступных библиотек - это позволяет взаимодействовать с внешними устройствами,
или датчиками, приводами с вызовом требуемой функции. Ниже описаны компоненты
программного и аппаратного обеспечения системы, которую мы разработали.
Аппаратные средства. Было
решено использовать цифровые датчики в этом проекте, потому что они калиброваны
на фабрике и использованы протоколы цифровой связи. Датчики, используемые в
этом проекте следующее: датчик Maxim DS18B20 - цифровой термометр с точностью
до 0.5°C от-10°C до +85°C. Он использует 1-проводную магистральную систему, который
требует только 1 контакта для коммуникации. Bosch BMP085 - датчик давления на
основе пьезорезисторной технологии, обеспечивает точность 1 гПа для давления
между 300 гПа и 1100 гПа. Sensirion SHT75 - датчик температуры и влажности,
точность - 2%-влажность, измеряемая влажность 10%-90% при 25°C.

Рисунок 2. Схема
соединения датчиков к Arduino.
В Рис 2 показано
проводное соединение датчиков SHT75 и BMP085 к плате Arduino. Однако датчику SHT75
нужен резистор подтягивания между питанием и данными. Программное обеспечение. В
Рис 3 показаны элементы программного обеспечения, которые управляет систему,
описаны в этой статье. 1й шаг- плагин Nagios запрашивает состояние среды в
нашем центре обработки данных, т.е. это запрашивает значения -температура,
влажность и давление всех установленных датчиков. Arduino получает измерение
датчиков, изначально проверяет, являются ли данные за пределами диапазонов, в
случае, уведомление будет отправлено операторам в центр обработки данных. Во
всех случаях измеренное значение передают обратно основному серверу. Сервер по
полученной информации выполняет проверку средней температуры, измеряя
подмножеством температурных датчиков. Если это среднее число выше 45°C, сообщить
о критическом состоянии [4].
В конечный цикл запускается,
читая все датчики и проверка, является ли среднее число выбранного подмножества
датчиков в критическом состоянии или нет. Если это правда, то отправляется уведомление
операторам центра обработки данных. Затем программа в течение 5 минут переходит
в состояние – свободно, прежде чем приступить к следующему считыванию датчиков.
Как только данные
датчиков собраны платой Arduino, работы системы завершается. Мы покажем датчики
в нашей инфраструктуре и графики, сгенерированные Nagiosgraph с данными, полученные
с датчиков. Рисунок 4 показывает расположение датчика температуры, на 5
показывает расположение датчиков влажности и давления около потолка центра
обработки данных.

|
Рисунок
4. Расположение температурных
датчиков в стойках. |
Рисунок
5. Расположение давления и датчиков влажности в центре обработки данных. |

Рисунок 6. Данные
Nagiosgraph получены с датчиков температуры.
В этой статье описана
функциональная система, которая контролирует окружающие условия в центре данных.
Была развита система мониторинга для выполнения необходимых задач, решений,
которые объединяет микроконтроллеры Arduino с Nagios. С помощью открытых систем
было создано доступные решения для информационных центров.
Литература:
1. Nagios website: http://www.nagios.org
2. Schubert
M, Bennet D, Gines J, Hay A and Strand J 2008 Nagios 3 Enterprise Network
Monitoring (Syngressbooks) ISBN: 978-1-59749-267-6
3. Arduino
website: http://www.arduino.cc
4.Maxim
DS18B20: http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf