Nagios 与 Redis 企业版
Redis 企业版软件 (RS) Nagios 插件允许您监控 RS 相关对象的状况和警报。RS 警报可能与集群、节点或数据库有关。
Redis 企业版软件 (RS) Nagios 插件允许您监控 RS 相关对象的状况和警报。RS 警报可能与集群、节点或数据库有关。
可以通过 Nagios 监控的警报与 RS UI 中“设置”>“警报”页面或特定“数据库”>“配置”页面中可以配置的警报相同。
所有警报配置(激活/未激活、设置阈值等)只能通过 RS UI 完成,无法在 Nagios 中配置。通过 Nagios,您只能查看警报的状况和信息。
警报的完整列表可在插件包本身中找到(位于“/rlec_obj/rlec_services.cfg”文件,以下将详细介绍)。
RS Nagios 插件支持从 Gnome 密钥环、KWallet、Windows 凭据库、Mac OS X 密钥链(如果存在)或其他与 Linux Secret Service 兼容的密码存储中检索 API 密码。如果没有可用的密钥环服务,密码将使用 base64 编码存储在用户主目录下。
配置 Nagios 插件
为了配置 Nagios 插件,您需要将软件包附带的文件复制到您的 Nagios 环境中,并将它们放置在 Nagios 配置目录中。或者,您可以将软件包配置的部分内容复制到您现有的 Nagios 配置中。
如果需要使用密钥环功能存储密码,则应安装 python keyring 软件包,并按照 Nagios 机器上的操作系统 CLI 中的以下步骤使用它。
- pip install keyring - 用于安装软件包(如果需要,请参阅 https://pip.pythonlang.cn/en/stable/installing/ 以了解如何安装 python pip)。
- keyring set RS-Nagios <RS 用户电子邮件> - 用于设置密码。用户电子邮件应与 Nagios 配置中使用的电子邮件相同,并且密码应使用运行 Nagios 服务器的相同用户设置。
然后,您需要将本地参数(如主机名、地址和对象 ID)更新为与您的 RS 部署相关的值。
最后,您需要为要监控的每个节点和数据库设置配置。更多详情见下文。
RS Nagios 软件包包含两个组件
- 插件本身 - 后缀为“rlec_nagios_plugin”
- 配置文件 - 后缀为“rlec_nagios_conf”
以下是这些软件包中包含的文件列表以及有关需要对这些文件进行哪些更新的说明。
注意:以下说明假设您在 Ubuntu 上运行,拥有一个干净的 Nagios 安装,并且基本 Nagios 目录为“/usr/local/nagios/”。
步骤 1
将插件文件夹中名为“libexec”的文件夹及其内容复制到“/usr/local/nagios/”。
其中包含的文件是
- check_rlec_alert
- check_rlec_node
- check_rlec_bdb
- email_stub
- rlecdigest.py
注意:check_rlec_alert、check_rlec_node、check_rlec_bdb 文件是实际的插件实现。您可以使用“ -h”开关运行它们中的每一个,以检索其文档及其预期参数。
步骤 2
将以下行添加到您的“nagios.cfg”中
- cfg_dir=/usr/local/nagios/etc/rlec_obj
- cfg_dir=/usr/local/nagios/etc/rlec_local
- resource_file=/usr/local/nagios/etc/rlec_resource.cfg
步骤 3
将配置文件及其文件夹复制到“/usr/local/nagios/etc”,并根据以下详细说明进行必要的更新。
- 在“/etc”文件夹下
- “rlec_resource.cfg” - 包含用于连接到 RS 的用户和密码的全局变量定义。您应该将变量更新为您的部署相关的用户和密码。
- “rlec_local”文件夹
- “rlec_obj”文件夹
- 在“/rlec_local”文件夹下
- “cluster.cfg” - 包含集群级别的配置详细信息。如果您想监控多个集群,则需要为每个集群复制文件中现有的两个条目。
- 第一个“define host”部分定义了集群 IP 地址的变量,该变量在其他配置文件中使用。
- 将“address”更新为在 DNS 中定义的集群名称(FQDN)或集群中某个节点的 IP 地址。
- 如果您正在配置多个 RS,那么在复制此部分时,您应该确保
- “name”是唯一的。
- 在第二个“define host”部分
- 每个条目中的“host_name”必须是唯一的。
- 每个条目中的“display_name”可以更新为在 Nagios UI 中显示的用户友好名称。
- 第一个“define host”部分定义了集群 IP 地址的变量,该变量在其他配置文件中使用。
- “contacts.cfg” - 包含要将电子邮件发送给谁的配置详细信息。它应该更新为与您的部署相关的价值。如果此文件已存在于您现有的 Nagios 环境中,那么您应该相应地更新它。
- “databases.cfg” - 包含要监控的数据库的配置详细信息。应该为要监控的每个数据库复制“define host”部分。
- “host_name”应该是唯一的价值。
- “display_name”应该更新为在 UI 中显示的用户友好名称。
- “_RLECID”应该是数据库的内部 ID,可以从
rladmin status
命令输出中获取。
- “nodes.cfg” - 包含集群中节点的配置详细信息。应该为集群中的每个节点复制“define host”部分。
- “host_name”应该是唯一的价值。
- “display_name”应该更新为在 UI 中显示的用户友好名称。
- “address”应该更新为映射到节点 IP 地址的 DNS 名称,或者更新为 IP 地址本身。
- “_RLECID”应该是节点的内部 ID,可以从
rladmin status
命令输出中获取。
- 在“/rlec_obj”文件夹下
- “rlec_cmd.cfg” - 包含有关如何激活插件的配置详细信息。无需对其进行任何更新。
- “rlec_groups.cfg” 包含主机组的定义。无需对其进行任何更新。
- “rlec_services.cfg” 包含所有正在监控的警报的定义。无需对其进行任何更新。
- “rlec_templates.cfg” 包含一般的 RS Nagios 定义。无需对其进行任何更新。
- “cluster.cfg” - 包含集群级别的配置详细信息。如果您想监控多个集群,则需要为每个集群复制文件中现有的两个条目。