一、安装前准备

  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.log 和 cmc.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端口是否开放

在Ubuntu Server上安装Checkmk监控系统的更多相关文章

  1. 一台Ubuntu server上安装多实例MySQL

    受环境所迫,在一台Ubuntu server上安装多个实例MySQL. 手动安装MySQL 环境:Ubuntu server 11.10 64bit + mysql-5.5.17-linux2.6-x ...

  2. Docker-Compose简介与Ubuntu Server 上安装Compose

    Compose简介 Compose是Docker官方的开源项目,负责对Docker容器集群的快速编排. Compose是定义和运行多个Docker容器的应用. 举例来说: 一个项目除了Tomcat容器 ...

  3. 通过 ppa 在ubuntu server 上安装java 8

    第一步:使用ppa/源方式安装,安装ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 第二步:安装 oracle ...

  4. Debian/Ubuntu server上安装安全更新

    原始链接:http://serverfault.com/questions/270260/how-do-you-use-apt-get-to-only-install-critical-securit ...

  5. 在ubuntu server上安装沸腾时刻环境

    1. 安装php5.6 http://phpave.com/upgrade-to-php-56-on-ubuntu-1404-lts/ 按照这篇文章的顺序来做,可以安装最新5.6版本php 安装好了以 ...

  6. 在Ubuntu Server上安装Postgresql

    首先更新一下源: sudo apt-get update 如果你不知道Postgresql具体的包的名称,可以使用一下语句进行查找: apt-cache search ^Postgresql 使用上述 ...

  7. Ubuntu Server 上安装pip后pip命令报错的解决办法

    Installation Do I need to install pip? pip is already installed if you are using Python 2 >=2.7.9 ...

  8. 在ubuntu服务器上安装tomcat 9

    前提条件: 确保ubuntu服务器上 已经安装 java 8 或更高版本,安装java8可以参考我的另一篇博文 通过 ppa 在ubuntu server 上安装java 8 java -versio ...

  9. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  10. 从零到一,利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernetes v1.10.0

    说明 初步接触kubernets,记录学习过程 本教程目的利用kubeadm在ubuntu server 16.04 64位系统离线安装kubernets v1.10.0 环境信息 节点IP地址 角色 ...

随机推荐

  1. Atcoder ABC216G 01Sequence 题解 [ 蓝 ] [ 差分约束 ]

    01Sequence:比较板的差分约束,但有一个很妙的转化. 朴素差分约束 设 \(x_i\) 表示第 \(i\) 位的前缀和. 我们要最小化 \(1\) 的个数,就要求最小解,就要求最长路.因为约束 ...

  2. Scratch教程:第1课认识Scratch

    一.Scratch来源 Scratch最初是由麻省理工学院媒体实验室的终身幼儿园研究小组的米切尔雷斯尼克和西摩于2003年发起的. 希望帮助所有的孩子"发现和跟随自己的激情和探索力,敢于尝试 ...

  3. 普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)

    一.基础原则 1️⃣ 说人话最重要 "不用专业术语,就像和朋友聊天一样描述需求". ️ 错误示范:"请用SWOT分析法输出新能源汽车行业报告". 正确示范:&q ...

  4. 运行jar包时,在命令行中指定依赖的jar包和主类

    在一次实验过程中,使用maven打包java项目为jar包,打出来的myexp.jar包只有7KB(我的实验项目正常打出来的包不小于60MB).这时,运行java -jar myexp.jar报错&q ...

  5. script 标签中 defer 和 async 的区别

    https://www.cnblogs.com/huangtq/p/18422775 在 <script> 标签中,defer 和 async 是两个用于控制 JavaScript 脚本加 ...

  6. Web前端入门第4问:HTML、CSS、JavaScript 的作用分别是什么?

    HTML.CSS.JavaScript 的核心作用 HTML:网页的骨架 功能:定义页面的内容结构(如按钮.表格.图片). 示例:<button>提交</button> 创建一 ...

  7. 更新docker配置,重启docker进程,容器不重启

    前言 想重启 dockerd ,重新加载配置文件,可又怕重启容器,影响线上业务. reload 重新加载配置 dockerd reload 配置,不会重启 dockerd kill -SIGHUP $ ...

  8. 在Ubuntu上安装php7.2、php7.3、php7.4

    目录 开始之前 在Ubuntu 18.04或16.04上安装PHP 7.4 更新Ubuntu 添加PHP存储库 安装PHP 7.4 在Ubuntu 16.04上安装PHP 7.2 更新Ubuntu 添 ...

  9. 密码编码学与网络安全 原理与实践(第七版)William Stallings---读书笔记(1.1-1.5)

    密码编码学与网络安全 原理与实践(第七版)William Stallings---读书笔记 第一部分 概览 第1章 计算机与网络安全概念 密码算法与协议又可分为4个主要领域: 对称加密 加密任意大小的 ...

  10. AI Agent爆火后,MCP协议为什么如此重要!

    什么是MCP? 模型上下文协议(Model Context Protocol, MCP)是一种专为机器学习模型服务设计的通信协议,旨在高效管理模型推理过程中的上下文信息(如会话状态.环境变量.动态配置 ...