Ubuntu 22.04 安装 Checkmk 2.4.0p37 指南
Ubuntu 22.04 安装 Checkmk Raw 2.4.0p37 指南:版本选型、官方 deb 在线与离线两套安装方案、omd 建站启动、Web 控制台与 REST API 验证、主机纳管验收、agent 安装与完整卸载流程,全量实测。
Ubuntu 22.04 安装 Checkmk 2.4.0p37 指南
目标:在 Ubuntu 22.04 上从零安装 Checkmk Raw 2.4.0p37(开源版)监控服务端,覆盖在线安装与离线安装两套方案、站点创建、Web 控制台验证、首台主机纳管验收与卸载回滚。全部命令与回显已在 Ubuntu 22.04 环境逐条实测。
一、环境信息
| 项目 | 值 |
|---|---|
| 操作系统 | Ubuntu 22.04(x86_64) |
| Checkmk 版本 | Raw Edition 2.4.0p37(开源版,GPLv2) |
| 安装包 | check-mk-raw-2.4.0p37_0.jammy_amd64.deb(274M) |
| 内核类型 | Nagios Core(Raw 版固定) |
| 站点实例 | mysite(omd 多实例框架) |
| Web 入口 | http://<服务器IP>/mysite/(系统 Apache 80 端口反代) |
| 被监控端端口 | 6556(agent) |
| 管理账号 | cmkadmin / q1w2e3r4 |
| 版本取证日期 | 2026-10-20(Raw 线当前最新稳定版:官网 Raw 线最高 2.4.0,2.4.0p37 于 2026-09-21 发布) |
💡 技术拓展:监控服务端部署形态对比——
形态 原理 适用场景 系统包安装(本篇) deb/rpm 安装到宿主机,omd 管理站点 生产服务器直装,性能与运维最直接 容器化部署 官方镜像+编排工具承载站点 环境隔离、快速拉起与迁移 两种形态的站点内组件完全一致,本篇的系统包安装是生产环境最常见形态。
二、版本选型说明
Checkmk Raw(开源版)与企业版共用同一版本线节奏,但发布不完全同步(查询日期 2026-10-20,来源 GitHub Releases Atom + 官方下载站):
| 版本线 | 状态 | 说明 |
|---|---|---|
| 2.5.0(最新 p16) | 企业版先行 | Raw 版尚未跟进发布,暂不选 |
| 2.4.0(最新 p37) | Raw 版当前最新稳定 | 本篇实测版本,2026-09-21 发布 |
| 2.3.0(最新 p50) | 维护期 | 老版本线,仍有补丁 |
选型结论:开源场景直接取 Raw 线最高的 2.4.0p37。安装包命名规则 check-mk-raw-<版本>_<序号>.<发行版代号>_amd64.deb,Ubuntu 22.04 对应代号 jammy。
三、前置条件
- Ubuntu 22.04 服务器,具有 root 权限。
- 磁盘空间 ≥ 5GB(安装展开约 1.1GB,站点数据与 RRD 另计)。
- 可访问官方下载站
download.checkmk.com(离线环境见方案二)。 - 端口 80 未被占用(Web 入口),6556 未被占用(被监控端 agent,如本机同时做自监控)。
- 时钟同步(NTP/chrony),监控图表时间轴依赖系统时间。
四、方案一:官方 deb 包在线安装(推荐)
4.1 更新软件源与基础工具
apt-get update -qq
apt-get install -y wget
实测 -qq 静默模式无输出即成功;wget 用于下载安装包。
4.2 下载安装包
cd /tmp
wget --show-progress https://download.checkmk.com/checkmk/2.4.0p37/check-mk-raw-2.4.0p37_0.jammy_amd64.deb
实测回显(约 274MB):
check-mk-raw-2.4.0p37_0.jammy_amd64.deb 100% 274.02M 12.9MB/s 00:21
4.3 安装(自动拉齐依赖)
apt-get install -y /tmp/check-mk-raw-2.4.0p37_0.jammy_amd64.deb
⚠️ 注意:路径必须指向安装包实际位置。实测在错误工作目录下用相对路径
apt-get install -y ./check-mk-raw-2.4.0p37_0.jammy_amd64.deb会报错:E: Unsupported file ./check-mk-raw-2.4.0p37_0.jammy_amd64.deb given on commandline两种写法二选一:
cd到安装包所在目录后用./,或像上文一样直接用绝对路径。
安装结束实测回显(节选):
Setting up check-mk-raw-2.4.0p37 (0.jammy) ...
update-alternatives: using /omd/versions/2.4.0p37.cre to provide /omd/versions/default (omd)
New default version is 2.4.0p37.cre.
4.4 验证安装
omd version
实测回显:
OMD - Open Monitoring Distribution Version 2.4.0p37.cre
安装器还完成了两件后台事项:把版本目录 /omd/versions/2.4.0p37.cre 注册为系统默认(update-alternatives),并向系统 Apache 注册站点转发配置(/etc/apache2/conf-enabled/zzz_omd.conf,随站点创建逐个生成)。系统 Apache 随安装包自动启动(安装脚本会执行 invoke-rc.d apache2 restart);在无 systemd 的最小化环境若发现未启动,手动拉起即可:
service apache2 start
ss -ltn | grep ":80 "
五、方案二:离线 deb 包安装(断网/内网环境)
内网机无法访问外网时,在联网机上把安装包与全部依赖一并下载,整体拷贝到内网机离线安装。两台机器需同为 Ubuntu 22.04 amd64。
5.1 联网机:下载安装包与全部依赖
mkdir -p /opt/debs && cd /opt/debs
wget -q https://download.checkmk.com/checkmk/2.4.0p37/check-mk-raw-2.4.0p37_0.jammy_amd64.deb
apt-get update -qq
apt-get install -y --download-only -o Dir::Cache::archives=/opt/debs /opt/debs/check-mk-raw-2.4.0p37_0.jammy_amd64.deb
实测回显(依赖包下载阶段,节选):
Get:214 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 samba-dsdb-modules amd64 2:4.15.13+dfsg-0ubuntu1.13 [315 kB]
Get:215 http://archive.ubuntu.com/ubuntu jammy/main amd64 update-inetd all 4.51 [24.9 kB]
Fetched 79.1 MB in 11s (7012 kB/s)
Download complete and in download only mode
清点结果(实测):/opt/debs 共 218 个 deb 文件、349MB。
⚠️ 注意:实测发现
--download-only解析依赖时会漏装python3元包本体(目录里只有 python3-minimal、python3-gpg 等子包)。补一条命令把它拉齐:apt-get install -y --download-only -o Dir::Cache::archives=/opt/debs python3漏掉它的实测后果:离线安装时所有 python3 相关依赖配置失败,
omd命令不可用(详见 5.3 的排障记录)。
5.2 迁移到内网机
tar czf debs-checkmk.tar.gz -C /opt debs
# 把 debs-checkmk.tar.gz 通过 U 盘/内网文件服务拷贝到内网机 /opt 下解包
tar xzf debs-checkmk.tar.gz -C /opt
5.3 内网机:离线安装
dpkg -i /opt/debs/*.deb
实测发现问题:一次性 dpkg -i 后大量包停留在未配置状态(dpkg 不做依赖顺序编排),omd 命令不可用(command not found),dpkg -s check-mk-raw-2.4.0p37 显示 Status: install ok unpacked。继续两步收尾:
dpkg --unpack /opt/debs/python3*.deb # 若 5.1 已补拉 python3 可跳过本步
dpkg --configure -a
实测 dpkg --configure -a 修复过程中曾出现连锁报错(根因即缺 python3 元包):
dpkg: error processing package python3-talloc:amd64 (--configure):
dependency problems - leaving unconfigured
Package python3 is not installed.
补齐 python3 后最终 dpkg --configure -a 无错误,验证(实测回显):
omd version
OMD - Open Monitoring Distribution Version 2.4.0p37.cre
离线安装完成后建站、启动与在线安装完全一致(实测 omd create + omd start,10 个服务全部 running)。
六、创建站点并启动
6.1 创建站点
omd create --admin-password q1w2e3r4 mysite
实测回显(节选):
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...Generating configuration for core (type nagios)...
Precompiling host checks...OK
Executing post-create script "01_create-sample-config.py"...OK
Executing post-create script "02_cmk-compute-api-spec"...OK
Executing post-create script "03_message-broker-certs"...OK
Updating core configuration...
Created new site mysite with version 2.4.0p37.cre.
The site can be started with omd start mysite.
The default web UI is available at http://cmk-server.ubuntu.local/mysite/
The admin user for the web applications is cmkadmin with password: q1w2e3r4
For command line administration of the site, log in with 'omd su mysite'.
After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.
要点:站点是一个独立运行实例(独立目录 /omd/sites/mysite、独立站点用户);--admin-password 固定 cmkadmin 密码,不传则随机生成并打印一次。
6.2 启动站点
omd start mysite
实测回显(10 个服务全部 OK):
Starting agent-receiver...OK
Starting mkeventd...OK
Starting rrdcached...OK
Starting redis...OK
Starting npcda...OK
Starting automation-helper...OK
Starting ui-job-scheduler...OK
Starting nagios...OK
Starting apache...OK
Starting crontab...OK
状态检查(omd status mysite 实测回显):
agent-receiver: running
mkeventd: running
rrdcached: running
redis: running
npcd: running
automation-helper: running
ui-job-scheduler: running
nagios: running
apache: running
crontab: running
---------------------------
Overall state: running
七、Web 控制台验证
浏览器访问 http://<服务器IP>/mysite/,会先弹出浏览器原生的 HTTP Basic 认证框(OMD 站点默认在 Apache 层启用 htpasswd 认证),输入 cmkadmin / q1w2e3r4 进入 Checkmk 主界面。
命令行验证(实测):
# 未认证请求返回 401,认证头为 Basic realm="OMD Monitoring"
curl -si http://localhost/mysite/login.py | head -3
# 带 Basic 认证后:/ 跳转 302,GUI 根返回 200
curl -s -o /dev/null -w "GET /mysite/ -> HTTP %{http_code}\n" -u cmkadmin:q1w2e3r4 http://localhost/mysite/
curl -s -o /dev/null -w "GET /mysite/check_mk/ -> HTTP %{http_code}\n" -u cmkadmin:q1w2e3r4 http://localhost/mysite/check_mk/
实测回显:
HTTP/1.1 401 Unauthorized
Server: Apache
WWW-Authenticate: Basic realm="OMD Monitoring"
GET /mysite/ -> HTTP 302
GET /mysite/check_mk/ -> HTTP 200
REST API 同样用该凭据(版本信息实测):
curl -s -u cmkadmin:q1w2e3r4 http://localhost/mysite/check_mk/api/1.0/version
{"site": "mysite", "group": "", "rest_api": {"revision": "0"}, "versions": {"apache": [2, 4, 52], "checkmk": "2.4.0p37.cre", "python": "3.12.13 (main, Aug 14 2026, 09:49:44) [GCC 14.2.0]", "mod_wsgi": [4, 9, 4], "wsgi": [1, 0]}, "edition": "cre", "demo": false}
⚠️ 注意:未认证时访问登录页会得到 Apache 的 401 页面(
WWW-Authenticate: Basic realm="OMD Monitoring"),这不是故障;Basic 认证通过后才是 Checkmk GUI 自己的登录流程。
八、首台主机纳管验收
把监控服务器自己纳管(localhost,agent 见第九节安装),验收「安装→建站→出数据」全链路。用 REST API 三步完成(实测):
API=http://localhost/mysite/check_mk/api/1.0
A="cmkadmin:q1w2e3r4"
# 1. 创建主机
curl -s -u $A -H "Content-Type: application/json" -o /dev/null -w "add host HTTP %{http_code}\n" \
-X POST $API/domain-types/host_config/collections/all \
-d '{"folder":"/","host_name":"localhost","attributes":{"ipaddress":"127.0.0.1"}}'
# 2. 批量服务发现
curl -s -u $A -o /dev/null -w "bulk discovery HTTP %{http_code}\n" \
-H "Content-Type: application/json" \
-X POST $API/domain-types/discovery_run/actions/bulk-discovery-start/invoke \
-d '{"hostnames":["localhost"],"options":{"monitor_undecided_services":true,"remove_vanished_services":true,"update_service_labels":true,"update_service_parameters":true,"update_host_labels":true},"do_full_scan":true,"ignore_errors":true}'
# 3. 激活变更
curl -s -u $A -o /dev/null -w "activate HTTP %{http_code}\n" \
-H "If-Match: *" -H "Content-Type: application/json" \
-X POST $API/domain-types/activation_run/actions/activate-changes/invoke \
-d '{"sites":["mysite"],"force_foreign_changes":false}'
实测回显:
add host HTTP 200
bulk discovery HTTP 303
activate HTTP 200
稍等首轮检查完成后,Web 界面主机 localhost 出现 22 个服务(CPU、内存、磁盘 IO、接口、Check_MK Agent 等)且状态 OK(本站命令篇第八节的 Livestatus 查询可复核:num_services=22、state=0)。
九、被监控端 agent 安装
监控端站点目录自带 agent 安装包(Linux DEB,同版本号):
dpkg -i /omd/sites/mysite/share/check_mk/agents/check-mk-agent_2.4.0p37-1_all.deb
实测回显:
Deployed xinetd
Starting xinetd
* Starting internet superserver xinetd
...done.
⚠️ 注意:在带 systemd 的真机上,安装包会同时注册并启用 systemd 服务单元实现开机自启;无 systemd 的最小化环境则如上输出,agent 经 xinetd 托管,效果等价。
验证(实测回显):
dpkg -l check-mk-agent | tail -1
ss -ltn | grep 6556
ii check-mk-agent 2.4.0p37-1 all Checkmk Agent for Linux
LISTEN 0 64 *:6556 *:*
其他 Linux/Windows 主机同样安装对应平台的 agent 包,然后在 Web 界面「Setup → Hosts」添加主机或走 REST API 批量纳管。
十、服务管理与开机自启
| 操作 | 命令 |
|---|---|
| 站点启停/重启 | omd start/stop/restart mysite |
| 站点状态 | omd status mysite |
| 开机自启 | 安装后默认已具备:AUTOSTART 为 on,配合系统 Apache 自启 |
| 系统 Apache | service apache2 start/stop/restart(生产用 systemctl) |
确认开机自启链路(实测值):omd config mysite show | grep AUTOSTART 输出 AUTOSTART: on;真机上由 systemd 拉起 Apache 与 omd start 完成站点自启。
十一、升级与卸载
11.1 升级
Raw 版跨补丁级升级流程:下载新版本 deb → apt-get install -y ./check-mk-raw-<新版>.deb(多版本并存于 /omd/versions)→ 逐站点执行 omd update -V <新版>.cre mysite → omd start mysite。官方要求按版本线逐线升级(2.3 → 2.4 → 2.5),不可跳线。
11.2 卸载(完整实测流程)
卸载顺序必须是「先删站点、再卸软件」,实测两步:
# 第一步:删除站点(交互确认输入 yes)
echo yes | omd rm mysite
实测回显:
Stopping agent-receiver...not running.
Skipping Apache restart.
Removing /omd/sites/mysite/tmp from /etc/fstab...OK
Deleting user and group mysite...OK
# 第二步:卸载软件包
apt-get purge -y check-mk-raw-2.4.0p37 check-mk-agent
实测回显(节选):
Purging configuration files for check-mk-raw-2.4.0p37 (0.jammy) ...
Removing system group 'omd'
Removing global links/directories
Conf zzz_omd disabled.
To activate the new configuration, you need to run:
service apache2 reload
验证清理干净(实测):omd sites 无站点输出、ls /omd 目录已移除、dpkg -l | grep check-mk 无结果。
十二、常见问题
Q1:apt-get install ./xxx.deb 报 Unsupported file ... given on commandline
相对路径没有指向实际文件位置。cd 到安装包所在目录,或用绝对路径(见 4.3 实测报错原文)。
Q2:访问 Web 得到 401
站点 Apache 层的 htpasswd Basic 认证在等凭据(实测响应头 WWW-Authenticate: Basic realm="OMD Monitoring"),输入 cmkadmin 密码即可。若建站时未用 --admin-password 固定,随机密码只在 omd create 输出里出现一次;忘记时用 omd su mysite -c 'cmk-passwd cmkadmin' 重置。
Q3:离线安装后 omd: command not found
依赖包未配置完整(Status: install ok unpacked)。先确认 python3 元包已在依赖清单里(5.1 的补拉命令),再执行 dpkg --configure -a 完成配置链,omd version 可用即恢复(实测排障全程见 5.3)。
Q4:omd rm 报 Invalid option '-f' / User 'mysite' still logged in or running processes.
omd rm 没有 -f 选项,必须交互确认(echo yes | omd rm 站点 可脚本化);站点用户仍有进程时会拒绝删除,先 omd stop 站点 并确认站点用户进程全部退出(ps -u 站点用户)再删。
Q5:apt-get purge 报 pre-removal script 返回错误退出
卸载脚本要求先删除所有站点(实测报错:installed check-mk-raw-2.4.0p37 package pre-removal script subprocess returned error exit status 1)。先按 11.2 第一步完成 omd rm,再 purge。
Q6:stop/restart 时个别服务 failed 或 still running after 20 secs!
进程退出慢导致残停,重跑一次 omd stop 直到 omd status 全部停止,再启动。若 ps -u 站点用户 只剩 <defunct> 僵尸进程,需等其父进程回收(系统级 init 会自动处理),避免误判为业务进程残留。
十三、参考链接
- 官方安装文档:https://docs.checkmk.com/latest/en/install_host_linux.html
- Raw 版下载:https://checkmk.com/download?edition=cre
- OMD 站点管理:https://docs.checkmk.com/latest/en/omd_management.html
- REST API 文档:https://docs.checkmk.com/latest/en/rest_api.html
- 本站认知篇:《Checkmk 2.4.0p37 介绍与选型指南》
- 本站部署篇:《Checkmk 2.4.0p37 部署指南》
- 本站命令篇:《Checkmk 2.4.0p37 常用 CLI 命令与工具详解》