Checkmk 2.2: 云和混合 IT 监控

蒂莫-谢贝 2023年5月23日

阅读时间 10 分钟

在Checkmk 2.2中,我们不仅将Checkmk扩展为混合IT监控平台,还推出了新的产品版本——Checkmk Cloud。在这篇博文中,我们将重点介绍新版本中的一些增强功能。该版本在以下方面进行了大量改进:

  • 云监控
  • Kubernetes 监控
  • 自动监控
  • 配置和用户界面的明显改善
  • 新的检查和代理
  • 新增和修改的集成
使用 Checkmk 2.2 和Checkmk Cloud进行云监控

新版本的一大重点是监控云工作负载。我们增加或修改了Checkmk Enterprise和Checkmk Cloud中AWS和Azure的检查数量,并且现在还支持对Google Cloud Platform(GCP)的监控。此外,您还可以在AWS 和 Azure 市场上购买使用Checkmk Cloud。阅读本文,了解我们开发 Checkmk Cloud的原因。

Checkmk Enterprise的提升和转移

Checkmk Enterprise支持GCP、Azure 和 AWS 云基础设施中的提升和转移场景。因此,如果您正在将企业内部基础架构复制到这三家云提供商中任何一家的云环境中,您可以使用Checkmk Enterprise轻松进行监控。

Checkmk Enterprise可覆盖三大超级规模数据中心(hyperscalers)的以下所有云用例:

  • 计算/虚拟机: 检查 EC2、GCE 和虚拟机。
  • 存储和备份: 例如,检查 S3、云存储或博客存储。
  • 数据库: 检查 RDS、云 SQL 或 PostgreSQL DB 等。
  • 负载平衡器: 检查 ELB、GCP 负载平衡器和 Azure 负载平衡器。
  • 管理: 对成本和健康状况进行各种检查。
使用Cloud版本进行监控

新的 Checkmk Cloud本涵盖更高级的云使用案例,如 SaaS 或 PaaS 产品的使用。它包括对功能、容器和 Kubernetes、存储、网络、缓存、应用程序集成和通知等用例的监控检查。您可以在相应的指南文章中看到所有Cloud版本插件的概况。

此外,除了针对 AWS、Azure 和 GCP 的高级云检查外,Cloud版还保留了其他功能。这些功能包括:
  • 针对 AWS、Azure 和 GCP 的特定云仪表盘。
  • 监控 OpenShift 集群。
  • 配置推送代理。
  • 主机自动注册。
内置云仪表盘

Cloud版本中包含的预配置仪表盘可让您直观地了解 GCP、AWS 和 Azure 中资源的状态和详细信息,以便轻松概览。CEE 中包含以下仪表盘:

  • AWS 上的 EC2 和 S3 实例。
  • Azure 中的虚拟机/计算和博客存储实例。
  • GCP 中的计算引擎和云存储实例。
Cloud版本具有预配置的仪表盘,可直观显示 GCP、AWS 和 Azure 中的云资源。
具有云附加功能的监控代理

与Enterprise版相比,Checkmk Cloud为监控代理提供了额外的检查和更多功能。您可以以push模式或自动注册模式配置监控代理。

Push模式

在Cloud版本中,除了以前的pull模式外,您还可以在所谓的push模式下为 Windows 或 Linux 系统配置监控代理,这意味着代理自动向 Checkmk 服务器发送监控数据。在pull模式下,代理始终响应服务器的请求。

当监控实例无法访问受监控主机的网络时,例如在基于云的配置或分段网络中,就需要使用push模式。

自动注册

Cloud版的自动注册功能会自动将部署的主机添加到监控中,无需任何手动操作。例如,添加由 AWS、Azure 或 GCP 创建的对象。

在自动注册过程中,Checkmk 不仅会将主机添加到监控中,还会自动执行发现服务并激活更改,这样您的Checkmk 云监控将自动与动态云基础设施保持同步。使用Agent Bakery,您还可以在云版本中提供带有自动注册配置的代理包,使大规模推出变得更加容易。

主机生命周期管理

云环境是一种动态基础设施,因为云系统会根据需要创建 EC2 实例,然后在不再需要时将其删除。现在checkmk的两个商业版本都提供主机生命周期管理功能,因此若监控服务器在特定的一段时间内无法联系到主机,您就可以自动移除这些消失的主机。这样,您就可获得对动态云工作负载的实时更新的监控,也可在进行重大基础架构升级后轻松清理监控设置。

此外,使用 Checkmk 2.2,您可以将 AWS S3 存储桶或 Azure Blob 存储设置为备份路径。这为您提供了最方便的云备份选项。不过,您也可以把云备份作为内部部署的 Checkmk 实例的异地备份。

OpenShift 和 Kubernetes 监控

去年,在 Checkmk 2.1 中,我们对 Kubernetes 监控进行了全面改造,使您可以深入了解 Kubernetes 集群。现在,在 2.2 中,我们增加了对 OpenShift 的支持。这意味着你现在可以配置 Kubernetes 专用代理来监控 OpenShift 环境。您还可以在 OpenShift 集群中使用从 2.1 版开始提供的 Kubernetes 监控仪表盘。

另外, Checkmk 从2.2 版开始还支持 Kubernetes 监控中的 CronJob、持久卷和持久卷声明。

为您的监控提供更多自动化功能
Rest API 的新功能

2.0 版中引入的 REST API 允许您自动执行日常监控任务。在 2.2 版中,API 现在支持更多端点,如 SLA、指标、注释、站点管理和用户角色、移动规则以及在服务发现中执行 “Tabula rasa”。因此,REST API 不仅涵盖了 checkmk2.2 版不再支持的传统 Web API 的所有功能,还为监控自动化提供了更多功能。

图形用户界面的明显改善

在使用 Checkmk 2.2 时,您会很快发现许多视觉改进。不仅仅是图形用户界面各处按钮的可视性大大提高,例如在agent bakery、配置页面或浏览页面。

在此版本中,例如,我们还提高了下拉菜单中复选框的可见度。我们为切换操作设计了新图标,使您可以一目了然地看到某个功能是否已激活。

文内“帮助”的样式也更现代化,且采用了更有“信息感”的蓝色。

我们还重新设计了确认对话框,使按钮有了更精确的标签,这样您就能立马清晰地看到将要触发的操作。其中一个改变就是将“放弃”按钮改为了“取消”。

改进主机设置

我们为 “删除 TLS 注册”操作添加了一个图标,以便更好地区分 “删除”和 “删除 TLS 注册”操作。此外,您还可以在主机概览中直接在主机上执行 “删除 TLS 注册”和 “检测父网络”操作。

您还可以选择隐藏或展开显示主机标签。这样,你就可以自行决定是用简洁的主机概览模式或者可以浏览更多主机信息的模式。

在 2.2 版中设置新主机时,“显示更多”下的 “IP 地址系列”字段不再隐藏。此外,页面上的按钮也变为操作导向的,命名也更加简短。这使得它们与 Checkmk 中的其他操作更加一致。

运行 “服务发现”后,您还可以获得数据源的状态。

更直观的监控配置

此外,Checkmk 2.2 中的许多其他更改进一步提高了 Checkmk 的可用性,增加了监控的价值。例如,要查找动态主机管理,现在可以在设置菜单中搜索 “Piggyback”或 “DCD”。

从 2.2 版开始,您可以使用 AND/OR/NOT 布尔逻辑过滤主机和服务标签。这样就可以细化筛选结果列表,例如,查找位于慕尼黑的所有非Web的 Linux 服务器。

冻结业务聚合

有了新的 “冻结业务聚合”,商务智能就多了一项功能。它可以让您直观地看到 IT 中的变化。使用冻结聚合,您可以点击比较冻结现状和实时版本,并立即识别变化。例如,您可以查看节点是否已添加到聚合中或是否已从聚合中移除,同时还能获得对由此导致的任何状态变化的解释。

合并清单列

通过 Checkmk,现在可以将不同清单表中的数据合并到一个视图中,并通过服务扩展该视图。不过,合并清单列的前提条件是,其他表中用于比较的列的条目必须是唯一的。此外,只有选择了清单作为数据源,才能使用此功能。要了解如何配置清单列合并,请参阅手册文章。

现在,您也可以应用正则表达式来创建合并。例如,您有一些主机,部分运行服务A,部分运行服务B,那您就可以使用regex来在一个列表中查看每台主机对应的服务类型。还可以使用 regex 在清单列合并中显示 Windows 服务器上的服务处理器队列和 Linux 系统上的服务 CPU 负载。

另一项新功能是,现在可以为所有类型的列设置自定义标题。这不仅适用于合并列,也适用于列或合并清单列。这样,您就可以根据自己的喜好更改默认标题。

分布式监控环境更易于更新

在2.2版中,在分布式监控环境中更新 Checkmk 也将变得更容易,因为未来 Checkmk 扩展包(MKP)管理将支持不同版本。这样,中央实例就可以为仍处于旧版本级别的远程实例以及已经更新的远程实例维护软件包。这意味着你不必再同时更新实例,而是可以分阶段更新。因此,您可以在更新下一个 Checkmk 实例之前,解决单个监控服务器上的潜在问题。

与他人共享仪表盘、视图和报告

此外,从 2.2 版开始,您也可以将仪表盘、视图,和检查、报告一起通过MKP分享给其他用户。

新增的检查和代理

自 2.1 版以来,我们对 Checkmk 进行了 174 项改进,添加了新的检查和代理。我们在此仅重点介绍其中几项。

监控 Cisco Meraki

在 2.2 版中增加了一个用于监控 Cisco Meraki 的特殊代理。它可查询设备的后端和前端,添加设备状态信息(在线、警报、离线或休眠),查询设备的温度传感器,并提供 Meraki 许可证概览。通过这种方式,Checkmk 可帮助您更好地了解 Meraki 机群。

Ivanti Neurons for MDM 专用代理:移动设备合规性监控

使用 Ivanti Neurons for MDM(前身为 MobileIron Cloud)进行移动设备管理的客户现在可以使用 Checkmk 对其 Ivanti Neurons for MDM 管理的设备进行合规性监控。专用代理可从 Ivanti 检索数据,并允许您设置合规性违规、补丁和安全补丁级别以及客户端版本等阈值,因此您可以随时使用 Checkmk 监控移动设备的合规性。

改进 NetApp 监控

在此版本中,我们增强了 NetApp 专用代理的监控功能。现在,该代理不仅能监控虚拟端口,从 2.2 版起,它还能监控物理端口,这样您就可以更好地监控 NetApp 系统的 HA,并在潜在故障发生前发现它们。此外,Checkmk 现在还能更好地监控卷效率。这意味着您现在可以使用 Checkmk 查看数据压缩的效率以及冗余数据删除、数据压缩后“空间节省”的效率,帮助您决定最适合您的NetApp 系统的方式。

更深入的Graylog日志监控

从 2.2 版开始,我们对监控Graylog实例的专用代理进行了改进,改进后可按节点分解 JVM 负载。这在以前仅限于群集级别。这样,您就可以更好地平衡 Graylog 节点的JVM使用情况。您还可以深入了解单个节点的性能,并设置适当的阈值。特殊代理还将 Graylog 警报和事件集成到 Checkmk 中,并允许您配置阈值。

针对Primekey设备的新检查

Checkmk允许您监控Primekey设备。新的SNMP检查提供有关Primekey设备的虚拟机、RAID、EJBCA、标识服务器、HSM状态、CPU温度、DB使用情况、风扇速度和HSM电池电压的数据。

特别代理支持密码存储

从 2.2版 开始,所有 Checkmk 特殊代理现在都支持存储密码。这意味着,对于所有存储的密码,您可以定义允许谁使用密码和/或更改密码。授权人员只能看到您通过特殊代理或主动检查设置监控时指定的密码 ID,因而无法推论出密码本身。

您还可以通过新密码强度指示器查看所选密码的强度。

在 Checkmk 中存储密码(上图)和使用存储的密码设置特殊代理(下图)
集成方面的新功能

在 2.2 版中,我们不仅扩展了检查和代理的范围,还扩展了现有的集成。例如,新增了 MS Teams 中的通知功能。此外,其他现有集成也在新版本中进行了修改。

Grafana

在过去的几个月中,我们在 Grafana 集成方面做了大量工作。比如,Grafana 插件现在还支持 REST API。我们的 Grafana 插件发布周期与 Checkmk 的发布周期是分开的。因此,我们发布插件新版本的时间间隔较短。下一个版本 3.1.0 即将发布。它将支持固定或动态列表变量,允许您在要显示的对象之间进行切换。

Checkmk Cloud版本还将与 Grafana Cloud 集成。这意味着 Checkmk 的 Grafana 插件将通过 Grafana Plugin Store 提供,从而轻松与云环境集成。Grafana Cloud 集成的测试版即将推出。

Graphite/InfluxDB

与 InfluxDB 的集成也得到了改进,支持批处理和压缩数据,以便 Checkmk 批量发送压缩数据。这些变化是 Graphite/InfluxDB 和 rrdcached 输出程序改进的结果。在 2.2 版中,我们统一了行为,使数据集始终保持相同。现在,Checkmk 还提供了若干指标,用于排除 RRD(循环数据库)的一般故障。因此,Checkmk 为您提供了了解RRD处理性能所需的洞察力。

使用 SAML 进行 SSO

从 2.2 版开始,SAML 身份验证现已集成到 Checkmk 中。该集成可与任何已配置的 MFA(多因素身份验证)设置协同工作,并允许配置 SAML 身份验证,以及通过图形用户界面将 SAML 属性分配给角色和联系人组。

Checkmk Trial

使用试用版亲自体验 Checkmk 2.2。只需下载 Checkmk Cloud版,您可在 30 天内使用Cloud版的全部功能。