Checkmk需严格分离Server端(OMD site)与Agent端,二者不可同机安装,否则6556端口冲突、xinetd启动失败、cmk -I无响应;Ubuntu/Debian下应选用check-mk-raw开源版,通过gdebi安装.deb包并修复依赖,创建site时注意80端口占用,Agent须由xinetd按需拉起并放行6556端口,通信调试优先使用cmk --debug -d而非telnet。

6556 端口冲突、xinetd 启动失败、cmk -I 扫描无响应,这是新手踩坑最密集的起点。
怎么装 Checkmk Server(Ubuntu/Debian)
关键不是下载哪个包,而是选对版本类型:check-mk-raw 是开源免费版,check-mk-cloud 是带商业支持的版本,企业环境建议从 raw 入手,避免许可证混淆。
- 先更新系统:
sudo apt update && sudo apt install -y gdebi-core - 下载对应 Ubuntu 版本的
.deb包(例如2.4.0p14对应noble),不要直接apt install checkmk—— 官方源不进 Debian/Ubuntu 默认仓库 - 安装时必须用
gdebi或补依赖:sudo gdebi ./check-mk-raw-2.4.0p14_0.noble_amd64.deb;若用dpkg -i,后续一定要跟sudo apt install -f修复缺失依赖,否则omd命令不存在 -
omd create cmk会创建一个名为cmk的 site,但注意:如果本机已运行 Apache/Nginx 占用80端口,site 启动后 Web 访问会 502 —— 此时要么停掉原有服务,要么在创建时加参数:omd create --apache-reload cmk
为什么 cmk -I 扫不到主机或报 Connection refused
这几乎 90% 是 Agent 侧没跑起来,而不是 Server 配置问题。Checkmk 的 Agent 不是常驻进程,它靠 xinetd 按需拉起,监听 6556 端口。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 确认被监控机已安装
xinetd和check-mk-agent包(如check-mk-agent_2.4.0p14-1_all.deb),且/etc/xinetd.d/check_mk文件存在并启用:disable = no - 检查
6556是否真在监听:sudo ss -tlnp | grep :6556;如果没输出,重启xinetd:sudo systemctl restart xinetd - 防火墙必须放行:
sudo ufw allow 6556(Ubuntu)或sudo firewall-cmd --add-port=6556/tcp --permanent && sudo firewall-cmd --reload(RHEL/CentOS Stream) - Server 端测试连通性,别用
telnet,用 Checkmk 自带命令:cmk --debug -d <host-ip></host-ip>,它会显示真实返回内容,比端口通不通更有诊断价值
Agent 主机怎么加进 Server?main.mk 还是 Web 界面?
新版 Checkmk(2.2+)强烈建议用 Web 界面配置,main.mk 手动编辑只适合极简批量导入,且极易因缩进/引号/列表格式错导致 cmk -v 报语法错误。
- 登录 Web:
http://<server-ip>/cmk</server-ip>→ 左侧菜单「Setup」→「Hosts」→「Add host」 - 填主机名(推荐用 DNS 可解析名,不用 IP)、IP 地址、监控代理类型选
Check_MK agent - 保存后点「Save & go to service discovery」→ 点「Execute service discovery」→ 勾选要激活的检查项(如
cpu.loads,df,mem)→ 「Schedule monitoring job」 - 如果发现服务为空,先确认 Agent 返回是否正常:
cmk --debug -d <host-ip></host-ip>应该输出大量指标文本;若返回空或超时,回到上一节排查 Agent
外网访问 Checkmk Web 界面要注意什么
Checkmk 默认只监听 127.0.0.1,即使开了防火墙,外网也打不开。这不是配置问题,是 OMD site 初始化时的默认绑定行为。
- 修改 site 的 Apache 配置:
sudo omd config cmk apache_port 80(设为 80)然后sudo omd config cmk apache_address 0.0.0.0(监听所有地址) - 重启 site:
sudo omd stop cmk && sudo omd start cmk,再检查sudo ss -tlnp | grep :80是否绑定到了*:80 - 如果服务器在内网(如家庭宽带、云厂商私有子网),必须额外做端口映射或内网穿透;用
docker run --net=host启路由侠等工具时,注意它会抢占80和443,得先停掉 OMD site 再启动穿透容器,否则端口冲突 - 生产环境切勿裸露
80,务必加反向代理(Nginx)配 TLS,否则管理员密码明文传输 —— Checkmk Web 登录页本身不强制 HTTPS
xinetd 配置未生效、Server 的 site 未监听外部地址、网络路径中某一级防火墙或 NAT 设备丢弃了 6556 的初始 SYN 包。调试时,宁可多跑一遍 ss 和 cmk --debug -d,也不要凭“应该没问题”跳过验证。

















