Nagios 与 Redis Enterprise 集成
Redis Enterprise Software (RS) Nagios 插件使您能够监控与 RS 相关的对象和警报的状态。RS 警报可能与集群、节点或数据库相关。
Redis Enterprise Software (RS) Nagios 插件使您能够监控与 RS 相关的对象和警报的状态。RS 警报可能与集群、节点或数据库相关。
可以通过 Nagios 监控的警报与在 RS UI 的“设置 -> 警报”页面或特定数据库的“配置”页面中配置的警报相同。
所有警报配置(启用/未启用、设置阈值等)只能通过 RS UI 完成,无法在 Nagios 中配置。在 Nagios 中,您只能查看警报的状态和信息。
完整的警报列表可在插件包本身中找到(在“/rlec_obj/rlec_services.cfg”文件中,更多详细信息如下)。
RS Nagios 插件支持从 Gnome keyring、KWallet、Windows 凭据管理器、Mac OS X Keychain(如果存在)或其他 Linux Secret Service 兼容的密码存储中检索 API 密码。如果没有可用的 keyring 服务,密码将以 base64 编码保存在用户主目录下。
配置 Nagios 插件
为了配置 Nagios 插件,您需要将包中包含的文件复制到您的 Nagios 环境中,并将其放在 Nagios 配置目录下。或者,您也可以将包配置的一部分复制到现有的 Nagios 配置中。
如果需要 Keyring 功能来存储密码,则应在 Nagios 机器上按照以下操作系统 CLI 步骤安装和使用 python keyring 包
- pip install keyring 安装包(如需安装 python pip,请参阅 https://pip.pypa.org.cn/en/stable/installing/)。
- keyring set RS-Nagios <RS user email> 设置密码。用户邮箱应与 Nagios 配置中使用的邮箱相同,并且设置密码时应使用运行 Nagios 服务器的同一用户。
然后,您需要将本地参数(例如主机名、地址和对象 ID)更新为您 RS 部署的相关值。
最后,您需要为您希望监控的每个节点和数据库设置配置。更多详细信息如下。
RS Nagios 包包含两个组件
- 插件本身 - 后缀为“rlec_nagios_plugin”
- 配置文件 - 后缀为“rlec_nagios_conf”
下面列出了这些包中包含的文件以及需要对这些文件进行的更新说明。
注意:以下说明假设您正在 Ubuntu 上运行,已 clean 安装 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” - 包含集群级别的配置详细信息。如果您想监控多个集群,则需要为每个集群复制文件中现有的两个条目。