Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки

Обзор

Как только физических серверов становится больше нескольких штук, никто уже не скажет по памяти, какие диски стоят в каком шасси, какие планки памяти меняли в прошлом квартале и где физически стоит сервер с отказывающим контроллером. Обычно ответ живёт в таблице, которая отстала на несколько замен.

Инвентаризация оборудования решает эту задачу. Агент мониторинга, уже работающий на ваших физических серверах, сообщает, что в них установлено, а платформа поддерживает эту картину в актуальном состоянии: карточка оборудования по каждому серверу, поиск по парку серверов по установленным в них компонентам и история всего, что появилось, исчезло или переехало.

Данные собираются только на физических серверах — виртуальные машины агент не инвентаризирует, и в этом разделе они не появляются. Каждый сервер пересматривается раз в 5 минут, поэтому диск, заменённый утром, уже будет в карточке, когда вы её откроете.

Функция находится в боковом меню проекта, в разделе Инфраструктура: страница Физические серверы — это парк и его железо, страница Размещение — ЦОД и стойки, в которых серверы стоят.

Что собирается

По каждому физическому серверу агент сообщает:

  • Сам сервер — система, материнская плата, BIOS и шасси: производитель, модель, версия, серийные номера.
  • Процессоры и память — CPU-сокеты и DIMM-слоты, занятые и пустые, с установленным в каждый модулем.
  • Хранилище — RAID- и HBA-контроллеры, собранные на них RAID-тома и все физические диски, включая скрытые за контроллером и не видимые операционной системе.
  • Сетевые карты, дискретные GPU и блоки питания.
  • Посадочные места — слоты расширения PCIe, SATA-порты и места под накопители, так что пустое место видно не хуже занятого.

Точный набор зависит от сервера: агент передаёт то, что железо сообщает о себе само, и машина, сообщающая меньше, покажет меньше. Полный список того, что отправляет агент, — в разделе Оборудование и инвентаризация.

Что вы получаете

  • Карточка оборудования по каждому серверу — всё установленное, место за местом, с разбором хранилища от контроллера до диска.
  • Поиск по парку серверов — на каких серверах стоит диск такой-то модели и контроллер такой-то.
  • История изменений — когда компонент появился, когда исчез и в какой сервер переехал.
  • Физическое размещение — ЦОД, стойки и занимаемые юниты, со схемой стойки, которую видно с одного взгляда.
  • Доступ по API — те же данные в виде HTTP API только на чтение, для скриптов и внешних учётных систем.

Важно: архивация проекта безвозвратно уничтожает его инвентаризацию — компоненты, слоты, историю установок, ЦОД, стойки и размещения, включая размещения сетевых устройств в этих ЦОД (сами устройства сохраняются). Разархивация ничего из этого не возвращает. Само железо соберётся заново из следующего отчёта агента, а ЦОД, стойки и размещения придётся создавать вручную.

Быстрый старт

  1. Убедитесь, что инвентаризация оборудования включена администратором.
  2. Установите агент мониторинга на физический сервер обычным способом. Больше ничего настраивать не нужно: агент распознаёт физическое железо и начинает сообщать состав самостоятельно.
  3. Дождитесь первого цикла сбора — около 5 минут. До этого карточка сервера сообщает: Инвентаризация оборудования ещё не синхронизирована.
  4. Откройте Инфраструктура → Физические серверы в боковом меню проекта.
  5. Нажмите на имя сервера, чтобы открыть карточку его оборудования.

Если сервер не появился, обратитесь к разделу Решение проблем.

Основные понятия

Компонент, слот и установка

Компонент — это одна физическая единица железа: процессор, планка памяти, накопитель, контроллер хранилища, сетевая карта, GPU, блок питания.

Компонент принадлежит проекту, а не серверу. Платформа опознаёт одну и ту же физическую деталь, где бы та ни оказалась, поэтому диск, вынутый из одного сервера и поставленный в другой, виден как переезд одного диска, а не как исчезновение одного и появление другого.

Слот — это посадочное место на конкретном сервере: CPU-сокет, DIMM-слот, место под накопитель, слот расширения, место под блок питания. Слот существует независимо от того, стоит в нём что-нибудь или нет, — благодаря этому платформа может сказать, что четыре DIMM-слота из восьми свободны.

Установка — это факт, что такой-то компонент стоял в таком-то слоте такого-то сервера с одного момента времени по другой. Открытая установка — это то, что стоит в сервере сейчас; закрытые — его история. Один компонент не может быть установлен в два сервера одновременно.

Жизненный цикл компонента

У каждого компонента есть состояние:

Состояние Когда присваивается
Установлен Агент сообщил о компоненте в последней инвентаризации
Возможно отсутствует Агент перестал сообщать о компоненте, а его место осталось пустым. Платформа ждёт подтверждения, а не объявляет деталь пропавшей по одному пропущенному отчёту
Удалён Агент не сообщал о компоненте три инвентаризации подряд, либо его место занял другой компонент, либо кто-то пометил его удалённым вручную

Компонент, переехавший в другой сервер, состояние Удалён не получает: его установка на старом сервере закрывается, а на новом открывается новая.

Компонент может подолгу оставаться в состоянии Возможно отсутствует, потому что ожидание считается в инвентаризациях, которые действительно принесли новости, а не в минутах по часам. Именно для этого есть ручное действие Пометить удалённым.

Актуальность данных

Актуальность описывает данные сервера, а не отдельную деталь, и это вопрос, отдельный от жизненного цикла: компонент может быть Установлен на сервере, данные которого трёхдневной давности.

На странице Физические серверы в колонке Данные стоит один из бейджей:

Бейдж Значение
актуальные Агент присылал инвентаризацию не дольше двух часов назад
исторические Последняя инвентаризация старше двух часов
не сканировался Агент ни разу не присылал инвентаризацию по этому серверу
неполные Агент не смог собрать часть состава — данные RAID или SMBIOS были недоступны. Показывается дополнительно к одному из трёх бейджей выше

Пока данные сервера устаревшие или неполные, платформа не удаляет компоненты, о которых перестали сообщать: пропавшая деталь гораздо чаще означает пропавший отчёт, чем пропавший диск.

Размещение

Размещение — это то, что вы описываете вручную: в каком ЦОД стоит сервер, в какой стойке, какие юниты занимает и к какой стороне стойки прикручен. Автоматически здесь ничего не определяется — ни один сервер не сообщает, где он стоит.

Размещать можно и физические серверы, и сетевые устройства, а ещё оборудование можно разместить на уровне ЦОД, без стойки. Платформа не даст двум единицам оборудования занять один и тот же юнит на одной стороне и не даст оборудованию выйти за верхнюю границу стойки.

Снятие оборудования со стойки не стирает то, где оно стояло: история размещений сохраняется.

Страница «Физические серверы»

На странице перечислены все физические серверы проекта с их размещением и состоянием данных:

Колонка Содержимое
Имя Имя сервера по данным агента. Ведёт на карточку оборудования сервера
ЦОД Где сервер стоит сейчас. Историческое размещение здесь не показывается
Стойка Открывает схему стойки с выделенным сервером
Позиция Занимаемые юниты и сторона стойки, например U12–13 (Передняя)
Данные Бейджи актуальности (см. Актуальность данных)

Сервер, который не размещён, отображается как Не размещён сразу в трёх колонках размещения.

Переключатель Показать исторические данные над таблицей включён по умолчанию. Эта страница — инвентаризация парка, а не экран состояния: сервер, агент которого замолчал неделю назад, всё ещё ваш сервер, поэтому он остаётся в списке с бейджем исторические, а не исчезает из него. Выключите переключатель, чтобы видеть только серверы, отчитавшиеся за последние два часа.

Список отсортирован по имени и разбит на страницы по 50 серверов; общее количество показано над таблицей.

Выгрузки на этой странице нет. Чтобы забрать инвентаризацию из платформы, используйте API (см. Доступ к данным по API).

Поиск серверов по установленному оборудованию

Сузить список можно двумя способами, и они работают вместе.

По имени. Поле Имя сервера ищет по любой части имени, а не только по началу: eb-0 найдёт web-01. Минимум 2 символа.

По установленному железу. Включите переключатель Расширенный поиск, чтобы открыть блок Компоненты. Каждое условие — это тройка Тип компонента, Поле, Значение, а кнопка Добавить условие даёт следующее, всего до пяти.

Условия объединяются по И, и каждое — про свой компонент. «Диск с серийным номером 123 и контроллер модели PERC» найдёт серверы, в которых стоят обе детали, а не одну деталь, которая каким-то образом является и тем и другим. Значение Любой тип в поле Тип компонента ищет это поле по компонентам всех типов.

Набор доступных полей зависит от типа компонента, и форма предлагает только те поля, которые у выбранного типа действительно есть:

Поле Типы компонентов
Производитель Процессор, Память, Контроллер, Сетевая карта, GPU, Блок питания
Модель Процессор, Диск, Контроллер, Сетевая карта, GPU, Блок питания
Серийный номер Процессор, Память, Диск, Контроллер, GPU, Блок питания
Партномер Процессор, Память
WWN Диск
MAC Сетевая карта
Имя устройства в ОС Диск, Сетевая карта
Интерфейс Диск
Носитель Диск

Важно: у накопителей нет поля Производитель. Накопитель сообщает либо обобщённое имя вендора, либо ничего, поэтому бренд входит в модель — SAMSUNG MZQLB1T9HAJR-00007. Чтобы найти все накопители определённого вендора, ищите по полю Модель. По этой же причине поле Производитель исчезает из списка, как только вы выбираете тип Диск.

Текстовые значения ищутся по подстроке и требуют минимум 2 символов; условие с более коротким значением просто игнорируется, а не превращается в ошибку, поэтому недописанная строка никогда не выбрасывает остальной поиск. Условия ищут только среди установленного сейчас железа — вопрос «где эта деталь стояла раньше» задают таймлайну в карточке сервера или API.

Поиск живёт в адресной строке, поэтому удачный запрос можно сохранить в закладки или передать коллеге. Кнопка Сбросить всё очищает и условия, и поле имени.

Карточка оборудования сервера

Нажатие на имя сервера открывает его карточку. Сверху, рядом с именем сервера, стоят бейджи состояния: Не синхронизировано, Исторические данные, Неполные данные, Размещение не указано — каждый появляется только тогда, когда он уместен.

Карточка читается сверху вниз:

  • Система, Материнская плата, BIOS, Шасси — собственные данные сервера: производитель, модель или версия, серийный номер. Это свойства машины, а не компоненты, поэтому у них нет ни жизненного цикла, ни истории.
  • CPU, Память, Диски, GPU и NIC — ряд счётчиков без собственного заголовка: занято CPU-сокетов из общего числа, занято слотов памяти из общего числа и установленный объём, число накопителей и их суммарная ёмкость, число GPU (только если они есть) и число сетевых карт.
  • Физическое размещение — ЦОД, стойка и позиция, причём имя стойки ведёт на её схему.
  • Компоненты — всё, что установлено сейчас, сгруппированное по типам: CPU, Память, Контроллер, Накопитель, NIC, GPU, БП. У каждой группы свои колонки: ядра и частота для процессоров, ёмкость и партномер для памяти, тип носителя и WWN для накопителей, MAC для сетевых карт. Уже удалённые компоненты в списке не показываются — запись о них остаётся в таймлайне.
  • Таймлайн — история изменений сервера (см. История изменений).
  • Топология хранилищ и Стек хранилища ОС — как собрано хранилище (см. Хранилище).
  • Подробности по слотам — все посадочные места сервера, сгруппированные в CPU-сокеты, DIMM-слоты, Расположение накопителей, Слоты расширения, Встроенные устройства и Блоки питания. Незанятое место отображается как Пусто, место, о котором агент не отчитался, — как Н/Д.
  • Последнее сканирование — когда агент в последний раз отчитался по этому серверу.

Хранилище

Хранилище описывают два блока, с двух противоположных сторон.

Топология хранилищ — это взгляд со стороны железа. Каждый контроллер хранилища показан с собранными на нём RAID-томами (имя, уровень RAID, ёмкость), а под ними — подключённые к этому контроллеру физические диски, каждый со своим номером места и именем устройства в операционной системе. Диски, не подключённые ни к одному контроллеру, сгруппированы отдельно: NVMe — как Прямое подключение PCIe, встроенные SATA — как Встроенный.

Именно этот блок показывает диски, которых операционная система не видит. Накопитель за RAID-контроллером для ОС невидим, но он здесь, с серийным номером, который можно назвать поставщику железа. Проблемные диски и тома помечены бейджами — Отказ, Предотказное, Деградация, Перестроение, — поэтому умирающий накопитель виден без захода куда-либо ещё, а контроллер с батареей показывает состояние BBU рядом со своим именем.

Стек хранилища ОС — то же хранилище, прочитанное с другой стороны: из чего на самом деле собрано каждое блочное устройство, которым пользуется операционная система. Том LVM, собранный из массива MD RAID, собранного из разделов, собранных из дисков, — вся цепочка целиком, так что файловую систему можно проследить до несущих её физических накопителей.

Эти два блока — единственная часть карточки, которую API не отдаёт.

История изменений

Блок Таймлайн рядом со списком компонентов — это история сервера, свежее сверху, с событиями трёх видов:

  • Установлен — компонент появился в этом месте.
  • Удалён — компонент исчез и нигде больше не обнаружился.
  • Перемещён — компонент покинул одно место и появился в другом. Показаны оба места, а если новое место находится в другом сервере, то и его имя.

Пилюли над списком фильтруют его: Все, Удалён, Перемещён.

Переезд записывается одним событием, а не парой «удалён» и «установлен», поэтому диск, мигрирующий между серверами, читается одной строкой, а не двумя не связанными между собой.

Пометка компонента удалённым

Когда агент перестаёт сообщать о компоненте, компонент остаётся в карточке с бейджем Возможно отсутствует и подсказкой «Агент перестал сообщать об этом компоненте». Так сделано намеренно: замолчавшая деталь — не обязательно исчезнувшая деталь.

Если вы знаете, что детали действительно нет — например, вынули её сами, — воспользуйтесь действием Пометить удалённым рядом с компонентом. Подтвердите, и компонент покинет карточку; удаление будет записано в таймлайн.

Действие доступно администраторам и пользователям проекта — тем же, кто может редактировать сервер. Оно работает только с компонентом в состоянии Возможно отсутствует: компонент, о котором агент по-прежнему сообщает, просто вернётся на следующем цикле сбора.

ЦОД, стойки и позиции

Инфраструктура → Размещение — это место, где описывается физический мир. Слева — дерево ЦОД, их стоек и размещённого в них оборудования; справа — детали того, что вы выбрали.

У ЦОД есть название, адрес и описание.

Стойка принадлежит ЦОД и имеет название, помещение, ряд, позицию, высоту в юнитах (по умолчанию 42) и описание.

Страница стойки рисует её схему: юниты сверху вниз, вкладки Передняя и Задняя и счётчик свободных юнитов (Свободно: 12U / 42U). На занятых юнитах написано имя стоящего там оборудования, а свободный юнит — это ссылка: нажмите на него, и откроется форма размещения с уже подставленными позицией и стороной. Рядом со схемой оборудование стойки перечислено и таблицей.

Размещение оборудования спрашивает:

  • само оборудование, выбираемое из групп Серверы и Сетевые устройства;
  • стойку — или — на уровне ЦОД —, чтобы зафиксировать, что оборудование находится в этом ЦОД, не уточняя где;
  • Позиция (U) — нижний занимаемый юнит;
  • Высота (U) — сколько юнитов оборудование занимает;
  • СторонаПередняя или Задняя.

Позже размещение можно изменить действием Переместить или убрать оборудование действием Снять со стойки.

ЦОД, в котором ещё есть стойки или оборудование, удалить нельзя, как нельзя удалить и стойку, в которой ещё стоит оборудование. Сначала освободите их.

Доступ и API

Кто видит раздел

Раздел Инфраструктура появляется в боковом меню проекта, когда администратор включил инвентаризацию оборудования в настройках платформы. Это одна общая настройка платформы, а не настройка проекта: её включение открывает раздел во всех проектах.

Просматривать инвентаризацию и размещение может любой участник проекта. Создавать и изменять ЦОД, стойки и размещения — а также помечать компонент удалённым — могут администраторы и пользователи проекта.

Доступ к данным по API

Та же инвентаризация доступна в виде HTTP API только на чтение: серверы и их железо, компоненты по всему парку, история установок, ЦОД, стойки и размещения, а ещё выгрузка инвентаризации в CSV, которой в интерфейсе нет.

Токену нужно право Инвентаризация оборудования, и на него действуют два правила:

  • Оно выдаётся только токену уровня проекта. Токен на рабочее пространство или на всю систему это право нести не может.
  • Оно не уживается на одном токене с метриками, логами и трейсами. Инвентаризации нужен отдельный токен.

Токены создаются в настройках проекта, в разделе API-токены — см. API-токены пользователя проекта.

Эндпоинты, их параметры и ответы описаны в разделе Инвентаризация оборудования. Блоки карточки Топология хранилищ и Стек хранилища ОС через API не отдаются.

Решение проблем

Сервера нет в списке «Физические серверы»

В списке есть только физические серверы, поэтому сначала убедитесь, что машина именно такая: виртуальные машины не инвентаризируются и здесь не появляются никогда.

Если это физический сервер, проверьте по порядку:

  1. Агент ещё не отчитался. Сервер появляется только после того, как его первая инвентаризация дойдёт до платформы. Дайте ей около 5 минут после запуска агента.
  2. Выключен переключатель «Показать исторические данные». При выключенном переключателе сервер, последняя инвентаризация которого старше двух часов, отфильтровывается. Включите его обратно.
  3. Осталось применённое условие поиска. Поле имени и условия по компонентам переживают перезагрузку страницы и сохраняются в закладке. Нажмите Сбросить всё.
  4. Сервер в чёрном списке. Серверы из чёрного списка полностью исключены из инвентаризации.

Сервер есть, но карточка оборудования пуста

Карточка сообщает Инвентаризация оборудования ещё не синхронизирована, когда платформа ещё не обработала полную инвентаризацию этого сервера. Данные появятся после первого цикла сбора, примерно через 5 минут.

Бейдж «Исторические данные» при живом агенте

Бейдж означает, что последняя инвентаризация пришла больше двух часов назад — или не приходила ни разу. Агент вполне может штатно отправлять метрики, тогда как сбор состава у него не удаётся, например если он не может прочитать нужные ему сведения о железе. Посмотрите на дату в поле Последнее сканирование внизу карточки: если она старая, до платформы не доходит именно инвентаризация.

Сервер помечен бейджем «неполные»

Агент собрал часть состава и не смог собрать остальное — как правило, потому, что ему были недоступны утилиты RAID или данные SMBIOS. То, что есть в карточке, — настоящее, но это может быть не всё, что стоит в сервере.

Пока данные сервера неполные, платформа не удаляет компоненты, о которых перестали сообщать, поэтому, пока вы разбираетесь с доступом, ничего не потеряется.

Компонент завис в состоянии «Возможно отсутствует»

Прежде чем объявить компонент пропавшим, платформа ждёт трёх инвентаризаций подряд без него, и это ожидание считается в инвентаризациях, которые принесли новости. Сервер, состав которого не меняется, новостей приносит мало, поэтому счёт может двигаться медленно или не двигаться вовсе, и компонент сохраняет свой бейдж.

Если вы знаете, что детали нет, воспользуйтесь действием Пометить удалённым. Если деталь всё ещё в сервере, проверьте, может ли агент её вообще прочитать: компонент, ставший нечитаемым, ведёт себя ровно так же, как вынутый.

Поиск по производителю диска ничего не находит

У накопителей нет поля Производитель: имя вендора накопитель сообщает обобщённое либо не сообщает вовсе, поэтому бренд хранится как часть модели. Ищите по полю МодельSAMSUNG найдёт SAMSUNG MZQLB1T9HAJR-00007.

Раздела «Инфраструктура» нет в боковом меню

Инвентаризация оборудования не включена администратором. Это настройка уровня платформы — попросите администратора её включить.