在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端口是否开放
相关推荐
米小虾37 分钟前
Loop Engineering —— 循环的设计与自主执行
人工智能·agent
米小虾1 小时前
Harness Engineering —— 系统的安全护栏
人工智能·agent
火山引擎开发者社区1 小时前
积分当钱花,火山引擎开发者激励计划首月消费双倍回馈
人工智能
AlfredZhao2 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
aqi002 小时前
15天学会AI应用开发(十)把文本嵌入模型换成国产模型
人工智能·python·ai编程
MobotStone2 小时前
为什么在AI时代,“好奇心”成了最值钱的能力?
人工智能
武子康3 小时前
调查研究-200 llama.cpp b9754:一次很小但很关键的 Agent 工具调用修复
人工智能·agent·llama
Ralph_Salar3 小时前
从0到1搭建AI智能支付风控助手Stage1-RAG知识库升级 — 元数据让检索更精准
人工智能