当前您所在的位置:首页>新闻中心>行业动态
新品发布
行业动态
营销活动

使用 Nagios XI 监控 Microsoft SQL

发布时间:2021/12/17 浏览量:2359

 

本文档介绍如何使用 Nagios XI 监控 Microsoft SQL (MSSQL)。 这包括使用单独的数据库、查询和服务器配置向导以及这些向导工作所需的先决条件。

本文档供希望在其环境中监视 MSSQL 的 Nagios 管理员使用。

 

术语

MSSQL 有几个组件需要配置才能允许 Nagios XI 监视它。 所需的步骤因以下因素而异:

1、MSSQL 的多个实例可以安装在同一台服务器上,但会监听不同的网络端口(通常是动态的)

2、SQL Server Browser 服务将在 UDP 端口 1434 上接收请求时提供有关已安装实例的信息(如网络端口)

3、使用 MSSQL 向导时,如果定义实例,则不提供端口

 

1、您需要在 MSSQL 实例中创建一个用户帐户以允许 Nagios XI 连接

2、此帐户可以通过 MSSQL 使用 SQL 身份验证或 Windows 身份验证

3、强烈建议您不要为此使用 sa 或管理员帐户

 

1、SQL 身份验证

是特定于 MSSQL 实例的本地用户帐户

2、Windows 身份验证

将 Windows 用户帐户映射到内部 MSSQL 用户

 

MSSQL 服务器需要防火墙规则来允许传入的网络流量

 

创建监控用户账户

监控的最佳实践是在 MSSQL 实例中创建一个用户帐户,Nagios XI 将使用该帐户进行连接。 即使在使用 Windows 身份验证时,您也需要在链接到该帐户的 MSSQL 中创建一个帐户。 建议您的 Windows 或 MSSQL 帐户不允许过期,否则当它最终过期时会导致监控问题。

在您的 MSSQL 服务器上打开 SQL Server Management Studio 并以具有管理权限的用户身份连接到您的实例。

展开安全并选择登录。

右键单击登录并选择新建登录

将出现登录 - 新窗口。

 

 

 

根据您的身份验证方法,您的选择会略有不同:

 

Windows 身份验证

选择 Windows 身份验证,然后单击搜索按钮。

 

 

您将需要使用位置按钮来定义 Windows 用户帐户的范围。 默认范围是本地服务器,如果要使用域帐户,请使用“位置”按钮。

 

 
 

 

在上面的屏幕截图中,您可以看到选择了 BOX293.local 域。

键入帐户名称,然后单击“检查名称”按钮。

 
 

 

应该会找到您的用户帐户。

单击“确定”以选择帐户。

在 "新登录 "屏幕中,您可以看到登录名称字段现在已经填好。所有需要的字段都已填好,请点击 "确定 "按钮。

 

 
 

 

VIEW SERVER STATE的权限需要授予新的用户账户。

右键单击顶部的服务器,选择新建查询

 

 

您需要在查询窗口中键入以下内容:

将视图服务器状态授予 "<username>"

在屏幕截图中,您可以看到提供了“BOX293\nagios”,它需要与您在左窗格中看到的登录名相匹配。

 

 

按键盘上的 F5 键执行查询。 您应该在消息窗口中收到消息“命令成功完成”。 您现在可以关闭查询窗口,当提示保存更改答案否时。

您现在可以继续本文档的分配监控帐户部分。

SQL 身份验证

提供登录名。

选择 SQL Server 身份验证。

提供密码。

 

 

 

取消选中强制密码过期复选框。

单击确定以创建帐户。

需要向新用户帐户授予 VIEW SERVER STATE 权限。

右键单击顶部的服务器并选择新建查询。

 

 

 

您需要在查询窗口中键入以下内容:

将查看服务器状态授予 <用户名>

在屏幕截图中,您可以看到提供了 nagios,它需要与您在左窗格中看到的登录名相匹配。

 

 

按键盘上的 F5 键执行查询。 您应该在消息窗口中收到消息“命令成功完成”。 您现在可以关闭查询窗口,当提示保存更改答案否时。

您现在可以继续本文档的分配监控帐户部分。

分配监控账户

现在已经创建了监控用户帐户,需要将其分配给您要监控的数据库。

此示例将使用名为 Sample 的数据库。

展开数据库 > 示例 > 安全性并选择用户。

右键单击用户并选择新建用户。

无论您选择哪种身份验证方法,用户类型都将是具有登录名的 SQL 用户。

 

 

 

提供用户名。

对于登录名,单击 ... 按钮。

键入用户的姓名,然后单击“检查姓名”按钮。

系统可能会提示您选择正确的用户,获得有效名称后单击“确定”按钮。

 

 

填充这些字段后,单击“确定”按钮。

您现在将看到用户出现在用户列表中。

这样就完成了创建用于监视 MSSQL 的用户帐户所需的步骤。

 

 

 

MSSQL 网络端口和防火墙规则

如果您的 MSSQL 服务器启用了 Windows 防火墙,您将需要创建防火墙规则以允许来自 Nagios XI 服务器的入站流量。

如果您的 Nagios XI 服务器和 MSSQL 服务器位于不同的子网中,则连接这些子网的路由器可能具有适当的防火墙规则。 这些路由器还需要防火墙规则来允许从 Nagios XI 服务器到 MSSQL 服务器的流量。

如果您在同一台服务器上有多个 MSSQL 实例,则需要将这些实例配置为在专用网络端口上运行。

识别 MSSQL 网络端口

第一步是确定 MSSQL 服务器配置为运行的网络端口。 在您的 MSSQL 服务器上打开 SQL Server 配置管理器。

选择 SQL Server 网络配置,您将看到安装在 MSSQL 服务器上的实例的协议列表(此屏幕截图包含三个实例)。

 

 

 

双击其中一个实例,然后双击 TCP/IP。

单击 IP 地址选项卡并向下滚动到 IPAll 部分。

在左侧屏幕截图中,您可以看到端口为 1433。

在右侧的屏幕截图中,您可以看到没有端口,但填充了动态端口字段。

 

 

 

要将其更改为固定端口:

 

创建防火墙规则

下一步是创建网络防火墙规则。 以下示例将为 TCP 1433 创建规则。

打开 Windows 管理工具 > 高级安全 Windows 防火墙。

在左窗格中选择入站规则

右键单击入站规则并选择新建规则

 

 

 

选择端口

点击下一步

 

 

 

选择 TCP

选择特定本地端口并键入端口号

点击下一步

 

 

 

选择允许连接

点击下一步

 

 

 

确保配置文件选择满足您的要求

点击下一步

 

 

 

提供名称和可选的描述。

单击完成

 

 

 

运行配置向导

本文档现在将解释配置向导。 在 Nagios XI 中,导航到配置 > 配置向导并选择您选择的 MSSQL 向导。 在下面的屏幕截图中,您可以看到搜索字段如何让您快速找到向导。

 

 

 

第1步 在每个向导上都有相同的选项,您在此处选择的内容取决于您的 MSSQL 实例配置和防火墙设置。

 

1. 这是 MSSQL 服务器的 IP 地址或 FQDN DNS 记录

2. 避免使用像 mssql01 这样的扁平名称记录,使用 FQDN 像 mssql01.box293.local

 

1、引用实例允许您在不定义端口号的情况下进行连接

2、要使用实例名称而不是端口:

? SQL Browser 服务需要在 MSSQL 服务器上运行

? 如果您启用了 Windows 防火墙:

(1)必须为 UDP 1434 创建防火墙规则以允许 SQL Browser 服务工作

(2)每个 MSSQL 实例都需要配置在一个专用的网口上

(3)必须为每个运行的 SQL 实例创建防火墙规则

 

1、引用端口允许您在不定义实例名称的情况下进行连接

2、如果您启用了 Windows 防火墙:

(1)每个 MSSQL 实例都需要配置在一个专用的网口上

(2)必须为每个运行的 SQL 实例创建防火墙规则

 

这是连接所需的 Windows 用户名或 SQL 帐户,例如:

1、Windows 身份验证

  BOX293\nagios

 

2、SQL 身份验证

  Nagios

 

提供的用户名的密码

 

数据库和查询向导需要您希望监视的数据库的名称

 

第2步 每个向导将在页面顶部显示 SQL Server 详细信息的摘要。

 

确保主机名字段的值可以轻松识别此 MSSQL Server。

 

 

每个向导都有不同的度量标准。 可用的指标在向导中有明确的解释,因此在此不再赘述。

完成选择要监控的所有项目后,单击下一步,然后通过在步骤 3 - 步骤 5 中选择所需选项来完成向导。

要完成,请在向导的最后一步中单击“完成”。 这将创建新的主机和服务并开始监控。

向导应用配置后,单击查看 <your device> 的状态详细信息链接以查看创建的新主机和服务。 以下是来自不同向导的一些示例:

MSSQL Database:

 

MSSQL Query:

 

MSSQL Server:

 

故障排除提示

如果您在使用向导创建的服务时遇到问题,您可以遵循一些简单的故障排除步骤,这些步骤与本文档中的前面部分相关。

第一步是暂时禁用 MSSQL 服务器上的 Windows 防火墙,看看问题是否停止。 如果是,那么您知道您需要添加防火墙规则并可能配置 MSSQL 实例以侦听特定端口。

北京哲想软件有限公司