SMART-SERVER – прикладное программное обеспечение сервера сбора информации, используемое в сфере электроэнергетики. Основным назначением SMART-SERVER является сбор данных с устройств нижнего и среднего уровня (измерительные преобразователи, контроллеры и другие), дорасчет параметров и ретрансляция данных на различные уровни диспетчерского управления.
Прикладное программное обеспечение SMART-SERVER может быть использовано в качестве коммуникационного шлюза, сервера телемеханики, конвертера протоколов и имеет широкий спектр применения в системах телемеханики, сбора и передачи информации, АСУТП подстанций, сбора-передачи технологической информации (ССПТИ) и обмена технологической информацией с автоматизированными системами Системного оператора (СОТИ АССО).
Прикладное ПО SMART-SERVER аттестовано в ПАО «ФСК ЕЭС».
В декабре 2016 года разработанное компанией «РТСофт» прикладное ПО SMART-SERVER, предназначенное для сбора информации, внесено в Единый реестр российских программ для электронных вычислительных машин и баз данных Минкомсвязи РФ. Внесение ПО SMART-SERVER по классу «Информационные системы для решения специфических отраслевых задач» в реестр российского программного обеспечения позволит заказчикам АО «РТСофт» применять этот продукт в рамках современной политики ограничения использования ПО западных производителей.
Ранее в статьях, посвященных Zabbix, мы рассказали про особенности мониторинга SAAS-сервиса интернет-магазинов, а также про установку сервера и агента Zabbix.
Новая статья поможет вам настроить мониторинг дисков и программных RAID-массивов, созданных с помощью mdadm. Без преувеличения можно сказать, что мониторинг этих устройств сервера представляет собой одну из важнейших задач.
Если не контролировать постоянно состояние дисков и массивов, рано или поздно сервер прекратит свою работу. А если вдобавок еще и не делать резервное копирование данных, то в худшем случае при аварии с дисками можно потерять бизнес.
- Объекты мониторинга дисковой системы
- Контроль программных RAID-массивов mdadm
- Контроль программного массива вручную
- Установка шаблона zabbix_mdraid
- Импорт шаблона zabbix_mdraid
- Установка скрипта zabbix_mdraid
- Редактирование файла конфигурации агента Zabbix
- Просмотр данных о программных массивах
- Триггеры контроля состояния программных дисковых массивов
- Мониторинг S. дисковых устройств
- Контроль параметров S. вручную
- Контроль параметров S. с помощью шаблона SMART by Zabbix agent 2
- Мониторинг S. S с помощью своего шаблона Zabbix
- Настройка мониторинга
- Проверка получения параметра с сервера Zabbix
- Создание шаблона для Zabbix
- Добавление триггера
- ☑ Включено в реестр отечественного ПО
- Стоимость программного обеспечения
Объекты мониторинга дисковой системы
Перечислим объекты и свойства дисковых систем серверов, которые необходимо контролировать в любой системе:
Сейчас мы займемся решением только первых двух задач — настроим мониторинг программных RAID-массивов и контроль исправности дисков с помощью анализа данных S. M. A. R. T., а остальное оставим на потом.
На серверах SAAS-сервиса интернет-магазинов используются зеркальные аппаратные и программные массивы RAID-1. При выходе из строя одного из дисков массива сервер продолжает работать. Неисправный диск можно заменить в горячем режиме, не останавливая работу сервера и размещенных на нем интернет-магазинов.
Контроль программных RAID-массивов mdadm
Относительно недорогие серверы обычно не комплектуются аппаратными контроллерами дисков. В этом случае имеет смысл объединять диски в программные зеркальные массивы RAID-1 с помощью программы mdadm.
Если вы берете сервер в аренду, то можете заказать установку нужной вам ОС, а также объединение дисков в зеркало. Когда вы размещаете в дата-центре свой собственный сервер, то установку ОС и создание дисковых массивов придется делать самостоятельно.
В любом случае для размещения ОС и сайтов можно использовать два быстрых диска SSD, объединенных в зеркало RAID-1, а для создания и локального хранения резервных копий — массив RAID-1 из двух дисков SATA. Здесь предполагается, что резервные копии вначале создаются локально, а потом копируются на выделенные серверы для бэкапов.
Контроль программного массива вручную
Получив сервер в аренду, первым делом проверьте количество процессоров и ядер, объем памяти, объем доступного дискового пространства, а также состояние дисковых массивов.
Что касается количества процессоров, ядер и объема оперативной памяти, то для ручного контроля можно использовать утилиты lscpu и free. Команда «df -h» поможет вам узнать объем дискового пространства, занимаемого смонтированными файловыми системами, объем использованного и доступного дискового пространства.
Также запустите команду lsblk, которая выводит на консоль информацию обо всех доступных блочных устройствах в виде дерева:
Как видите, на сервере установлены диски sda, sdbs sdcs и sdd. Создано три дисковых массива md0, md1 и md2.
Для ручной проверки состояния дисковых массивов введите команду:
Когда массив находится в состоянии восстановления, вы увидите строки такого вида:
Если вы только что получили доступ к арендованному серверу и занимаетесь его проверкой, возможно, что еще не все дисковые массивы окончательно синхронизировались. Перед подключением мониторинга нужно дождаться завершения синхронизации.
Установка шаблона zabbix_mdraid
В составе Zabbix уже имеются шаблоны, предназначенных для мониторинга различных устройств и сервисов. Дополнительно на сайте https://www.zabbix.com/integrations можно найти очень много шаблонов, добавленных сторонними разработчиками.
В комплекте с этими шаблонами идут скрипты, которые нужно подключить к агенту Zabbix через файл конфигурации, а также инструкции по установке.
Что касается мониторинга программных массивов, созданных с помощью mdadm, то в составе встроенных шаблонов Zabbix 6.2 его нет. Поэтому мы воспользуемся готовым шаблоном Template MD RAID, доступным в Github:https://github.com/linuxsquad/zabbix_mdraid.
Импорт шаблона zabbix_mdraid
Для добавления на странице веб-интерфейса Zabbix выберите из меню Configuration строку Templates. Вы попадете на страницу с полным списком шаблонов. Щелкните кнопку Import, расположенную в верхнем правом углу страницы Templates. Далее в появившемся на экране всплывающем окне нажмите кнопку Import.
Если шаблон импортировался успешно, он появится в общем списке шаблонов под именем Template MD RAID.
Установка скрипта zabbix_mdraid
Далее установите для файла скрипта разрешение на запуск, а затем назначьте владельцем пользователя zabbix:
chmod +x /usr/local/bin/zabbix_mdraid.sh
chown zabbix:zabbix /usr/local/bin/zabbix_mdraid.sh
Скрипт /usr/local/bin/zabbix_mdraid.sh будет запускаться агентом Zabbix с помощью sudo. Добавьте командой visudo разрешение на запуск скрипта через sudo (укажите полный путь к скрипту):
zabbix ALL= (ALL) NOPASSWD: /usr/local/bin/zabbix_mdraid.sh
Проверьте, что скрипт запускается от пользователя zabbix без ошибок:
sudo -u zabbix ‘/usr/local/bin/zabbix_mdraid.sh’
Если посмотреть исходный текст скрипта, то видно, что для получения списке программных дисковых массивов используется команда:
Результат работы этой команды записывается в файл /tmp/zabbix_mdraid_discovery.json примерно в таком виде:
Этот файл используется для низкоуровневого обнаружения LLD (Low-level discovery), описанного в документации: https://www.zabbix.com/documentation/current/en/manual/discovery/low_level_discovery.
Далее для получения состояния каждого массива используется команда «mdadm —query —detail», которой в качестве параметра передается путь к массиву:
Скрипт zabbix_mdraid.sh извлекает отсюда параметры состояния массива и передает их серверу Zabbix.
Редактирование файла конфигурации агента Zabbix
Для запуска скрипта zabbix_mdraid.sh добавьте в файл конфигурации агента /etc/zabbix/zabbix_agentd.conf следующие строки:
Затем перезапустите агент:
systemctl restart zabbix-agent
Для zabbix-agent2 используется файл конфигурации /etc/zabbix/zabbix_agent2.conf.
На этом установка шаблона закончена, и можно отслеживать получение данных о программных массивах.
Просмотр данных о программных массивах
Выберите в меню Monitoring строку Latest Data. Далее с помощью меню Host group и Hosts выберите нужный сервер, где вы только что отредактировали файл конфигурации агента Zabbix, а затем щелкните кнопку Apply.
Вы увидите очень большую таблицу данных, полученных от агента. Щелкните в поле TAG Values строку MD_RAID, чтобы на странице остались только данные, полученные с помощью шаблона zabbix_mdraid (рис. 1).
Рис. 1. Данные мониторинга программных дисковых массивов
Чтобы посмотреть график изменений данных, щелкните в соответствующей строке кнопку Graph. На рис. 2 показано изменение скорости записи данных для массива /dev/md1.
Рис. 2. График изменения скорости записи данных для массива /dev/md1
Триггеры контроля состояния программных дисковых массивов
Чтобы проверять, находятся ли отслеживаемые данные в допустимых пределах, а также имеют ли они допустимые значения, в Zabbix используются триггеры.
Вы можете посмотреть, какие триггеры созданы для контролируемого сервера и в каком они находятся состоянии. Для этого откройте список контролируемых узлов, выбрав из меню Configuration строку Hosts. В таблице щелкните ссылку Triggers в строке нужно хоста, в результате чего в окне браузера появится довольно большая таблица триггеров, определенная для хоста.
На рис. 3 показаны строки таблицы, имеющие отношение к шаблону zabbix_mdraid.
Рис. 3. Триггеры шаблона zabbix_mdraid
Эти триггеры были добавлены в процессе низкоуровневого обнаружения LLD.
Обратите внимание: если состояние массива, взятое из элемента данных с именем State, содержит строки degraded, resyncing, recovering или Not Started, триггер сработает. При правильной настройке системы оповещений, о которой мы расскажем в отдельной статье, системный администратор получит оповещение по электронной почте, через SMS или другим способом.
О создании триггеров можно прочитать в документации Zabbix: https://www.zabbix.com/documentation/current/en/manual/quickstart/trigger. Для версии 6.0 есть версия на русском языке: https://www.zabbix.com/documentation/6.0/ru/manual/quickstart/trigger.
Мониторинг S. дисковых устройств
В 1995 году производители жестких дисков создали технологию самотестирования, анализа состояния и накопления статистических данных об ухудшении характеристик дисков с названием S. M. A. R. T. ( Self-Monitoring Analysis and Reporting Technology).
С помощью программы smartctl, входящей в пакет smartmontools, вы можете контролировать значение параметров S. M. A. R. T. дисковых устройств вашего сервера как вручную, так и средствами Zabbix.
Контроль параметров S. вручную
Для начала установите пакет smartmontools. В ОС Debian это можно сделать следующей командой:
# apt-get install smartmontools
После установки вы сможете запускать программу smartctl для получения значений параметров.
Убедитесь, что будет установлена версия программы smartctl не ниже 7.1, это будет нужно для мониторинга параметров S. M. A. R. T. с помощью встроенного шаблона SMART by Zabbix agent 2. Проверить версию smartctl можно так:
Давайте посмотрим параметры S. M. A. R. T. для устройства /dev/sda:
# smartctl -a /dev/sda
Обратите внимание на таблицу значений параметров, где есть идентификатор параметра ID, название параметра NAME, так называемое нормализованное значение VALUE, пороговое значение THRESH и другие данные:
В интернете нетрудно найти описание этих параметров по названию. Заметим, что для дисков SSD разных производителей параметры могут различаться, и не все они документированы. Для дисков SSD компании Intel хорошее описание приведено здесь: https://www.thomas-krenn.com/en/wiki/SMART_attributes_of_Intel_SSDs, а для Kingston — здесь: https://media.kingston.com/support/downloads/MKP_306_SMART_attribute.pdf.
Также довольно полное описание параметров можно найти на этой странице: https://wiki5.ru/wiki/S. M. A. R. T.
Когда вы контролируете состояние дисков Intel SSD, обратите внимание на следующие параметры:
Если первый из них достигает порогового значение 10, то ресурс диска подходит к концу. Второй представляет собой индикатор износа накопителя, и при достижении порогового значения диск подлежит замене.
Для дисков SSD Kingston интересен параметр 231 SSD Life Left, значение которого зависит от выполненный циклов стирания.
Что касается жестких дисков, то для них важен контроль следующих параметров:
Температуру имеет смысл контролировать для дисков любых типов.
Еще раз напомним, что диски разных производителей могут использовать разные параметры, поэтому точную информацию лучше искать на сайте производителя для ваших моделей.
В любом случае при ручном контроле нужно следить, чтобы значения VALUE не были равны или ниже соответствующих пороговых значений THRESH.
Контроль параметров S. с помощью шаблона SMART by Zabbix agent 2
В Zabbix версии 6.2 имеется шаблон SMART by Zabbix agent 2, контролирующий состояние дисков исходя из значений параметров S. M. A. R. T. Для работы этого шаблона вам нужно будет установить на сервер агент zabbix-agent2, о чем мы рассказывали в предыдущей статье.
Описание шаблона SMART by Zabbix agent 2 есть на этой странице: https://www.zabbix.com/integrations/smart.
Если у вас Zabbix версии 6.2, то для включения мониторинга S. M. A. R. T. на контролируемом сервере просто добавьте шаблон SMART by Zabbix agent 2 к шаблонам сервера.
Чтобы это сделать, выберите из меню Configuration строку Hosts, а затем щелкните название сервера. Откроется окно, где вам нужно щелкнуть кнопку Select в блоке Templates, а затем отыскать шаблон с названием SMART by Zabbix agent 2, отметить флажок возле него и щелкнуть кнопку Select.
В результате шаблон SMART by Zabbix agent 2 будет добавлен к серверу (рис. 4).
Рис. 4. Добавление шаблона SMART by Zabbix agent 2
Шаблон SMART by Zabbix agent 2 устроен так, что ему не нужны дополнительные скрипты. Он обращается за данными к пакету smartmontools с помощью агента zabbix-agent2.
Через некоторое время после установки шаблона с помощью LLD к контролируемому серверу будут добавлены элементы данных и триггеры.
Для просмотра созданных элементов данных и триггеров выберите из меню Configuration строку Hosts. В строке вашего сервера для просмотра данных щелкните ссылку Items, а для просмотра триггеров — ссылку Triggers.
Вы увидите, что для сервера всего было создано очень много элементов данных. С помощью фильтра оставьте только те элементы, которые были получены с помощью LLD с именем sda (рис. 5).
Рис. 5. Отфильтровываем нужные нам элементы данных
В результате получаем вполне обозримый список элементов данных, имеющий отношение к S. M. A. R. T. (рис. 6).
Рис. 6. Элементы данных S. M. A. R. T. для диска /dev/sda
Аналогичным способом вы можете посмотреть список триггеров контролируемого сервера. Триггеры, созданные для диска /dev/sda, показаны на рис. 7.
Рис. 7. Триггеры, созданные для диска /dev/sda
Аналогичные события создаются и при обнаружении каких-либо других существенных проблем с диском.
Текущие значения параметров S. M. A. R. T. (как и других отслеживаемых параметров) и графики их изменения можно увидеть, если из меню Monitoring веб-интерфейса Zabbix выбрать строку Latest Data.
Мониторинг S. S с помощью своего шаблона Zabbix
Если по каким-то причинам вы не можете использовать новую версию Zabbix, или если вам нужно настроить мониторинг параметров S. M. A. R. T. своим особым способом, то такая возможность также имеется.
В любом случае сначала нужно установить пакет smartmontools, как это было описано ранее.
После этого создайте несложный шаблон для отслеживания параметра «здоровья» 233 Media_Wearout_Indicator дисков SSD.
Вы можете получить значение этого параметра для диска /dev/sda через консоль следующим образом:
Как видите, здесь значение этого параметра равно 97, что очень даже неплохо.
Настройка мониторинга
Добавьте в конец файла /etc/zabbix/zabbix_agentd.conf такие строки:
Затем перезапустите агент Zabbix:
# systemctl restart zabbix-agent
Не забудьте установить sudo (если эта программа у вас еще не установлена), и разрешить запуск через sudo программы /usr/sbin/smartctl.
Для разрешения запуска с помощью visudo добавьте в файл /etc/sudoers строку:
zabbix ALL= (ALL) NOPASSWD: /usr/sbin/smartctl
Проверка получения параметра с сервера Zabbix
Проверьте, что сервер Zabbix получает данные добавленного вами мониторинга S. M. A. R. T. от агента. Установите на сервере Zabbix программу zabbix_get:
apt install zabbix-get
Теперь на сервере Zabbix проверьте получение нужного вам параметра от агента Zabbix, запущенного на контролируемом сервере:
Здесь вместо xxx.xxx.xxx.xxx в параметре -s укажите адрес IP контролируемого сервера. Идентификатор атрибута S. M. A. R. T. следует указывать в шестнадцатеричной системе счисления с префиксом 0x.
В результате команда должна вывести на консоль значение атрибута 0xe9 или 233 (в десятичной системе счисления).
Результатом выполнения команда должно быть значение 100 при новом диске. У нас диск не совсем новый, поэтому мы получили значение 97.
Создание шаблона для Zabbix
Вы можете создать шаблон для мониторинга самостоятельно. Для этого зайдите на страницу Templates, доступную в меню Configuration, и щелкните кнопку Create Template.
Задайте имя шаблона, скажем, с именем MY SMART SSD и добавьте его в группу шаблонов Templates (если вы еще не создали группу для своих шаблонов).
Далее найдите этот шаблон в общем списке и добавьте в него элемент Items с помощью кнопки Create Items. Укажите такие параметры:
Создайте аналогичный шаблон для диска /dev/sdb/.
Добавление триггера
Теперь откройте пока пустой список триггеров и щелкните кнопку Add Trigger. Для нового триггера задайте такие параметры:
Аналогичный триггер создайте и для диска /dev/sdb.
Теперь, когда вы создали шаблон, подключите его к контролируемому серверу и наблюдайте получение данных через страницу Latest Data.
При необходимости подобным образом вы можете добавить в свой шаблон другие элементы данных и триггеры для отслеживания нужных вам параметров S. M. A. R. T.
В следующей статье мы займемся мониторингом аппаратных дисковых массивов, созданных с применением контроллера LSI.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
☑ Включено в реестр отечественного ПО
Универсальное ПО для приема, обработки и передачи информации с различным
функционалом: ПО сервера ТМ, контроллера присоединений цифровой ПС, ССПИ, ЦППС.
Разработчик: АО «РТСофт»
ПО СМАРТ-СЕРВЕР2 предназначено для решения широкого спектра задач на
различных уровнях объектов энергетики и диспетчерских центров. В зависимости от
возлагаемых задач ПО выполняет определенные функции обработки информации.
ПО СМАРТ-СЕРВЕР2 может выполнять различные функции:
ПО СМАРТ-СЕРВЕР2 может применяться для построения систем:
В состав базовых технологических функций, реализуемых программным
комплексом СМАРТ-СЕРВЕР2, входят:
Стоимость программного обеспечения
Стоимость программного обеспечения (конечного решения для покупателя) рассчитывается и определяется индивидуально в зависимости от Технического задания Покупателя.
Универсальное ПО для сбора и передачи данных,
обеспечения информационного обмена, интеграции, распределения информационных
потоков на энергообъекте.
SMART-SERVER – универсальное программное обеспечение для построения
прикладных систем сбора, обработки и передачи технологической информации в
электроэнергетике.
Программный комплекс является ключевым компонентом прикладных систем для
обеспечения информационного обмена, интеграции, распределения информационных
потоков на энергообъекте. S MART-SERVER
– универсальное программное обеспечение для построения прикладных систем сбора,
обработки и передачи технологической информации в электроэнергетике.
SMART-SERVER осуществляет сбор технологической информации с
микропроцессорных устройств управления и защиты, обеспечивает межсистемный обмен
данными и информационное взаимодействие с вышестоящими центрами управления.
Программный комплекс имеет модульную структуру, гибкие механизмы
формирования набора коммуникационных протоколов, что позволяет адаптировать
SMART-SERVER под решения самого широкого спектра задач.
SMART-SERVER используется для построения прикладных подсистем:
В состав базовых технологических функций, реализуемых программным
комплексом SMART-SERVER, входят:
Программный комплекс SMART-SERVER аттестован для применения на объектах
магистральных и распределительных сетей ПАО «ФСК ЕЭС» в составе ПТК
SMART-ССПТИ.