AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 938385
Accepted
digijay
digijay
Asked: 2018-11-03 06:29:29 +0800 CST2018-11-03 06:29:29 +0800 CST 2018-11-03 06:29:29 +0800 CST

Nagios/Icinga:不要在备用节点上显示 DRBD 分区的 CRITICAL

  • 772

我在故障转移配置中设置了一个起搏器/corosync ha-cluster,具有两个节点:生产节点和备用节点。有三个 DRBD 分区。到目前为止一切正常。

我在两个节点上都使用 Nagios NRPE 来监控使用 icinga2 作为报告和可视化工具的服务器。现在,由于备用节点上的 DRBD 分区在出现故障转移开关之前不会挂载,因此我总是会收到以下严重警告:

icnga2 监控输出

因此,这是一个错误警报。我已经偶然发现了 DISABLE_SVC_CHECK 并尝试实现它,这是一个示例:

echo "[`date +%s`] DISABLE_SVC_CHECK;$host_name;$service_name" >> "/var/run/icinga2/cmd/icinga2.cmd"

是否有一种简单的方法/最佳实践可以在 Nagios 或 Icinga2 的备用节点上禁用对 DRBD 的检查?当然,我希望此检查在故障转移后对备用服务器生效。

nagios
  • 3 3 个回答
  • 608 Views

3 个回答

  • Voted
  1. Best Answer
    Dok
    2018-11-03T07:32:23+08:002018-11-03T07:32:23+08:00

    我建议不要直接在主机上监控它。在我们的环境中,我们使用 Pacemaker 来自动化故障转移。Pacemaker 为我们做的一件事是在故障转移时移动 IP 地址。这可确保我们的客户端始终指向主节点,并有助于使故障转移在客户端看起来是透明的。

    对于 Nagios,我们监控每台主机上的一系列服务以密切关注,但随后我们为虚拟/浮动 IP 地址配置了一个额外的“主机”,以监控仅在主服务器上运行的 DRBD 设备和服务。

    • 2
  2. Robert Dedieu
    2018-11-06T08:47:09+08:002018-11-06T08:47:09+08:00

    在我的环境中,我们管理在 drbd 设备(传统、lxc 容器、docker 容器、数据库等)之上运行的多个服务。我们使用免费和开源的 opensvc 堆栈 ( https://www.opensvc.com ),并提供自动故障转移功能。下面是一个带有 drbd 的测试服务和一个 redis 应用程序(在示例中禁用)

    首先在集群级别,我们可以在svcmon输出中看到:

    • 2 个节点 opensvc 集群(node-1-1 和 node-1-2)
    • 服务 servdrbd 在节点 1-1 上启动(大写绿色 O),在节点 1-2 上待机(小写绿色 o)
    • node-1-1 是此服务的首选主节点(接近大写 O 的抑扬符)

    在服务层面svcmgr -s servdrbd print status,我们可以看到:

    • 在主节点上(左侧):我们可以看到所有资源都已启动(或备用;这意味着当服务在另一个节点上运行时它们必须保持启动)。而关于drbd设备,它被报告为Primary
    • 在辅助节点上(右侧):我们可以看到只有备用资源已启动,并且 drbd 设备处于辅助状态。

    为了模拟问题,我断开了辅助节点上的 drbd 设备,并产生以下警告

    重要的是看到服务可用性状态仍然是up,但是整体服务状态降级为warn,意思是“ok,生产仍然运行良好,但是出了点问题,看看”

    只要您知道所有 opensvc 命令都可以与 json 输出选择器 (nodemgr daemon status --format json或svcmgr -s servdrbd print status --format json) 一起使用,就很容易将其插入 NRPE 脚本,并仅监视服务状态。正如您所看到的,主要或次要的任何问题都被困住了。

    更好,nodemgr daemon status因为它在所有集群节点上都是相同的输出,并且所有 opensvc 服务信息都显示在单个命令调用中。

    如果您对此设置的服务配置文件感兴趣,我将其发布在 pastebin此处

    • 2
  3. Keith
    2018-11-06T12:44:16+08:002018-11-06T12:44:16+08:00

    您可以使用check_multi将两个 DRBD 检查作为单个 Nagios 检查运行,并将其配置为在其中一个子检查正确时返回 OK。

    但是,当您还必须决定要附加支票的主机时,这会变得很棘手。您可以使用 VIP 将其附加到主机,或将检查附加到两个主机,并在每个主机上使用 NRPE/ssh 来检查另一个,等等。

    • 1

相关问题

  • 使用 Nagios 监视 Novell 集群服务

  • 异地nagios?[关闭]

  • 是否有任何可用的图形工具来为主机生成 nagios 用户提供的地图坐标?

  • 我如何开始使用 Nagios?

  • 如何为 Exchange 邮件存储配置 Nagios 警报

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve