Ubuntu 22.04 安装 Checkmk 2.4.0p37 指南

Ubuntu 22.04 安装 Checkmk Raw 2.4.0p37 指南:版本选型、官方 deb 在线与离线两套安装方案、omd 建站启动、Web 控制台与 REST API 验证、主机纳管验收、agent 安装与完整卸载流程,全量实测。

CheckmkCheckmk监控2026/10/20

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。

三、前置条件

  1. Ubuntu 22.04 服务器,具有 root 权限。
  2. 磁盘空间 ≥ 5GB(安装展开约 1.1GB,站点数据与 RRD 另计)。
  3. 可访问官方下载站 download.checkmk.com(离线环境见方案二)。
  4. 端口 80 未被占用(Web 入口),6556 未被占用(被监控端 agent,如本机同时做自监控)。
  5. 时钟同步(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 自启
系统 Apacheservice 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 会自动处理),避免误判为业务进程残留。

十三、参考链接