HCL BigFix
Deep Understanding Report
For technical decision-makers who want to fully understand BigFix and rebuild a similar system. This report covers: the full BigFix architecture, the Fixlet/Relevance core mechanisms, the patch & threat-content supply chain, deployment and daily usage, a comparison with Zabbix and other tools, and a concrete rebuild design.
HCL BigFix
深度理解报告
面向"想彻底理解 BigFix 并复刻一个类似系统"的技术决策者。本报告覆盖:BigFix 全景架构、Fixlet/Relevance 核心机制、威胁库与补丁内容供应链、部署使用实战、与 Zabbix 等竞品的对比,以及一份可落地的自研复刻技术设计。
1Executive Summary: What BigFix Is and Why It Matters
Core This chapter gives you five judgments that frame the whole report.
1.1 BigFix in One Sentence
HCL BigFix (formerly IBM BigFix / IBM Endpoint Manager) is a content-driven endpoint and patch management platform: one server manages physical, virtual, and cloud endpoints worldwide through a "Content" mechanism — scanning for patch vulnerabilities, executing baseline tasks, and continuously monitoring compliance. Its differentiator: most analysis and execution work is pushed down to the Agent on each endpoint, rather than computed centrally by the server.
1.2 Five Core Judgments
1.3 Report Structure
| Chapter | Answers |
|---|---|
| 2 Architecture | What components make up BigFix? How does data flow? |
| 3 Core Mechanisms | What exactly are Fixlet/Relevance/Action/Baseline, and how do they cooperate? |
| 4 Patch Content Supply Chain | Where does patch content come from? How is it produced and consumed? |
| 5 Deployment & Usage | How to set up a real environment, deploy patches, and view status? |
| 6 Competitive Comparison | Can Zabbix replace it? What are SCCM/WSUS/ManageEngine's positions? |
| 7 Rebuild Design | How to design your own BigFix? How to stay API-compatible? |
| 8 Roadmap & Appendix | Implementation roadmap, glossary, references. |
1结论先行:BigFix 是什么,为什么值钱
核心 这一章给你五个判断,作为整份报告的纲。
1.1 BigFix 一句话定义
HCL BigFix(原 IBM BigFix / IBM Endpoint Manager) 是一套内容驱动的端点管理与补丁管理平台:一台服务器通过"内容(Content)"机制,管理分布在全球的物理机、虚拟机与云主机——扫描补丁漏洞、执行基线任务、持续监控合规状态。它的独特之处在于:绝大部分分析和执行工作被"推"到了每台终端上的 Agent 里完成,而不是由服务器集中计算。
1.2 五个核心判断
1.3 本报告结构
| 章节 | 回答什么问题 |
|---|---|
| 2 全景架构 | BigFix 由哪些组件组成?数据怎么流动? |
| 3 核心机制深挖 | Fixlet/Relevance/Action/Baseline 到底是什么、怎么协作? |
| 4 威胁库供应链 | 补丁内容从哪来?官方团队怎么生产?客户怎么消费? |
| 5 部署与使用实战 | 真实环境怎么搭、怎么下发补丁、怎么看状态? |
| 6 竞品对比 | Zabbix 能替代吗?SCCM/WSUS/ManageEngine 各是什么定位? |
| 7 自研复刻设计 | 你自己的 BigFix 怎么设计?API 怎么兼容? |
| 8 路线图与附录 | 实施路线、术语表、参考来源。 |
2BigFix Architecture Overview
Core To understand BigFix, first understand its components and how "content" flows.
2.1 The Four Core Components
| Component | Role | Key capabilities |
|---|---|---|
| Agent (client) | Installed on every managed machine (physical/virtual/cloud) | Uses <10MB RAM; continuously evaluates Relevance locally; executes remediation actions; autonomous offline; can be promoted to a Relay |
| Relay | Optional intermediate caching node (can cascade) | Hundreds of clients point to one Relay, which makes a single request to the Server; distributes content, aggregates reports; promotion takes minutes |
| Server | Core coordinator + database | Pulls Fixlets from the Internet; coordinates content flow; stores results (SQL Server database); one server supports up to 250,000 endpoints |
| Console | Operator interface | View network status, deploy content, manage baselines, monitor remediation progress; plus WebUI / Web Reports |
2.2 Data Flow (see it in one diagram)
+-------------+ Fixlet content (Content Delivery cloud)
| Console |<------------+
+------+------+ |
| operator deploys |
+------v------+ |
| Server |<------------+
| (SQL DB) | subscribes to site mastheads, pulls Fixlets
+------+------+
| content + policy push (HTTPS)
+------v------+
| Relay |<---- hundreds of clients point to one Relay
+------+------+
| distribute content / aggregate reports
+------v------+
| Agent | <- local Relevance evaluation
| (each box) | <- executes Action remediation
+-------------+ <- reports results/status
Content flow: Server pulls Fixlets from the Internet → distributes to Relays → relays to Agents → Agent evaluates relevance locally → reports which Fixlets are "relevant" → Server aggregates to the Console. Operators see "which machines network-wide are missing which patch," deploy an action with one click, and Agents re-evaluate to confirm after execution.
2.3 Why It Scales to 250,000 Endpoints (the architectural philosophy)
In traditional centralized architectures (e.g., WSUS + polling management servers), the server scans and pushes to each machine, so load grows linearly with endpoints. BigFix inverts this:
- Evaluation happens on the Agent: each machine's Agent runs the Fixlet's Relevance itself — the server never probes machine by machine. This is the single biggest load saving.
- Relay aggregation: hundreds of endpoints share a Relay; between Relay and Server there are only a few requests (dedup + compression).
- Event-driven reporting: Agents report only when relevance changes (new patch relevant / remediation done), not periodic heartbeat floods.
- Offline autonomy: disconnected machines keep evaluating against local policy; they sync incrementally on reconnect — so VPN/remote-office environments stay manageable.
2.4 Extended Components (awareness)
| Component | Purpose |
|---|---|
| DSA (Disaster Server Architecture) | Multi-server disaster recovery; automatic takeover if a server fails |
| BigFix Compliance / Patch | Compliance scanning and patch management product lines (same platform) |
| BigFix Lifecycle | Software distribution, OS deployment, configuration management |
| BigFix Inventory | Hardware/software asset inventory |
| BigFix AEX | Agent automation engine; integrates with ITSM (ServiceNow) approval flows |
| BigFix Query / Explorer | Relevance-based data query/analysis (REST API) |
2BigFix 全景架构
核心 理解 BigFix 先理解它的组件和"内容"如何流动。
2.1 四大核心组件
| 组件 | 角色 | 关键能力 |
|---|---|---|
| Agent(客户端) | 装在每台被管机器上(物理/虚拟/云) | 占内存 <10MB;持续在本地评估 Relevance;执行修复动作;离线也能自治;可升级为 Relay |
| Relay(中继) | 可选的中转缓存节点(可级联) | 数百客户端指向一个 Relay,Relay 只向 Server 请求一次;分发内容、聚合上报;Promote 只需几分钟 |
| Server(服务器) | 核心协调器 + 数据库 | 从 Internet 拉取 Fixlet;协调内容流;存储结果(SQL Server 数据库);一台支撑最高 25 万端点 |
| Console(控制台) | 操作员界面 | 查看网络状态、部署内容、管理基线、监控修复进度;另有 WebUI / Web Reports |
2.2 数据流(一张图看懂)
┌─────────────┐ Fixlet 内容(Content Delivery 云)
│ Console │◄────────────┐
└──────┬──────┘ │
│ 操作员下发任务 │
┌──────▼──────┐ │
│ Server │◄────────────┘
│ (SQL DB) │ 订阅站点 masthead, 拉取 Fixlet
└──────┬──────┘
│ 内容+策略下发(HTTPS)
┌──────▼──────┐
│ Relay │◄──── 数百客户端指向一个 Relay
└──────┬──────┘
│ 分发内容 / 聚合上报
┌──────▼──────┐
│ Agent │ ← 本地 Relevance 评估
│ (每台终端) │ ← 执行 Action 修复
└─────────────┘ ← 上报结果/状态
内容流:Server 从 Internet 拉取 Fixlet → 分发给 Relay → 中转到 Agent → Agent 本地评估相关性 → 上报哪些 Fixlet "相关" → Server 汇总到 Console。操作员在 Console 看到"全网哪些机器缺哪个补丁",一键下发动作,Agent 执行后再次评估确认。
2.3 为什么能撑 25 万端点(架构哲学)
传统集中式架构(如 WSUS + 管理服务器轮询)中,服务器要逐台扫描、逐台下发,负载随端点线性增长。BigFix 反其道:
- 评估在 Agent 端:Fixlet 的 Relevance 由每台机器的 Agent 自己跑,服务器不用逐台"探测"——这是最大的负载节省。
- Relay 聚合:数百端点共享一个 Relay,Relay 与 Server 之间只有少量请求(去重 + 压缩)。
- 事件驱动上报:Agent 只在"相关性变化"时上报(如新补丁相关 / 修复完成),不是周期心跳轰炸。
- 离线自治:断网的机器 Agent 继续按本地策略评估,恢复连接后增量同步——所以 VPN/离线办公环境也能管。
2.4 扩展组件(了解即可)
| 组件 | 用途 |
|---|---|
| DSA(Disaster Server Architecture) | 多服务器灾备,主服务器故障时自动接管 |
| BigFix Compliance / Patch | 合规扫描与补丁管理产品线(基于同一平台) |
| BigFix Lifecycle | 软件分发、OS 部署、配置管理 |
| BigFix Inventory | 软硬件资产盘点 |
| BigFix AEX | Agent 自动化引擎,可对接 ITSM(ServiceNow)审批流 |
| BigFix Query / Explorer | 基于 Relevance 的数据查询/分析(REST API) |
3Core Mechanisms: Fixlet / Relevance / Action / Baseline
Core This is BigFix's "operating system" — understand it and you truly understand BigFix.
3.1 Content Is Everything in BigFix
BigFix's official definition: "The platform is a dynamic, content-driven messaging and management system that distributes the work of managing IT infrastructures out to the managed devices themselves, the agents." Content is a generic term — it may be data to distribute, instructions to run, or queries to execute on targets. All content travels as Fixlet messages.
The four content types (must be clear):
| Type | What it is | Example |
|---|---|---|
| Fixlet | A "detect + remediate" bundle: Relevance (is it relevant?) + Action (remediation) + description | "Java 8u161 Update Available" (detect version + download/install) |
| Task | An execution task, not necessarily with relevance detection | "Restart all machines", "clean temp files" |
| Baseline | An ordered collection of Fixlets/Tasks (e.g., a security baseline) | "Windows security hardening baseline" (dozens of config items) |
| Analysis | Property query sets, periodically collecting and reporting data | "Collect disk space / installed-patch list network-wide" |
3.2 Relevance Language: The Soul of BigFix (focus)
Relevance Language is BigFix's own query language for describing and retrieving information from endpoints/servers. Two flavors:
- Client Relevance: executes locally on each Agent, querying the local machine. Used for: a Fixlet's applicability (does this machine need this patch?), an Action's success criteria (is the patch installed?), and Analysis property collection. Analogy: it is BigFix's "SQL".
- Session Relevance: executes on the Server, querying the BigFix database. Used for: custom reports, dashboards, REST API integration.
Core syntax concepts (get the gist and you're in):
# Existence checks
exists file "/etc/hosts" -> True/False
exists folder "/var/tmp"
exists package "libxml2" of rpm
# Comparison checks (operators differ by object type)
number of processors = 1 -> True
(version of package "libxml2" of rpm) >= "2.9.1"
# Filtering clause (whose + it, iterate and filter)
(files whose (it ends with ".log") of folder "/var/log")
# Conditional logic
if (exists file "/etc/passwd") then "linux" else "windows"
# Common inspectors (information retrievers)
name of operating system
version of operating system
ram (memory) size
IP addresses of net adapters
names of services whose (state of it = "Running")
3.3 Fixlet Structure (what a patch message looks like)
Fixlet: "Security Update for Windows (KB5000000)"
+-- Relevance (applicability conditions; ALL must be True)
| +-- exists patch "KB5000000" (registry) = False <- not yet installed
| +-- version of operating system >= "10.0" <- version matches
+-- Action (remediation steps, Action Script language)
| +-- prefetch "http://download.../patch.msu" <- download the patch
| +-- wait / execute "wusa.exe KB5000000.msu" <- silent install
| +-- restart (optional)
+-- Success Criteria (again Relevance)
| +-- exists patch "KB5000000" (registry) = True <- installed
+-- Description / impact / risk / reference links
+-- Metadata: site, CVE, affected systems, Supersedes relations
Key point: both a Fixlet's "relevance" and its "success criteria" are expressed in Relevance. The Agent's flow: all Relevance True → Fixlet is "relevant" → report → operator runs the Action → re-evaluate Relevance (success criteria) → confirm the fix.
3.4 Action: The Agent-Side Execution Language
Action Script is the cross-platform scripting language inside a Fixlet that performs remediation. Common commands:
prefetch "URL" sha1="..." sha256="..." # pre-download file (hash-verified)
wait "..." # wait
execute "installer.exe /quiet" # run a command
run "script.sh" # run a script
delete "path" # delete
copy "src" "dst" # copy
createfile until=endofsection # generate file content
registry key ... # modify registry (Windows)
restart / reboot # reboot
requires ... # prerequisites
An Action is "taken" by the operator in the Console → target selected (all relevant machines / a computer group) → effective time set → Agents pull and execute → progress and results report back.
3.5 Baseline: Bundling Content into a "Baseline Task"
Baseline = an ordered collection of Fixlets/Tasks, deployed in one shot to complete multiple configurations. This maps exactly to your project's "after VM deployment, execute a specific baseline per purpose":
Baseline "Web Server Security Baseline"
+-- Fixlet: Install KB5000000 (patch)
+-- Fixlet: Install KB5000001
+-- Task: Disable SMBv1
+-- Task: Set firewall rules to allow only 80/443
+-- Task: Disable default shares
+-- Analysis: Collect baseline compliance state
Baselines have compliance evaluation: every Fixlet inside has Relevance, so the Agent can report "this baseline is 60% complete on this machine," and the Console shows network-wide baseline compliance rates.
3.6 The Full Closed Loop (put it together)
3核心机制深挖:Fixlet / Relevance / Action / Baseline
核心 这一章是 BigFix 的"操作系统",理解它才算真正理解 BigFix。
3.1 内容(Content)是 BigFix 的一切
BigFix 的官方定义:"平台是动态的、内容驱动的消息与管理系统,把管理工作的执行分散到被管设备(Agent)上。"内容(Content)是泛称,可能是一段要分发的数据、一条要在目标上运行的指令、或一个要在目标上执行的查询。所有内容以 Fixlet 消息为载体。
内容的四种类型(必须分清):
| 类型 | 是什么 | 例子 |
|---|---|---|
| Fixlet | 一条"发现 + 修复"打包内容:Relevance(判断是否相关)+ Action(修复动作)+ 说明 | "Java 8u161 更新可用"(检测版本+下载安装) |
| Task | 执行型任务,不一定带"相关性检测" | "重启所有机器"、"清理临时文件" |
| Baseline | 一组 Fixlet/Task 的集合,按序执行(如"安全基线") | "Windows 安全加固基线"(几十条配置项) |
| Analysis | 属性查询集,周期性采集数据上报 | "收集全网磁盘空间/已装补丁清单" |
3.2 Relevance 语言:BigFix 的灵魂(重点)
Relevance Language 是 BigFix 自研的查询语言,用来描述和检索终端/服务器的信息。它分两种:
- Client Relevance(客户端相关性语言):在每台 Agent 本地执行,查询本机状态。用于:Fixlet 的适用性判断(这台机器需要这个补丁吗?)、Action 的成功标准(补丁装上了吗?)、Analysis 的属性采集。考试类比:它是 BigFix 的"SQL"。
- Session Relevance(会话相关性语言):在 Server 端执行,查询 BigFix 数据库。用于:自定义报表、仪表盘、REST API 集成。
核心语法概念(看懂就入门):
# 存在性判断
exists file "/etc/hosts" → True/False
exists folder "/var/tmp"
exists package "libxml2" of rpm
# 比较判断(不同对象类型有不同运算符)
number of processors = 1 → True
(version of package "libxml2" of rpm) >= "2.9.1"
# 过滤子句(whose + it,遍历并筛选)
(files whose (it ends with ".log") of folder "/var/log")
# 条件逻辑
if (exists file "/etc/passwd") then "linux" else "windows"
# 常见 Inspectors(信息检索器)
name of operating system
version of operating system
ram (memory) size
IP addresses of net adapters
names of services whose (state of it = "Running")
3.3 Fixlet 的结构(一条补丁消息长什么样)
Fixlet: "Security Update for Windows (KB5000000)"
├─ Relevance(适用性条件, 全部为True才相关)
│ ├─ exists patch "KB5000000" (registry) = False ← 没装过
│ └─ version of operating system >= "10.0" ← 版本匹配
├─ Action(修复动作, Action Script 语言)
│ ├─ prefetch "http://download.../patch.msu" ← 下载补丁
│ ├─ wait / execute "wusa.exe KB5000000.msu" ← 静默安装
│ └─ restart (可选)
├─ Success Criteria(成功标准, 又是 Relevance)
│ └─ exists patch "KB5000000" (registry) = True ← 装上了
├─ 描述/影响/风险/参考链接
└─ 元数据: 站点、CVE、影响系统、Supersedes关系
关键点:Fixlet 的"相关性"和"成功标准"都用 Relevance 表达。Agent 评估流程:Relevance 全为 True → Fixlet"相关"(relevant)→ 上报 → 操作员执行 Action → 跑完再评估 Relevance(成功标准)→ 确认修复。
3.4 Action:Agent 端执行的语言
Action Script 是 Fixlet 里执行修复动作的脚本语言,跨平台。常用命令:
prefetch "URL" sha1="..." sha256="..." # 预下载文件(带哈希校验)
wait "..." # 等待
execute "installer.exe /quiet" # 执行命令
run "script.sh" # 运行脚本
delete "path" # 删除
copy "src" "dst" # 复制
createfile until=endofsection # 生成文件内容
registry key ... # 改注册表(Windows)
restart / reboot # 重启
requires ... # 前置条件
Action 由操作员在 Console 中"发起(Take Action)"→ 可选择目标(所有相关机器/指定计算机组)→ 设定生效时间 → Agent 拉取并执行 → 上报进度与结果。
3.5 Baseline:把一堆内容打包成"基线任务"
Baseline(基线) = 一组 Fixlet/Task 的有序集合,一次下发完成多项配置。这正好对应你项目里"虚拟机部署完成后按用途执行特定基线任务"的场景:
Baseline "Web Server 安全基线"
├─ Fixlet: 安装 KB5000000(补丁)
├─ Fixlet: 安装 KB5000001
├─ Task: 禁用 SMBv1
├─ Task: 设置防火墙规则只开放 80/443
├─ Task: 关闭默认共享
└─ Analysis: 采集基线合规状态
基线有合规评估能力:Baseline 内的每个 Fixlet 都有 Relevance,Agent 评估后能得出"该基线在本机完成 60%"这类状态,Console 可看到全网基线合规率。
3.6 完整闭环(串起来)
4Patch Content Supply Chain: Where Patch Content Comes From and How It Is Managed
Core · the part you care most about BigFix's patch library is not "a downloaded database" — it is a continuously running content supply chain. This chapter dissects: information sources → the official content team → the sites system → customer consumption → quality assurance.
4.1 Information Sources: How They Know "What to Patch"
The official BigFix content team tracks vendor official vulnerability and patch release channels. Core sources:
| Vendor/source | Information channel | Corresponding BigFix content site |
|---|---|---|
| Microsoft | MSRC security advisories, Microsoft Update Catalog, monthly Patch Tuesday | Patches for Windows / Updates for Windows Applications |
| Oracle (Java etc.) | Critical Patch Update (CPU, quarterly) | Updates for Windows/Linux Applications (incl. Java) |
| Adobe | Security bulletins (Acrobat/Reader/Flash) | Updates for Windows Applications |
| Google (Chrome) | Chrome Release channels | Chrome update Fixlets |
| Linux distros | Distro security bulletins and repos (RHEL/CentOS/Ubuntu/Debian/SLES) | Patches for Linux / per-distro sites |
| Apple | macOS security updates | Patches for Mac OS X |
| Third-party tools | 7-Zip, VLC, Notepad++ vendor releases | Updates for Windows/Linux Applications |
4.2 How the Official Content Team Works (the content production pipeline)
HCL/IBM's Application Engineering Team produces patch Fixlets. The flow is roughly:
4.3 The Sites System: How Customers Consume Patches
Patch content is organized into Sites; customers consume it via subscriptions. Core mechanics:
- Masthead (.efxm file): a site's "ID card," containing the site URL and subscription keys. Getting and activating a masthead = subscribing to the site; the Server then pulls that site's content on schedule.
- Three site sources: IBM/HCL official sites (Patches for Windows etc.), external vendor sites (Tenable and other security vendors), and custom sites (customer-authored Fixlets).
- Domains: sites group by function (e.g., the "Patch Management" domain contains per-OS patch sites); the Console browses by domain.
- Default subscriptions: installation auto-subscribes to management/maintenance sites; other sites are subscribed per license terms.
Common patch sites in a customer environment (example):
Patches for Windows <- Windows OS patches
Updates for Windows Applications <- Windows app patches (Java/Chrome/Adobe...)
Patches for Linux <- Linux distro patches
Patches for Mac OS X <- macOS patches
Custom Sites (customer-authored) <- internal apps/baselines
4.4 Content Delivery Cloud: How Content Reaches Customers
HCL runs Content Delivery, a cloud distribution service. Customer Servers pull site updates on a subscription schedule (usually every few hours), then distribute via Relays network-wide. For air-gapped environments, the Airgap tool (BES Download Cacher) moves content manually — a key capability for defense/banking isolated networks.
4.5 Beyond Security Patches: Where Baseline Content Comes From
Beyond patches, BigFix provides Security Configuration Baselines, typically based on industry benchmarks:
- CIS Benchmarks (Center for Internet Security) — Windows/Linux/middleware hardening checks.
- Vendor hardening guides (Microsoft security baselines, Red Hat hardening guides).
- Compliance framework mappings (MLPS/等保, PCI-DSS, NIST requirements mapped to checks).
These baselines ship as "Relevance check + Action remediation" Fixlets; customers subscribe or author their own in the same format — exactly the reference prototype for your "different baseline per VM purpose" project.
4威胁库供应链:补丁内容从哪来、怎么管理
核心 · 你最关心的部分 BigFix 的补丁库不是"一个下载好的数据库",而是一条持续运转的内容供应链。这一章拆开讲:信息来源 → 官方内容团队 → 内容站点体系 → 客户消费 → 质量保障。
4.1 信息来源:他们从哪里知道"要打什么补丁"
BigFix 官方内容团队盯的是厂商官方漏洞与补丁发布渠道,核心来源:
| 厂商/来源 | 信息渠道 | BigFix 对应内容站点 |
|---|---|---|
| Microsoft | MSRC 安全公告、Microsoft Update Catalog、每月 Patch Tuesday | Patches for Windows / Updates for Windows Applications |
| Oracle(Java 等) | Critical Patch Update(CPU,每季度) | Updates for Windows/Linux Applications(含 Java 专项) |
| Adobe | 安全公告(Acrobat/Reader/Flash) | Updates for Windows Applications |
| Google(Chrome) | Chrome Release 渠道 | Chrome 更新 Fixlet |
| Linux 发行版 | 各发行版安全公告与仓库(RHEL/CentOS/Ubuntu/Debian/SLES) | Patches for Linux / 各发行版站点 |
| Apple | macOS 安全更新 | Patches for Mac OS X |
| 第三方工具 | 7-Zip、VLC、Notepad++ 等厂商发布 | Updates for Windows/Linux Applications |
4.2 官方内容团队怎么工作(内容生产流水线)
HCL/IBM 的 Application Engineering Team(应用工程团队) 负责生产补丁 Fixlet。流程大致是:
4.3 内容站点(Sites)体系:客户怎么消费补丁
补丁内容按 站点(Site) 组织,客户通过 订阅(Subscription) 拉取。核心机制:
- Masthead(.efxm 文件):站点的"身份证",含站点 URL 与订阅密钥。客户获取 masthead 并激活 = 订阅该站点,Server 就会按调度拉取该站点内容。
- 站点来源分三类:IBM/HCL 官方站点(Patches for Windows 等)、外部供应商站点(Tenable 等安全厂商)、自定义站点(客户自写 Fixlet)。
- 域(Domain):站点按功能归组(如"补丁管理域"包含各 OS 的补丁站点),Console 按域浏览。
- 自动订阅:安装时默认订阅管理与维护站点;其他站点按许可证条款订阅。
客户环境里常见的补丁站点(举例):
Patches for Windows ← Windows 系统补丁
Updates for Windows Applications ← Windows 应用补丁(Java/Chrome/Adobe...)
Patches for Linux ← Linux 发行版补丁
Patches for Mac OS X ← macOS 补丁
Custom Sites (客户自建) ← 内部应用/基线
4.4 Content Delivery 云:内容怎么到达客户
HCL 运行 Content Delivery(内容分发云服务),客户 Server 按订阅调度从云拉取站点更新(通常每几小时一次)。拉取后可再通过 Relay 分发到全网。对无法直连 Internet 的隔离环境,提供 Airgap 工具(BES Download Cacher)手动搬运内容——这是军工/银行等隔离网络场景的关键能力。
4.5 安全补丁之外:基线内容从哪来
除了补丁,BigFix 还提供 安全配置基线(Security Configuration Baselines),通常基于行业基准:
- CIS Benchmarks(互联网安全中心基准)——Windows/Linux/中间件加固检查项。
- 厂商加固指南(如微软安全基线、Red Hat 加固指南)。
- 合规框架映射(等保、PCI-DSS、NIST 等要求映射成检查项)。
这些基线同样以"Relevance 检查 + Action 修复"的 Fixlet 形式提供,客户可订阅或参考格式自建——正好是你项目里"不同用途虚拟机执行不同基线任务"的参考原型。
5Deployment & Usage in Practice
Important The complete path from zero to a working BigFix environment and your first patch/baseline deployment. Items marked needs-verification follow official docs and should be validated in a real environment.
5.1 Choosing a Deployment Topology
| Scale | Recommended topology | Notes |
|---|---|---|
| Small (<500 endpoints) | Single Server + Agents | The Server doubles as a Relay; direct connections are fine |
| Medium (500 - 5000) | Single Server + 1-N Relays | Place Relays per segment/site to cut WAN traffic |
| Large (5000+) | Multiple Servers (DSA DR) + cascaded Relays | Relays can cascade; Servers provide DR |
5.2 Installing the Server (overview steps)
5.3 Deploying the Agent (three ways)
| Method | When | Notes |
|---|---|---|
| Manual install | Few machines / testing | Run the agent installer pointing at the Server/Relay URL |
| GPO / login-script push | Windows domain environments | Distribute via Active Directory Group Policy |
| Bake into image / cloud-init | Bulk VM deployment (your case!) | Install the Agent in the VM template or cloud-init/custom script; new VMs are managed on first boot |
5.4 Daily Operation: Deploying Patches (Console flow)
5.5 Status Monitoring & Reporting (matches your requirement #2)
BigFix's "see the current state of every machine" is delivered by Analysis + Properties:
- Analysis: predefined or custom property-query sets; Agents collect and report on a query interval (installed-patch list, disk, CPU, service state).
- Computer Properties: literally "the result of a Relevance query" — show as custom Console columns or dashboards.
- Web Reports / BigFix Query: Session Relevance against the database — charts, exports, multi-server aggregation.
- REST API:
/api/query?relevance=...or POST JSON — feed status into your own systems. This is exactly your integration point for "every machine reports state to me."
# REST API example: query all computer names (Session Relevance)
curl -u user:pass "https://bf-server:52311/api/query?relevance=name+of+client+computers"
5.6 Common Ops Quick Reference
| Task | How |
|---|---|
| See if an Agent is online | Sort the Console computer list by "last report time"; offline machines show up |
| Deploy to a specific machine group | Create a Computer Group (static or Relevance-driven dynamic) → Take Action on the group |
| Scheduled tasks | Set a "start time" on Take Action; or use AEX / REST API for complex orchestration |
| Patch an air-gapped environment | Airgap tool (BES Download Cacher) pulls content manually, then import |
| View patch compliance rate | Web Reports patch reports / Patch Compliance dashboard |
| Author a custom baseline | Write Relevance checks + Action Script remediation → bundle into a Baseline |
5部署与使用实战
重要 从零搭一套 BigFix 环境并下发第一个补丁/基线的完整路径。标注 待实测 的细节以官方文档为准,需在真实环境验证。
5.1 部署拓扑选择
| 规模 | 推荐拓扑 | 说明 |
|---|---|---|
| 小(<500 端点) | 单 Server + Agent | Server 兼 Relay,直连即可 |
| 中(500 - 5000) | 单 Server + 1-N Relay | 按网段/站点放 Relay,减少跨 WAN 流量 |
| 大(5000+) | 多 Server(DSA 灾备)+ Relay 分级 | Relay 可级联,Server 做灾备 |
5.2 安装 Server(概览步骤)
5.3 部署 Agent 到目标机器(三种方式)
| 方式 | 适用场景 | 说明 |
|---|---|---|
| 手动安装 | 少量机器/测试 | 运行 agent 安装包,指向 Server/Relay URL |
| GPO / 登录脚本推送 | Windows 域环境 | 利用 AD 组策略分发安装包 |
| 预置到镜像 / 云初始化 | 虚拟机批量部署(你的场景!) | 把 Agent 装进 VM 模板或 cloud-init/定制脚本,新 VM 上线即被管理 |
5.4 日常操作:下发补丁(Console 操作流)
5.5 状态监控与上报(对应你的需求二)
BigFix 的"看每台机器现状"由 Analysis + Properties(属性) 实现:
- Analysis:预定义或自定义的属性查询集,Agent 按查询间隔周期性采集并上报(如已装补丁清单、磁盘、CPU、服务状态)。
- Computer Properties:就是"一个 Relevance 查询的结果",可以在 Console 自定义列、建仪表盘。
- Web Reports / BigFix Query:基于 Session Relevance 查询数据库,出图表、导出、聚合多 Server 数据。
- REST API:
/api/query?relevance=...或 POST JSON,把状态数据接进你自己的系统——这正好是你做"每台机器向我上报状态"的对接点。
# REST API 示例:查询所有机器名和操作系统(Session Relevance)
curl -u user:pass "https://bf-server:52311/api/query?relevance=name+of+client+computers"
5.6 常见运维任务速查
| 任务 | 做法 |
|---|---|
| 看 Agent 是否在线 | Console 计算机列表按"最后上报时间"排序;离线机器会显示 |
| 给特定机器组下发 | 建 Computer Group(静态或 Relevance 动态组)→ Take Action 选组 |
| 定时任务 | Take Action 时设"开始时间";或用 AEX / REST API 做复杂编排 |
| 隔离环境打补丁 | Airgap 工具(BES Download Cacher)手动拉内容再导入 |
| 查看补丁合规率 | Web Reports 补丁报告 / Patch Compliance 仪表盘 |
| 自定义基线 | 用 Relevance 写检查项 + Action Script 写修复 → 打包成 Baseline |
6Competitive Comparison: Can Zabbix Replace It?
Important Directly answers your "can Zabbix also do this" question, plus a positioning map.
6.1 First, the Answer: Can Zabbix Do Patch Management
Conclusion: Zabbix covers half of your needs (status monitoring & reporting), but the other half (content library + remediation actions) is not its design goal.
| Requirement | Zabbix | BigFix |
|---|---|---|
| Remote commands/scripts | Yes (Remote Commands), but no patch content library | Yes (Action Script) with a full patch content library |
| Status monitoring & reporting | Strength (mature metrics/alerts/charts) | Yes (Analysis/Properties), but oriented to "state" not "monitoring metrics" |
| Patch scanning & install | ✘ Not native (needs custom scripts + comparison logic) | Core capability (Fixlet + patch sites) |
| Baseline compliance tasks | ✘ Must build it yourself | Core capability (Baseline + Relevance compliance) |
| Threat-content supply chain | None (does not produce patch content) | Official team continuously produces + site subscriptions |
| Large-scale architecture | Proxy tiers, mature | Relay tiers, 250k endpoints per server |
| Positioning | Monitoring | Endpoint & patch management |
6.2 Patch-Management Tool Landscape
| Tool | Positioning | Patch library | Agent-side evaluation | Best for |
|---|---|---|---|---|
| BigFix | Enterprise patch + endpoint management platform | Official team + vendors + custom sites | Yes (Relevance) | Very large scale, mixed OS, air-gapped |
| Microsoft WSUS | Windows patch tool | Microsoft only | No (server polling) | Pure-Windows small/medium |
| Microsoft SCCM/Intune | Enterprise endpoint suite | Microsoft + third-party | Partial (client policy polling) | Pure-Microsoft, deep AD/Intune integration |
| ManageEngine Endpoint Central | Mid-range patch + asset mgmt | Vendor patch library | Client polling | Small/medium, cost-sensitive |
| Ansible/Chef/Puppet | Config management / automation | None (author playbooks) | No (SSH/API pull) | Server config mgmt, not patch libraries |
| Zabbix/Nagios/Prometheus | Monitoring | None | No (metric collection) | Performance/availability monitoring |
6.3 BigFix's Moat (why customers choose it)
- Scale & performance: 250k endpoints per server, second-level visibility — far lower server resource demands than SCCM.
- Patch content quality & speed: official team + SLA + lab testing + Supersedes/Corrupt handling — customers get ready-made content with "zero research."
- Cross-platform unity: Windows / Linux / macOS with one Agent and one Console — no per-platform tooling.
- Offline autonomy: disconnected machines keep evaluating and executing against local policy; incremental sync on reconnect — VPN/remote-friendly.
- Programmability: Relevance language + REST API let customers deeply customize baselines and integrate.
- Open content ecosystem: official + vendor + custom sites mixed — not a closed list.
6竞品对比:Zabbix 能替代吗?
重要 直接回答你"Zabbix 是不是也能做到"的问题,并给一张定位全景图。
6.1 先回答:Zabbix 能不能做补丁管理
结论:Zabbix 能解决你需求的一半(状态监控与上报),但补丁/基线任务的另一半(内容库 + 修复动作)不是它的设计目标。
| 需求 | Zabbix | BigFix |
|---|---|---|
| 远程执行命令/脚本 | 可以(Remote Commands),但无补丁内容库 | 可以(Action Script),且有完整补丁内容库 |
| 状态监控上报 | 强项(指标采集/告警/图表非常成熟) | 可以(Analysis/Properties),但偏"状态"而非"监控指标" |
| 补丁扫描与安装 | ✘ 不原生支持(需自己写脚本+比对逻辑) | 核心能力(Fixlet + 补丁站点) |
| 基线合规任务 | ✘ 需自己实现 | 核心能力(Baseline + Relevance 合规评估) |
| 威胁库供应链 | 无(不生产补丁内容) | 官方团队持续生产 + 站点订阅 |
| 大规模架构 | Proxy 分层,成熟 | Relay 分层,单 Server 25 万端点 |
| 定位 | 监控(Monitoring) | 端点管理与补丁(Endpoint & Patch Mgmt) |
6.2 补丁管理工具全景定位
| 工具 | 定位 | 补丁库 | Agent 端评估 | 适用场景 |
|---|---|---|---|---|
| BigFix | 企业级补丁+端点管理平台 | 官方团队+供应商+自建站点 | 是(Relevance) | 超大规模、混合 OS、隔离网络 |
| Microsoft WSUS | Windows 补丁工具 | 仅微软 | 否(服务器轮询) | 纯 Windows 小中型环境 |
| Microsoft SCCM/Intune | 企业端点管理套件 | 微软+第三方 | 部分(客户端策略轮询) | 纯微软生态、深度集成 AD/Intune |
| ManageEngine Endpoint Central | 中端补丁+资产管理 | 厂商补丁库 | 客户端轮询 | 中小型、想省钱 |
| Ansible/Chef/Puppet | 配置管理/自动化 | 无(需自建 playbook) | 无(SSH/API 拉取) | 服务器配置管理,非补丁库 |
| Zabbix/Nagios/Prometheus | 监控 | 无 | 无(指标采集) | 性能/可用性监控 |
6.3 BigFix 的差异化护城河(客户为什么选它)
- 规模与性能:单 Server 25 万端点、秒级可见性——比 SCCM 的服务器资源需求低得多。
- 补丁内容质量与时效:官方团队 + SLA 承诺 + 实验室测试 + Supersedes/Corrupt 处理,客户"零研究"拿现成内容。
- 跨平台统一:Windows / Linux / macOS 一套 Agent 一套 Console,不用每平台一套工具。
- 离线自治:断网机器也能按本地策略评估执行,恢复后增量同步——VPN/远程办公友好。
- 可编程性:Relevance 语言 + REST API,客户能深度自定义基线和集成。
- 内容生态开放性:官方+供应商+自建站点混用,不是封闭列表。
7Rebuild Design: Building Your Own BigFix
Core · your end goal Building on the first six chapters, here is a concrete rebuild design: architecture, API compatibility, data model, and the implementation path for your two core features.
7.1 Scoping the Rebuild (define the boundary first)
Your goal: a client Agent + a server, compatible with BigFix API design, implementing two core features: ① remote install tasks (patching); ② status monitoring & reporting.
7.2 Target Architecture (mapped to BigFix's four layers)
| BigFix component | Your component | First release |
|---|---|---|
| Agent | Agent client (installed on managed machines) | Resident service: connects to the Server to pull tasks, executes locally, collects status. Suggest Go (single cross-platform binary) or Python (fast to build) |
| Relay | Relay (optional) | Skip in v1; add an "HTTP cache proxy" for scale later — leave the architectural slot |
| Server | Server | Task management + Agent registration + status aggregation + REST API. Suggest Go/Java (concurrency) or Node/Python (speed) |
| Console | Web console | Browser UI: machine list, task deploy, status dashboard. REST API is its backend |
7.3 Core Design Decisions (the "soul" to copy)
7.4 API Design (modeled on BigFix's real API)
BigFix's real REST API core is Session Relevance queries: `/api/query?relevance=...` queries the database with the Relevance language. You don't need to clone the Relevance language itself, but you can clone its interface style:
| Your API | Method | Notes (BigFix counterpart) |
|---|---|---|
/api/computers | GET | List all machines and state (computer queries) |
/api/computers/{id}/properties | GET | One machine's reported properties (Computer Properties) |
/api/content | GET/POST | Content (patch/task) list and creation (Fixlet site content) |
/api/actions | POST | Launch a remote task: { contentId, targetComputers[], schedule } (Take Action) |
/api/actions/{id}/status | GET | Task execution status (dispatched/running/success/failed/not-applicable) (Action Status) |
/api/query?filter=... | GET/POST | Generic query entry (Session Relevance — start with simple filters, evolve to a query language) |
# Example: launch a remote install task
POST /api/actions
{
"contentId": "patch-kb5000000",
"targets": ["vm-001", "vm-002"],
"schedule": "immediate",
"timeoutSec": 1800
}
-> 200 { "actionId": "act-12345", "status": "dispatched" }
# Example: Agent pulls tasks (agent's view)
GET /api/agent/actions?agentId=vm-001&ack=auth-token
-> { "actions": [{ "id": "act-12345", "steps": [{ "type": "exec", "cmd": "wusa.exe KB5000000.msu /quiet" }] }] }
# Example: Agent reports status
POST /api/agent/status
{ "agentId": "vm-001", "properties": { "os": "Windows Server 2019", "patches": ["KB5000000"], "lastBoot": "2026-10-01T08:00:00Z" } }
7.5 Agent Client Design (implementing the two core features)
Feature 1: Remote install tasks
Agent lifecycle:
1. Register: first boot -> POST /api/agent/register -> get agentId + auth token
2. Poll: every N seconds -> GET /api/agent/actions?agentId=... -> pending tasks
3. Execute: run the task steps (download/unpack/run script/silent install)
4. Report: POST /api/agent/action-result -> success/failure/exit code/log
5. Idempotency: tasks carry an idempotencyKey; Agents dedupe / resume
msiexec /qn / wusa /quiet; Linux: rpm -Uvh / apt install); ③ tasks need timeout and reboot semantics.Feature 2: Status monitoring & reporting
Two collection modes:
1. Property reporting: Agent periodically collects preset properties -> reports to Server
e.g., os version / installed patches / disk space / CPU / service state / last boot
2. Event reporting: immediate report on state change (patch installed / service down)
e.g., POST /api/agent/events { "type": "patch-installed", "patch": "KB5000000" }
Server side:
- store latest property snapshot (current state) + event timeline (history)
- aggregate: online rate / patch compliance / baseline completion
- display: Web console dashboard / REST API queries
7.6 Technology Selection (for your decision)
| Part | Recommended | Alternatives | Why |
|---|---|---|---|
| Agent language | Go | Rust / Python (packaged) | Single static binary, cross-platform (Win/Linux), good concurrency |
| Server language | Go or Java | Node.js / Python | High-concurrency long connections; Go keeps one stack with the Agent |
| Database | PostgreSQL | MySQL / SQLite (small) | Great JSON support (properties/events), mature |
| Agent-Server transport | HTTPS + JSON REST | gRPC (higher perf) | Compatibility, firewall-friendly, simple |
| Auth | Agent tokens (issued at registration) | mTLS (higher security) | Tokens suffice for v1; mTLS as a later hardening |
| Web console | Vue/React + REST | — | Naturally pairs with the REST API |
7.7 Relationship with Zabbix (complement, not either-or)
If you already run Zabbix, the recommendation: Zabbix keeps doing metrics/alerts; your system does task deploy/patch/baseline — interconnect via webhook/API (e.g., a Zabbix alert triggers your remediation task). This is exactly how many BigFix customers really use it.
7.8 Milestone Roadmap (first release in 4-6 weeks)
7自研复刻设计:做一个你自己的 BigFix
核心 · 你的最终目标 结合前六章的理解,给出一个可落地的复刻设计:架构、API 兼容、数据模型、两个核心功能的实现路径。
7.1 复刻目标界定(先划范围)
你的目标:客户端 Agent + 服务端 Server,兼容 BigFix API 设计,实现两个基本功能:① 远程安装任务(打补丁);② 状态监控与上报。
7.2 目标架构(对标 BigFix 四层)
| BigFix 组件 | 你的组件 | 首版实现 |
|---|---|---|
| Agent | Agent 客户端(装在被管机器) | 常驻服务:连接 Server 拉取任务、本地执行、采集状态上报。语言建议 Go(单二进制跨平台)或 Python(开发快) |
| Relay | Relay 中继(可选) | 首版可不做;大并发时再加"HTTP 缓存代理"即可,架构预留 |
| Server | Server 服务端 | 任务管理 + Agent 注册 + 状态聚合 + REST API。语言建议 Go/Java(并发强)或 Node/Python(快) |
| Console | Web 控制台 | 浏览器界面:机器列表、任务下发、状态看板。REST API 是它的后端 |
7.3 核心设计决策(对标 BigFix 的"灵魂")
7.4 API 设计(对标 BigFix 的真实 API)
BigFix 的真实 REST API 核心是 Session Relevance 查询:`/api/query?relevance=...` 用 Relevance 语言查数据库。你不需要复刻 Relevance 语言本身,但可以复刻它的接口风格:
| 你的 API | 方法 | 说明(对标 BigFix) |
|---|---|---|
/api/computers | GET | 列出所有机器及状态(对标 Computer 查询) |
/api/computers/{id}/properties | GET | 某台机器的上报属性(对标 Computer Properties) |
/api/content | GET/POST | 内容(补丁/任务)列表与创建(对标 Fixlet 站点内容) |
/api/actions | POST | 发起远程任务:{ contentId, targetComputers[], schedule }(对标 Take Action) |
/api/actions/{id}/status | GET | 任务执行状态(已下发/执行中/成功/失败/不适用)(对标 Action Status) |
/api/query?filter=... | GET/POST | 通用查询入口(对标 Session Relevance——先做简单过滤器,后续可演进为查询语言) |
# 示例:发起一个远程安装任务
POST /api/actions
{
"contentId": "patch-kb5000000",
"targets": ["vm-001", "vm-002"],
"schedule": "immediate",
"timeoutSec": 1800
}
→ 200 { "actionId": "act-12345", "status": "dispatched" }
# 示例:Agent 拉取任务(Agent 角度)
GET /api/agent/actions?agentId=vm-001&ack=auth-token
→ { "actions": [{ "id": "act-12345", "steps": [{ "type": "exec", "cmd": "wusa.exe KB5000000.msu /quiet" }] }] }
# 示例:Agent 上报状态
POST /api/agent/status
{ "agentId": "vm-001", "properties": { "os": "Windows Server 2019", "patches": ["KB5000000"], "lastBoot": "2026-10-01T08:00:00Z" } }
7.5 Agent 客户端设计(两个核心功能的实现)
功能一:远程安装任务
Agent 生命周期:
1. 注册: 首次启动 → POST /api/agent/register → 拿 agentId + 认证令牌
2. 轮询: 每 N 秒 → GET /api/agent/actions?agentId=... → 拿到待执行任务
3. 执行: 按任务 steps 执行 (下载/解压/运行脚本/静默安装)
4. 上报: POST /api/agent/action-result → 成功/失败/退出码/日志
5. 幂等: 任务带 idempotencyKey, Agent 断点续传/去重
msiexec /qn / wusa /quiet;Linux: rpm -Uvh / apt install);③ 任务要支持 超时与重启 语义。功能二:状态监控与上报
两种采集模式:
1. 属性上报(Property): Agent 周期采集预设属性 → 上报 Server
例: os版本 / 已装补丁 / 磁盘空间 / CPU / 服务状态 / 最近开机时间
2. 事件上报(Event): 状态变化时即时上报 (如补丁装上/服务挂了)
例: POST /api/agent/events { "type": "patch-installed", "patch": "KB5000000" }
Server 侧:
- 存最近一次属性快照(当前状态) + 事件时间线(历史)
- 聚合统计: 在线率 / 补丁合规率 / 基线完成度
- 展示: Web 控制台看板 / REST API 查询
7.6 技术选型建议(供你决策)
| 部分 | 推荐 | 备选 | 理由 |
|---|---|---|---|
| Agent 语言 | Go | Rust / Python(打包) | 单静态二进制、跨平台(Win/Linux)、并发好 |
| Server 语言 | Go 或 Java | Node.js / Python | 高并发长连接;Go 与 Agent 同栈省心智 |
| 数据库 | PostgreSQL | MySQL / SQLite(小规模) | JSON 支持好(存属性/事件),成熟 |
| Agent-Server 通信 | HTTPS + JSON REST | gRPC(性能更高) | 兼容性好、防火墙友好、实现简单 |
| 认证 | Agent 令牌(注册时签发) | mTLS(高安全) | 首版令牌够用,mTLS 作为后续加固 |
| Web 控制台 | Vue/React + REST | — | 与 REST API 天然配对 |
7.7 与 Zabbix 的关系(建议补充而非二选一)
如果你已有 Zabbix 监控,建议:Zabbix 继续做指标监控/告警,你的系统做任务下发/补丁/基线——两者通过 Webhook/API 互通(如 Zabbix 告警触发你的修复任务)。这也正是很多 BigFix 客户的真实用法。
7.8 里程碑路线(首版 4-6 周)
8Roadmap · Glossary · Appendix
Reference Decision roadmap, must-know glossary, references, and disclaimer.
8.1 Your Decision Roadmap (pick one of three)
| Route | Best for | Effort | Outcome |
|---|---|---|---|
| A. Monitoring only (use Zabbix) | Only need "see machine state" | Low | Deploy Zabbix — mature and stable |
| B. Minimal patch/task system (BigFix subset) | Need "remote install + status" and want code control | Medium (4-6 wks) | Your Agent+Server+API, extensible |
| C. Full platform (BigFix-like) | Building a product for long-term evolution | High (months + team) | Near-BigFix capability, but the patch content supply chain remains the biggest cost |
8.2 Glossary
| Term | Meaning |
|---|---|
| Fixlet | A "detect + remediate" content item (Relevance evaluation + Action) |
| Relevance | BigFix's query language describing "which machines are relevant" and "was remediation successful" |
| Action / Action Script | Remediation steps executed on the Agent (download/execute/reboot) |
| Baseline | An ordered collection of Fixlets/Tasks for baseline tasks |
| Analysis | Property-query sets, periodically collecting endpoint data |
| Site | Content collection unit, pulled by subscription (official/vendor/custom) |
| Masthead (.efxm) | A site's subscription credential (URL + keys) |
| Content Delivery | HCL's content distribution cloud service |
| Agent / Relay / Server / Console | The four components: client / relay / server / console |
| Relevant | A Fixlet's Relevance is true locally — this machine needs handling |
| Superseded | Old patches replaced by newer ones (stop being relevant automatically) |
| Corrupt Patch | Detected "started but not finished" broken-patch state |
| DSA | Disaster Server Architecture — multi-server DR |
8.3 References
- HCL BigFix Platform official docs (help.hcl-software.com/bigfix)
- HCL BigFix Developer site (developer.bigfix.com) — Relevance language, REST API reference
- IBM BigFix Patch official docs and user guides (content release mechanics)
- BigFix official forum (forum.bigfix.com) — content release announcements, real ops cases
- BigFix Getting Started Guide (architecture and scale PDF)
8.4 Disclaimer & Verification
8路线图 · 术语表 · 附录
参考 决策路线图、必知术语、参考来源与免责声明。
8.1 给你的决策路线图(三选一)
| 路线 | 适合 | 投入 | 产出 |
|---|---|---|---|
| A. 只做监控上报(用 Zabbix) | 只需要"看每台机器状态" | 低 | Zabbix 部署即可,成熟稳定 |
| B. 自研最小补丁/任务系统(对标 BigFix 子集) | 需要"远程安装+状态上报"且想掌控代码 | 中(4-6 周) | 你的 Agent+Server+API,可扩展 |
| C. 自研完整平台(对标 BigFix 全功能) | 要做成产品长期演进 | 高(数月+团队) | 接近 BigFix 的能力,但补丁内容供应链仍是最大成本 |
8.2 术语表
| 术语 | 含义 |
|---|---|
| Fixlet | 一条"发现+修复"内容(Relevance 评估 + Action 动作) |
| Relevance | BigFix 自研查询语言,描述"什么机器相关"和"是否修复成功" |
| Action / Action Script | 在 Agent 上执行的修复步骤(下载/执行/重启等) |
| Baseline | 一组 Fixlet/Task 的有序集合,用于基线任务 |
| Analysis | 属性查询集,周期性采集终端数据上报 |
| Site(站点) | 内容的集合单位,按订阅拉取(官方/供应商/自建) |
| Masthead(.efxm) | 站点的订阅凭证(URL + 密钥) |
| Content Delivery | HCL 的内容分发云服务 |
| Agent / Relay / Server / Console | 客户端 / 中继 / 服务器 / 控制台四大组件 |
| Relevant(相关) | Fixlet 的 Relevance 在本机为真,表示该机需要处理 |
| Superseded | 被新补丁取代的旧补丁(自动不再相关) |
| Corrupt Patch | 检测到"开始安装但未完成"的损坏补丁状态 |
| DSA | Disaster Server Architecture 多服务器灾备 |
8.3 参考来源
- HCL BigFix Platform 官方文档(help.hcl-software.com/bigfix)
- HCL BigFix Developer 站点(developer.bigfix.com)— Relevance 语言、REST API 参考
- IBM BigFix Patch 官方文档与用户指南(含内容发布机制说明)
- BigFix 官方论坛(forum.bigfix.com)— 补丁内容发布公告、真实运维案例
- BigFix Getting Started Guide(架构与规模说明 PDF)