Skip to content

Сервисы NMC

Monit - средство отслеживания состояния системы и управления сервисами (аналог systemctl), появился после версии 68+

Альтернатива в случае отсутствия monit:

init.d - для запуска сервисов на NMC (при перезагрузке)

/etc/ - по этому адресу находятся конфигурационные файлы сервисов.

Агенты запущенные на NMC:

  • RMC HAL(hardware abstraction layer)
  • Inventory_agent
  • Influx Client
  • CMD agent
  • IPMI Status Agent

Подробнее о сервисах

  • RMC HAL(hardware abstraction layer) - сервис предостовляющий высокоуровневый API для работы с низкоуровневыми устройствами аппартной платформой RMC (i2c усройства, контроллер блока питания, расширитель портов). RMC HAL включает в себя возможность быстрой конфигурации комманд для работы с данными устройствами, а также систему опроса (poller) различных низкоуровневых датчиков и утройств.

    Компоненты сервиса: - node_hal_s - считывает состояния подключенных устройств (данные о Led'aх материнской платы, информация от Cypress) и конвертирует их (в формат 'captain_proto', like 'protobuf'), затем отправляет сообщением в zmq_proxy. - zmq_proxy - Точка доступа к данным, которые собрал node_hal_s для других агентов. - capn_zmq_c - Агент, который может быть использован, чтобы просмотреть данные, которые собираются

  • inventory_agent (rmc_inventory_agent) - собирает данные с данного узла (bmc-mac, uuid узла, версии биоса, настройки сетевых интерфейсов rmc и bmc, местоположение узла в системе (backplane address), версии cypress, версии прошивок & etc.) агрегирует их и отправляет на exmt_rmc_discovery(docker container запущеный на голове), после чего осуществляется "процесс discovery", информация записывается в cmdb и узел появляется в UI. Так же собирает информацию о led и отправялет в cmdb.

    возможные проблемы: не пингуется sercive.consul проблемы uuid (если агент не может получить uuid) - для решения: выключаем inventory_agent, проверяем доступность шины e2c(запуском любой команды (например ipmitool lan print кроме ipmb_basebord_get_uuid) агент может не подниматься("sick fault") , РЕШЕНИЕ : перезапустить несколько раз агента , если не помогает сделать mc_reset_cold

  • influx-client - Агент, который собирает данные с датчиков и отправляет их в InfluxDB.

  • CMD agent - rmc-cmd-agent - Агент, отвечающий за исполнение команд, получаемых из UI

  • IPMI Status Agent - rmc-ipmi-status-agent - Агент, который собирает данные с BMC через LAN IPMI (как пользователь "rmc", который создается при помощи скрипта 'ipmi_ch3_setup.sh') и отправляет их в InfluxDB