Nagios与Redis企业版
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 钥匙环、KWallet、Windows 凭证保险库、Mac OS X 钥匙链(如果存在)或兼容的 Linux 秘密服务密码存储中检索 API 密码。如果没有可用的钥匙环服务,密码将以 base64 编码保存在用户主目录下。
配置Nagios插件
为了配置Nagios插件,您需要将包中的文件复制到您的Nagios环境中,并将它们放置在Nagios配置目录中。或者,您也可以将包配置的部分内容复制到您现有的Nagios配置中。
如果需要使用Keyring功能来存储密码,应在Nagios机器的操作系统CLI上按照以下步骤安装并使用python keyring包:
- pip install keyring 安装包(如果需要安装python pip,请参见 https://pip.pypa.io/en/stable/installing/)。
- 使用 keyring set RS-Nagios
来设置密码。 用户邮箱应与 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" 应为可以从
rladmin status
命令输出中检索到的数据库内部 ID。
- "nodes.cfg" 保存集群中节点的配置详细信息。应为集群中的每个节点复制 "define host" 部分。
- "host_name" 应为唯一值。
- "display_name" 应更新为在 UI 中显示的用户友好名称。
- "address" 应更新为映射到节点 IP 地址的 DNS 名称,或 IP 地址本身。
- "_RLECID" 应为可以从
rladmin status
命令输出中检索到的节点内部 ID。
- 在 "/rlec_obj" 文件夹下:
- "rlec_cmd.cfg" 保存如何激活插件的配置详细信息。无需对其进行任何更新。
- "rlec_groups.cfg" 保存主机组的定义。无需对其进行任何更新。
- "rlec_services.cfg" 保存所有监控警报的定义。无需对其进行任何更新。
- "rlec_templates.cfg" 保存一般的 RS Nagios 定义。无需对其进行任何更新。
- "cluster.cfg" 保存集群级别的配置详细信息。如果您想监控多个集群,则需要为每个集群复制文件中的两个现有条目。