帮助手册 管理 添加监视器 基于windows配置 SNMP 代理

在不同的 Windows 服务器上配置 SNMP 代理

在 SNMP 的支持下,无代理监控您的 Windows 服务器。只需在您的服务器上安装和配置 SNMP 代理,安装 On-Premise Poller 和您的服务器进行监控。 

概要

在 Windows 10 1803 或更高版本上安装 SNMP 代理

SNMP 服务未列在 Windows 10 控制面板的 Windows 功能列表中。使用以下三个步骤中的任何一个直接从 Microsoft 服务器安装 SNMP 服务:

 

  • 可选功能图形界面
  • PowerShell
  • DISM

使用可选功能图形界面安装

  1. 转到设置应用程序应用程序和功能管理可选功能添加功能。 
  2. 从列表中选择以下内容:简单网络管理协议 (SNMP) 和 WMI SNMP 提供程序(以获取所有 SNMP 服务配置选项卡)。

使用 PowerShell 安装

  1. 导航到 开始>  Windows PowerShell 文件夹>  Windows PowerShell
  2. 运行以下命令:
    Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0"

使用 DISM 安装

  1. 您还可以使用部署映像服务和管理 (DISM) 工具。转到开始命令提示符
  2. 右键单击顶部结果,然后选择Run as administrator
  3. 执行以下命令, 回车
    DISM /online /add-capability /capabilityname:SNMP.Client~~~~0.0.1.0

在 Windows 10 1803 或更高版本上配置 SNMP 代理

  1. 导航到 开始设置控制面板
  2. 管理工具下,单击服务
  3. 详细信息窗格中,右键单击SNMP Service并选择Properties。如果已停止,请单击“开始”按钮启动服务,并将“ 启动类型”更改为 “自动” 。
  4. Security 选项卡的 Accepted community names下,单击添加
  5. Community Rights下,选择此主机的权限级别以处理来自所选社区的 SNMP 请求。
  6. Community Name中,键入区分大小写的团体字符串,然后单击添加
  7. 选择是否接受来自主机的 SNMP 数据包:
    • 要接受来自网络上任何主机的 SNMP 请求,无论身份如何,请单击接受来自任何主机的 SNMP 数据包
    • 要限制接受 SNMP 数据包,请单击接受来自这些主机的 SNMP 数据包,然后单击添加。然后,键入适当的 主机名IPIPX 地址,然后单击添加
  8. 单击应用

在 Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2、Windows 8、Windows 8.1、Windows 10、Windows Server 2012、Windows Server 2012 R2 或 Windows Server 2016 或更高版本上配置 SNMP 代理

  1. 转到控制面板。单击程序程序和功能,然后单击打开或关闭 Windows 功能。如果系统提示您使用“用户帐户控制”对话框,请单击 “继续” 或 “”(因版本而异)。
  2. 打开或关闭 Windows 功能中,选中简单网络管理协议 (SNMP) 或 SNMP 功能 (同样,因版本而异 )旁边的框 ,然后单击确定。 
  3. 在此之后,按照上面给出的 在 Windows 10 1803 或更高版本上配置 SNMP 代理的步骤进行操作。


在 Windows NT 系统上配置 SNMP 代理

  1. 导航到 开始设置控制面板
  2. 管理工具下,单击服务
  3. 详细信息窗格中,右键单击SNMP 服务,然后选择属性
  4. 接受的团体字符串下,单击添加
  5. 团体字符串框中,键入团体字符串以验证 SNMP 请求。
  6. 单击添加以将团体字符串移动到接受的团体字符串列表中。
  7. 重复步骤 6 和 7 以添加更多团体字符串。
  8. 选择是接受来自任何主机还是只接受来自指定主机的 SNMP 数据包:
    • 如果您希望接受来自任何没有 IP 限制的主机的 SNMP 数据包,请单击接受来自任何主机的 SNMP 数据包
    • 如果您希望仅接受来自特定主机的 SNMP 数据包,请单击仅接受来自这些主机的 SNMP 数据包。要输入所需的主机,请单击添加;在IP 主机IPX 地址框中键入主机的 名称或 地址,然后单击添加
  9. 重复步骤 9 添加更多主机。
  10. 在“ 代理” 选项卡中,指定有关用户、位置和服务的评论等信息。
  11. 单击确定以应用更改。

默认情况下,在 Windows NT 上运行的 SNMP 代理不响应主机资源数据。要支持这一点,您可能需要 Windows NT service pack 6 或更高版本。在执行以下步骤之前,请检查您的包装详细信息。
  
注意:  Windows NT 4.0 服务器不附带主机资源 MIB。

如果您正在运行Windows NT Service Pack 6a并使用Windows 2000 服务器,请按照以下步骤操作:

  1. %SystemRoot%\System32\hostmib.dll文件从 Windows 2000 服务器 复制到 Windows NT 4.0 服务器上的 %SystemRoot%\System32文件夹。
  2. 运行 regedit 或 regedt32,并添加以下键和值:
    • 键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HostMIB\CurrentVersion
    • 值名称: 路径名
    • 类型:  REG_SZ
    • 数据:C:\WinNT\system32\hostmib.dll

    • 键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents
    • 值名称:  3
    • 类型:REG_SZ
    • 数据:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HostMIB\CurrentVersion
  3. 要使用 Microsoft REGSVR 实用程序注册 DLL,请执行以下步骤:
    • 将文件复制到 C:\Windows\SysWOW64\(对于 32 位)或 C:\Windows\System32\(对于 64 位)
    • 要完成此步骤,您应该  以管理员身份 运行命令提示符。
    • 将以下命令粘贴到打开的命令行窗口中,然后按 Enter
      %windir%\System32\regsvr32.exe hostmib.dll(用于 32 位)
      %windir%\SysWoW64\regsvr32.exe hostmib.dll(用于 64 位)
  4. 重新启动您的 Windows NT 框。

在 Windows XP、Windows 2000 和 Windows 2003 系统上配置 SNMP 代理

  1. 导航到 开始设置控制面板
  2. 管理工具下,单击服务
  3. 详细信息窗格中,右键单击SNMP 服务,然后选择属性
  4. 接受的团体字符串下,单击添加
  5. Community Rights下,选择此主机的权限级别以处理来自所选社区的 SNMP 请求。
  6. Community Name中,键入区分大小写的团体字符串,然后单击添加
  7. 选择是否接受来自主机的 SNMP 数据包:
    • 要接受来自网络上任何主机的 SNMP 请求,无论身份如何,请单击接受来自任何主机的 SNMP 数据包
    • 要限制接受 SNMP 数据包,请单击接受来自这些主机的 SNMP 数据包,然后单击添加。然后,键入适当的主机名IP或 IPX 地址,然后单击添加
  8. 单击应用

在 Windows 上测试 SNMP 

使用 MIB 浏览器测试 SNMP 可达性


基于 PowerShell 的 SNMP 配置 

在本节中,我们将介绍:

远程执行的先决条件

要创建远程会话并运行远程命令,本地和远程计算机必须满足以下要求。

  1. 系统要求
  2. 用户权限
  3. Windows 网络/防火墙权限
  4. 以管理员身份运行
系统要求

以下是在远程机器上执行脚本的系统要求。

  1. 要在 Windows PowerShell 3.0 上运行远程会话,本地和远程计算机必须具有:
    • Windows PowerShell 3.0 或更高版本。
    • Microsoft .NET Framework 4 或更高版本。
    • Windows 远程管理 3.0。
  2. 要在 Windows PowerShell 2.0 上运行远程会话,本地和远程计算机必须具有:
    • Windows PowerShell 2.0 或更高版本。
    • Microsoft .NET Framework 2.0 或更高版本。
    • Windows 远程管理 2.0。
2.用户权限

默认情况下,当前用户需要是远程计算机上管理员组的成员或提供管理员凭证。

3.Windows网络/防火墙权限

来自服务器端和客户端的远程连接不得被防火墙阻止。

4.以管理员身份运行

管理员权限是启用和配置 SNMP 所必需的。

使用 PowerShell 安装

    1. 导航到开始 > Windows PowerShell 文件夹 > Windows PowerShell
    2. 运行以下命令:Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0"

注意:

    1. 请确认是否满足远程执行的先决条件
    2. 检查主机和客户端设备是否在同一网络域中可用。
    3. 在将执行此特定脚本的远程设备上启用 PSRemoting。这可以通过远程桌面连接执行。

使用 PowerShell 在 Windows 设备上启用 SNMP 的步骤

  1. 下载SNMPEnabler.ps1 脚本。
  2. 以管理员身份打开 Windows PowerShell 实用程序。
  3. 运行 SNMPEnabler.ps1 脚本并提供所需的输入参数
  4. 使用提供的输入执行脚本。它将自动在您的本地或远程设备上启用和配置 SNMP。

脚本执行的输入参数

脚本执行可以处理以下输入参数。

输入参数 用法 默认值 必需的? 例子
h

需要启用 SNMP 服务的主机名。

-

强制(如果未给出 -f)

-h ben-3515
f

包含多个主机的文件的一部分。文件格式:(XXXXX.txt) s24x7-dev1 localhost 192.21.23.1 ben-3515.zohocorpin.com

-

强制(如果 -h 未给出)

-f D:\SNMP\hostlist.txt
username

用于远程访问的帐户的用户名

-

对于远程机器是必需的,对于本地主机是可选的。

-username workgroup\administrator
pass

用于远程访问的帐户的密码

-

对于本地主机是可选的。远程:它可以作为参数提供。在远程执行期间,系统会要求您输入密码。

-pass password@987
onlyConfigure

用于在已启用 SNMP 的机器上配置 SNMP 设置。
可能的值为“真”或“假”。如果为“true”,则脚本将仅用于配置。

错误的

可选的

-仅配置 true
communityName

脚本执行后将添加的 SNMP 社区字符串。

public

可选的

-communityName networkcommunity
snmpType

从社区字符串添加的权限。允许的整数值:“1” - NONE “2” - NOTIFY “4” - READONLY “8” - READWRITE “16” - READCREATE

4

可选的

-snmpType 4
permittedHost

需要从远程机器进行 SNMP 访问的主机

执行脚本的默认本地主机的名称。

可选的

-permittedHost s24x7-dev7
debug

用于调试。可能的值为“真”或“假”。

错误的

可选的

-debug true

脚本命令和用法

1. 特定主机启用

使用默认或自定义选项启用和配置单个主机的选项。

命令

1.1 在本地机器上启用和配置 SNMP(使用默认选项):

执行:.\SNMPEnabler.pst1 -h localhost

1.2 在远程机器上启用和配置 SNMP(使用默认选项):

执行:.\SNMPEnabler.ps1 -h -username

1.3. 要在本地计算机上启用和配置 SNMP(使用自定义输入选项):

执行:.\SNMPEnabler.ps1 -h localhost -communityName -snmpType -permittedHost

1.4. 要在远程计算机上启用和配置 SNMP(使用自定义输入选项):

执行:.\SNMPEnabler.ps1 -h -username -communityName -snmpType -permittedHost

1.5。在启用 SNMP 的本地计算机上配置社区和允许的主机:

执行.\SNMPEnabler.ps1 -h localhost -onlyConfigure true -communityName -snmpType -permittedHost

1.6. 要在启用 SNMP 的远程计算机上配置社区和允许的主机:

执行.\SNMPEnabler.ps1 -h -username -pass -onlyConfigure true -communityName -snmpType -permittedHost

2. 批量启用(使用包含主机的输入文件)

通过传递包含主机​​列表的文件路径,您可以为多个服务器启用和配置 SNMP。

命令

2.1 在多台本地或远程机器上启用和配置 SNMP(使用默认选项):

执行:.\SNMPEnabler.ps1 -f -username

2.2 在多台本地或远程机器上启用和配置 SNMP(带有自定义选项):

执行:.\SNMPEnabler.ps1 -f -username -communityName -snmpType -permittedHost

2.3 在启用 SNMP 的本地或远程机器上配置社区和允许的主机:

执行:.\SNMPEnabler.ps1 -f -username -onlyConfigure true -communityName -snmpType -permittedHost


相关文章

帮助手册 管理 添加监视器 配置SNMP agents基于 Windows servers