3. 对象类型与属性建模

在 Jira Assets 中,对象类型(Object Type)是资产模型的骨架,属性(Attributes)则是骨架上的血肉。对象类型回答“这类资产是什么”,属性回答“这类资产有哪些可记录、可查询、可约束的信息”。如果对象类型划分过粗,所有资产挤在一个类型里,属性字段会变得杂乱且大量留空;如果划分过细,又会造成类型爆炸、维护成本上升。因此,本节的核心任务是:理解对象类型的定义方法,掌握属性的数据类型、必填约束与默认值配置,并以“服务器”为对象类型,实际建立主机名、IP 地址、操作系统等属性。

一、对象类型的定义方法

对象类型代表一类具有相同属性集合的资产。定义对象类型时,建议从三个问题入手:这类资产是否共享同一组关键属性?是否由同一角色维护?是否在同一个生命周期阶段被管理?如果答案都是肯定的,就适合归为一个对象类型。例如“物理服务器”和“虚拟机”虽然都是服务器,但前者关注机架位置、序列号、保修期,后者关注宿主机、虚拟化平台、资源配额,属性差异明显,通常应拆分为两个对象类型,而不是硬塞进一个类型里用大量可选字段兼容。

在 Jira Assets 中创建对象类型的路径通常是:进入 Assets 对象架构(Object Schema)→ 选择或新建对象类型 → 定义名称、图标、父类型(如需要继承)→ 添加属性。对象类型名称应使用业务人员能理解的术语,避免用缩写或内部代号。对于服务器场景,可以建立“服务器”对象类型,并进一步用“服务器类型”属性区分物理机与虚拟机,这样既保留了统一查询入口,又能在属性层面区分差异。

二、属性的数据类型与选择依据

Jira Assets 提供多种属性数据类型,选择合适的数据类型直接影响后续的搜索、过滤、自动化和报表能力。常见类型包括:

  • 文本(Text):适合主机名、描述、备注等自由文本,但不适合做精确匹配统计。
  • 整数/小数(Integer/Decimal):适合 CPU 核数、内存 GB、磁盘容量等数值,可参与范围过滤和计算。
  • 日期/日期时间(Date/DateTime):适合采购日期、上线时间、保修到期日,可用于到期提醒。
  • 布尔(Boolean):适合“是否在维保”“是否核心系统”等二值判断。
  • 单选/多选(Select/Multi-select):适合操作系统、环境、机房等有限枚举值,能保证数据一致性。
  • 对象引用(Object Reference):适合建立服务器与机房、负责人、应用系统之间的关联关系。
  • 用户(User):适合指定负责人、运维联系人,可直接关联 Jira 用户。
  • IP 地址(IP Address):专门用于存储 IPv4/IPv6 地址,支持网段查询。
  • URL/Email:适合管理地址、监控链接、联系邮箱。

选择类型时遵循一个原则:能用枚举就不用自由文本,能用数值就不用文本,能用对象引用就不用字符串。例如操作系统如果写成自由文本,会出现“CentOS 7”“centos7”“CentOS-7.9”等多种写法,导致统计困难;改为单选并预置标准值,就能保证一致性。

三、必填约束与默认值

必填约束(Required)用于保证关键属性不缺失。对于服务器对象,主机名、IP 地址、操作系统、环境、负责人通常应设为必填。必填属性在创建对象时若未填写,Jira Assets 会阻止保存,从而避免产生“半成品”资产记录。但必填不宜滥用:如果某个属性在资产创建初期确实无法确定,强行必填会导致用户随意填写占位符,反而污染数据。此时可以先用默认值过渡,待信息补全后再改为必填。

默认值(Default Value)用于减少重复输入并统一初始状态。例如“环境”默认设为“生产”,“状态”默认设为“在用”,“是否在维保”默认设为“是”。默认值不是强制值,用户仍可修改,但它能显著降低录入成本。对于日期类属性,可以设置默认值为当前日期;对于单选属性,默认值必须是预置选项之一。需要注意的是,默认值一旦设置,只影响之后新建的对象,不会自动修改已有对象。

建议把“必填 + 默认值”组合使用:必填保证底线,默认值提升效率。例如“环境”设为必填且默认“生产”,既不会漏填,又减少了大多数场景下的选择操作。

四、服务器对象建模示例

下面以“服务器”对象类型为例,给出一个可直接参考的属性配置表。表中字段、类型、约束均为教学示例,实际项目中应根据组织规范调整。

属性名称数据类型必填默认值说明
主机名文本是无唯一标识,建议与 CMDB 命名规范一致
IP 地址IP Address是无支持 IPv4/IPv6,可做网段查询
操作系统单选是无预置 CentOS 7、Ubuntu 22.04、Windows Server 2019 等
环境单选是生产生产、测试、开发、灾备
CPU 核数整数否无用于容量统计
内存(GB)整数否无用于容量统计
负责人用户是无关联 Jira 用户
所属机房对象引用否无引用“机房”对象类型
上线日期日期否当前日期用于生命周期管理
是否在维保布尔否是用于维保提醒

建立属性时,建议先在草稿中列出所有候选字段,再逐条判断类型、是否必填、是否有默认值,最后在 Jira Assets 中按顺序创建。创建完成后,可以新建一条测试服务器对象,验证必填拦截、默认值填充和 IP 地址查询是否按预期工作。例如新建时故意不填主机名,系统应拒绝保存;不修改环境时,保存后应自动显示“生产”。

服务器对象类型 · 属性建模结构 对象类型承载属性集合,属性通过类型、约束与默认值保证数据质量 对象类型:服务器 Object Type · Server 标识属性(必填) 主机名 · 文本 必填 IP 地址 · IP Address 必填 操作系统 · 单选 必填 负责人 · 用户 必填 分类属性(默认值) 环境 · 单选 默认:生产 是否在维保 · 布尔 默认:是 上线日期 · 日期 默认:当天 CPU 核数 · 整数 可选 引用属性(关联) 所属机房 · 对象引用 可选 关联应用 · 对象引用 可选 监控链接 · URL 可选 备注 · 文本 可选 建模要点 必填保证关键字段不缺失 默认值降低录入成本 对象引用建立资产关联

五、建模后的验证与维护

属性配置完成后,不要直接批量导入生产数据。建议先创建 2~3 条测试对象,覆盖以下检查点:必填属性为空时能否保存;默认值是否自动填充;单选属性的选项是否完整;IP 地址能否按网段搜索;对象引用能否正确关联到机房或应用。验证通过后,再通过 CSV 导入或手动录入正式数据。

随着运维实践变化,属性也需要迭代。例如新增“容器平台”字段、把“操作系统”从文本改为单选、将“负责人”从文本改为用户类型。修改属性类型时要注意:Jira Assets 通常不允许直接把已有数据的属性从文本改为单选,需要新建属性、迁移数据、再删除旧属性。因此,初期建模时宁可多花十分钟确认类型,也不要后期频繁重构。

不要把所有信息都塞进“描述”字段。描述适合补充说明,不适合承载可查询、可统计的结构化数据。主机名、IP、操作系统等应各自独立成属性,否则资产报表和自动化规则将无法使用这些信息。

总结来说,对象类型与属性建模的关键在于:用对象类型划分资产边界,用数据类型保证数据可计算、可过滤,用必填约束守住关键字段,用默认值提升录入效率,用对象引用建立资产之间的关联。以服务器为例,主机名、IP 地址、操作系统、环境、负责人这五个属性构成了最小可用模型,后续再按需扩展 CPU、内存、机房、维保等字段,就能逐步形成既规范又实用的资产数据基础。