该模块的功能 #
当你启动一台 imaxe 的 AMI 时,第一个问题往往最基本:里面装了什么?操作系统是哪个版本,安装了哪些软件、各是什么版本,背后是什么数据库,部署的又是哪个 imaxe 产品。
info 模块一次性回答这些问题:实时探测系统,并把一份清晰可读的资产清单写入 /etc/imaxe/info.yaml。该文件汇总了操作系统、软件及其版本、数据库以及 imaxe 产品,既可在屏幕上查看,也能以 JSON 输出用于自动化。
/etc/imaxe/info.yaml 文件纯粹是描述性的:只有名称和版本。它从不保存密码、密钥或令牌,因此你可以放心地读取、复制它,或把它附加到工单中。
常见任务 #
选择你想做的事。每份指引都附有写好的命令 — 只需复制并点击复制。
1
生成资产清单
探测机器并首次写入 /etc/imaxe/info.yaml。
/etc/imaxe/info.yaml。用 ubuntu 用户通过 SSH 连接到你的服务器。
运行 create:它会遍历系统并把资产清单写入磁盘。
$ sudo imaxe info create/etc/imaxe/info.yaml 文件已写入,包含操作系统、软件及其版本、数据库和 imaxe 产品。2
查看已安装的内容
在屏幕上显示已生成的资产清单。
查询保存在 /etc/imaxe/info.yaml 中的资产清单:
$ imaxe info show3
以 JSON 获取资产清单
为脚本、监控或集中式清单提供结构化输出。
为 show 添加 --json,即可获得机器可读格式的资产清单:
$ 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 即可运行。为 show 添加 --json 可获得机器可读的输出,适合脚本化。
子命令 #
| 子命令 | 功能 | 相关标志 |
|---|---|---|
| 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」的输出发给我们,我们会尽快回复你。