Что делает этот модуль #
Когда вы запускаете AMI imaxe, первый вопрос зачастую самый базовый: что внутри? Какая версия операционной системы, какое ПО установлено и в какой версии, какая база данных стоит за ним и какой продукт imaxe развёрнут.
Модуль info отвечает на всё это за один раз: он опрашивает систему вживую и записывает понятную, читаемую инвентаризацию в /etc/imaxe/info.yaml. Этот файл собирает воедино операционную систему, ПО и его версии, базу данных и продукт imaxe, готовые к просмотру на экране или в JSON для автоматизации.
Файл /etc/imaxe/info.yaml носит чисто описательный характер: имена и версии. Он никогда не хранит пароли, ключи или токены, поэтому вы можете спокойно читать его, копировать или прикреплять к заявке.
Типовые задачи #
Выберите, что вы хотите сделать. В каждом рецепте команда уже написана — просто скопируйте её и нажмите Копировать.
1
Сгенерировать инвентаризацию
Опрашивает машину и записывает /etc/imaxe/info.yaml в первый раз.
/etc/imaxe/info.yaml в первый раз.Подключитесь к серверу по SSH под пользователем ubuntu.
Выполните create: он обходит систему и записывает инвентаризацию на диск.
$ sudo imaxe info create/etc/imaxe/info.yaml записывается с операционной системой, ПО и его версиями, базой данных и продуктом imaxe.2
Посмотреть, что у меня установлено
Показывает на экране уже сгенерированную инвентаризацию.
Прочитайте инвентаризацию, сохранённую в /etc/imaxe/info.yaml:
$ imaxe info show3
Получить инвентаризацию в JSON
Структурированный вывод для скриптов, мониторинга или централизованной инвентаризации.
Добавьте --json к show, чтобы получить инвентаризацию в машиночитаемом формате:
$ imaxe info show --jsonХотите извлечь одно значение? Скомбинируйте с jq, например версию операционной системы:
$ imaxe info show --json | jq .osstdout, готовый к передаче в jq, агент инвентаризации или вашу CMDB.4
Пересоздать после изменения
Обновляет инвентаризацию после установки или обновления ПО.
Инвентаризация — это снимок системы на момент её генерации. Если вы обновили пакеты или сменили базу данных, выполните create снова, чтобы перезаписать её свежими данными:
$ sudo imaxe info create
$ imaxe info show/etc/imaxe/info.yaml снова отражает реальное состояние машины.Файл отражает систему такой, какой она была на момент запуска create. Он не обновляется сам по себе: после любого значимого изменения ПО выполняйте create заново, чтобы show оставался верным реальности.
Синопсис #
imaxe info <subcomando> [--json]Подкоманда create требует привилегий root (используйте sudo), потому что она пишет в /etc/imaxe/. Напротив, show только читает инвентаризацию и может выполняться без sudo. Добавьте --json к show, чтобы получить машиночитаемый вывод, пригодный для скриптинга.
Подкоманды #
| Подкоманда | Что делает | Значимые флаги |
|---|---|---|
| create | Опрашивает систему вживую и (пере)записывает инвентаризацию в /etc/imaxe/info.yaml. | — |
| show | Показывает инвентаризацию, сохранённую в /etc/imaxe/info.yaml. | --json |
| help | Показывает справку модуля. | — |
Аргументы и флаги #
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
| --json | bool | false | В show выдаёт инвентаризацию в виде структурированного JSON в stdout, пригодного для jq и автоматизации. |
Модуль info не принимает позиционных аргументов: каждая подкоманда работает с собственной инвентаризацией системы.
Файлы и пути #
| Путь | Содержимое |
|---|---|
| /etc/imaxe/info.yaml | Инвентаризация AMI: операционная система, ПО и версии, база данных и продукт imaxe. Чисто описательная, без секретов. |
Пример info.yaml:
os:
name: Ubuntu
version: 22.04
software:
nginx: 1.18.0
php: 8.1
database:
engine: mysql
version: 8.0.36
product:
name: imaxe
version: 1.0.0Коды возврата и логи #
Каждый запуск возвращает код, который можно проверить командой echo $? — удобно для связок в скриптах:
show без инвентаризации: сначала выполните create.create без прав на запись в /etc/imaxe/.Устранение неполадок #
| Симптом | Вероятная причина | Решение |
|---|---|---|
| show ничего не показывает или завершается с ошибкой | Инвентаризация ещё не была сгенерирована. | Выполните sudo imaxe info create и повторите show. |
| create выдаёт ошибку прав доступа | Запущен без root и не может писать в /etc/imaxe/. | Перезапустите с sudo imaxe info create. |
| Инвентаризация не соответствует реальности | ПО было установлено или обновлено после её генерации. | Пересоздайте её через sudo imaxe info create: это снимок на определённый момент времени. |
Вывод --json не чистый | --json применён к подкоманде, которая его не поддерживает. | --json применим только к show; используйте как imaxe info show --json. |
Застряли с модулем Инвентаризация?
Напишите нам, приложив вывод «imaxe <module> status --json», и мы быстро ответим.