在Ubuntu Server上安装Checkmk监控系统

一、安装前准备

  1. 更新系统并安装依赖

    复制代码
    sudo apt update && sudo apt upgrade -y sudo apt install -y wget apt-transport-https

二、安装Checkmk(开源版)

  1. 添加Checkmk仓库

    复制代码
    wget https://checkmk.com/support/1.6.0p30/check-mk-raw-2.1.0p30_0.jammy_amd64.deb
    sudo dpkg -i check-mk-raw-2.1.0p30_0.jammy_amd64.deb
    sudo apt install -f
  2. 创建监控实例

    复制代码
    sudo omd create monitoring
    sudo omd start monitoring
  3. 开放防火墙端口(HTTP/HTTPS)

    复制代码
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload

三、访问Web界面

  1. 访问 http://your-server-ip/monitoring,使用默认凭据登录:

    • 用户名 : cmkadmin

    • 密码 : 安装时生成的密码(查看 /omd/sites/monitoring/etc/htpasswd)。


配置被监控设备


一、监控Linux服务器

  1. 在目标服务器上安装Checkmk Agent

    复制代码
    wget http://<checkmk-server-ip>/monitoring/check_mk/agents/check-mk-agent_2.1.0p30-1_all.deb
    sudo dpkg -i check-mk-agent_*.deb
    sudo systemctl restart xinetd # 确保xinetd服务运行
  2. 在Checkmk Web界面添加主机

    • 导航到 Setup > Hosts > Add host

    • 输入主机名、IP地址,选择 Checkmk Agent 监控方式。

    • 点击 Save & Run Service Discovery,应用更改。


二、监控网络设备(交换机/路由器/防火墙)

  1. 在设备上启用SNMP(以Cisco设备为例):

    复制代码
    ! 进入配置模式
    configure terminal
    snmp-server community YourCommunityString RO  # 设置只读社区字符串
    snmp-server host <checkmk-server-ip> version 2c YourCommunityString
    exit
  2. 在Checkmk中添加SNMP设备

    • 导航到 Setup > Hosts > Add host

    • 输入设备名称、IP地址,选择 SNMP 监控方式。

    • 配置SNMP版本(如v2c)及社区字符串。

    • 点击 Save & Run Service Discovery ,勾选接口流量监控项(如 Interface statistics)。


三、监控堡垒机(以Linux堡垒机为例)

  1. 通过SSH或Agent监控

    • 若支持SNMP,按网络设备方式添加。

    • 若不支持SNMP,通过Checkmk Agent(同Linux服务器步骤)。


配置接口流量监控

  1. 在服务发现结果中启用接口监控

    • 在主机页面点击 Service Discovery

    • 勾选要监控的接口(如 Interface Ethernet0)。

    • 点击 Activate 应用更改。

  2. 自定义流量阈值

    • 导航到 Setup > Hosts > Services,选择接口服务。

    • 修改 Check parameters 设置告警阈值(如带宽利用率超80%告警)。


定时备份平台数据

一、手动备份

复制代码
sudo omd backup monitoring  # 备份文件默认存储在 `/var/lib/omd/backups/`

二、自动备份(Cron任务)

  1. 创建备份脚本

    复制代码
    sudo nano /usr/local/bin/checkmk_backup.sh
    复制代码
    #!/bin/bash
    omd backup monitoring > /dev/null
    find /var/lib/omd/backups/ -name "*.tar.gz" -mtime +30 -exec rm {} \;
  2. 设置定时任务

    复制代码
    crontab -e
    复制代码
    0 2 * * * /usr/local/bin/checkmk_backup.sh  # 每天凌晨2点备份

日常维护事项

  1. 监控日志

    • Checkmk日志路径:/omd/sites/monitoring/var/log/.

    • 检查 nagios.logcmc.log 是否有错误。

  2. 更新Checkmk

    复制代码
    sudo apt update
    sudo apt install check-mk-raw-<新版本号> sudo omd update monitoring
  3. 清理旧数据

    • 在Web界面调整数据保留策略:Setup > General > Global Settings > History

注意事项

  1. SNMP安全

    • 使用SNMPv3替代v2c(配置加密用户)。

    • 限制SNMP访问IP(通过设备ACL或防火墙)。

  2. 权限管理

    • 使用Checkmk的 Roles & Users 功能分配最小权限。

    • 避免使用默认密码,定期更换凭据。

  3. 高可用性

    • 若监控设备超过500台,考虑分布式部署(主从监控节点)。
  4. 资源监控

    • 监控Checkmk服务器资源(CPU/内存/磁盘),避免因负载过高丢数据。
  5. 防火墙规则

    • 允许Checkmk服务器访问设备的SNMP(UDP 161)和Agent(TCP 6556)端口。

故障排查示例

  • SNMP监控失败

    复制代码
    snmpwalk -v2c -c YourCommunityString <设备IP> 1.3.6.1.2.1.1.1.0  # 测试SNMP连通性
  • Agent无数据

    复制代码
    telnet <目标服务器IP> 6556  # 检查Agent端口是否开放
相关推荐
罗西的思考2 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab3 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab3 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸4 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云4 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny8654 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔5 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能
smallyoung5 小时前
AgenticRAG:智能体驱动的检索增强生成
人工智能
_skyming_5 小时前
OpenCode 如何做到结果不做自动质量评估,为什么结果还不错?
人工智能
南山安5 小时前
手写 Cursor 核心原理:从 Node.js 进程到智能 Agent
人工智能·agent·设计