VI3、vSphere 4.0 和 4.1 的 SNMP 配置步骤
search cancel

VI3、vSphere 4.0 和 4.1 的 SNMP 配置步骤

book

Article ID: 339765

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

免责声明:本文为 SNMP configuration steps for VI3, vSphere 4.0 and 4.1 (2003845) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


背景信息

简单网络管理协议 (SNMP) 允许管理程序监控和控制各种联网设备。

受管系统运行 SNMP 代理,这些代理可以通过至少以下其中一个方法向管理程序提供信息:

  • 通过响应 GET 操作,一种针对管理系统中的信息的特定请求。此方法使用端口 161。
  • 通过发送陷阱,由 SNMP 代理发送的警示来通知管理系统特定事件或条件。此方法使用端口 162。

管理信息库 (MIB) 文件定义由受管设备提供的信息。MIB 文件包含层次结构中排列的对象标识符 (OID) 和变量。

vCenter Server 和 ESX/ESXi 拥有 SNMP 代理。随产品提供的代理功能各有不同。

版本比较

ESX
版本
支持的方法
GET 请求支持
陷阱支持
3.5 ESX Classic
net-snmp
3.5 ESXi
嵌入式 SNMP
4.0 - ESXi 和 Classic
嵌入式 SNMP
4.1 - ESXi 和 Classic
嵌入式 SNMP
vCenter
版本
支持的方法
GET 请求支持
陷阱支持
2.5 vCenter
标准
4.0 vCenter
标准
4.1 vCenter
标准


Environment

VMware ESXi 4.1.x Embedded
VMware vCenter Server 4.1.x
VMware ESXi 3.5.x Embedded
VMware vCenter Server 4.0.x
VMware ESX Server 3.5.x
VMware ESXi 3.5.x Installable
VMware ESXi 4.0.x Installable
VMware ESXi 4.0.x Embedded
VMware ESXi 4.1.x Installable
VMware ESX 4.0.x
VMware ESX 4.1.x

Resolution

本文有以下部分:

特定于 vCenter 的信息

  • 从 Virtual Center 2.5 到 vCenter 4.1 的配置都保持不变
  • vCenter 仅发送陷阱。它不响应 GET 请求。

vCenter 陷阱的配置

  1. 在客户端中导航到 SNMP 页面。
    • 在 vSphere Client (4.x) 中,转到管理 > vCenter Server 设置
    • 在 VI Client (2.5) 中,转到管理 > Virtual Center Server 设置
  2. 从左侧菜单中选择 SNMP
  3. 在收件人 URL 和团队字符串字段中输入陷阱服务器主机名/IP、端口和团队字符串。

    示例:

特定于 ESX 的信息

Virtual Infrastructure 3 (VI 3)

ESX Server 3 随附两个 SNMP 代理。第一个代理是基于具有增加功能的 Net-SNMP 的 SNMP 代理,可支持特定于 ESX Server 3 的数据。第二个代理与 ESX Server 3i 随附的代理相同,并且可通过相同方式使用和配置。

有两种使用方法:

  1. Net-SNMP:此方法可处理陷阱和 GET 请求
  2. 嵌入式代理:此方法仅可处理陷阱
适用于 ESX 3.5 Classic 的 Net-SNMP 的配置
要配置 Net-SNMP 以处理陷阱,请执行以下操作:
  1. 启用 Net-SNMP,与请求一样。
  2. 默认情况下,已启用陷阱。使用以下命令编辑配置文件以禁用陷阱:

    /etc/vmware/hostd/config.xml

  3. 使用以下命令编辑配置文件 /etc/snmp/snmpd.conf 以包括域和团体名称:

    • trapsink example.com

      其中, example.com 是您的目标
    • trapcommunity public

      其中,public 是您选择的团队名称


    注意:重复这些行可指定多个目标或团体。

  4. 使用以下命令保存并重新启动 snmpd:

    /etc/rc.d/init.d/snmpd restart

要配置 Net-SNMP 以处理 GET 请求,请执行以下操作:

  1. 以 root 用户身份登录到服务控制台。
  2. 编辑 /etc/snmp/snmpd.conf 配置文件(如果需要)
  3. 使用以下命令告知 ESX 在引导时启动 SNMP:

    chkconfig snmpd on

  4. 使用以下命令手动启动 SNMP:

    /etc/rc.d/init.d/snmpd start

  5. 使用以下命令打开防火墙端口(如果需要):

    esxcfg-firewall -o 161,udp,in,snmpd
    esxcfg-firewall -o 161,udp,out,snmpd

适用于 ESXi 3.5 的嵌入式 SNMP 的配置

请参见 vSphere 4.0 和 4.1 部分。说明均相同。


vSphere 4.0 和 4.1

ESX/ESXi 包括 hostd 中嵌入的 SNMP 代理,该代理可发送陷阱和接收诸如 GET 请求等轮询请求。此代理也称为嵌入式 SNMP 代理。

ESX 4.0 之前版本的 ESX 已包含基于 Net-SNMP 的代理。可以继续结合使用 ESX 4.0 中的此基于 Net-SNMP 的代理与硬件供应商提供的 MIB 和其他第三方管理应用程序。但是,要使用 VMware MIB 文件,必须使用嵌入式 SNMP 代理。

默认情况下,嵌入式 SNMP 代理已禁用。要启用该代理,必须使用 vSphere CLI 命令 vicfg-snmp 进行配置。此外,未配置任何默认/内置团体字符串。有关详细信息,请参见 vSphere Command-Line Interface Installation and Reference Guide

注意:自 vSphere 4.0 起,已弃用基于 Net-SNMP 的配置和使用。如果需要,使用此方法将不受 VMware 支持。有关各自所需的最佳做法,请联系您的监控软件供应商或硬件供应商。虽然此做法不是受到正式支持的配置,但 VMware 仍发布本文档以帮助同时利用 Net-SNMP 和嵌入式代理:Configuring the Net-SNMP Agent on ESX Hosts

适用于 ESX Classic 与 ESXi 4.0 和 4.1 的嵌入式 SNMP 的配置

自 vSphere 4.0 起,需要 VMware vSphere CLI(Windows 或 Linux)才能配置 SNMP。此工具预安装在 vSphere Management Assistant 中,并且也可同时使用。

这些步骤会修改配置文件 /etc/vmware/snmp.xml

注意:VMware 不建议手动修改此文件。而应使用提供的命令。

如果需要重新创建该文件,默认的 snmp.xml 文件内容类似于:

false

使用 vSphere CLI 或 vMA 配置嵌入式 SNMP

可以使用 VMware vSphere CLI(Windows、Linux)或 VMware vSphere Management Assistant (vMA)(在虚拟机中运行)配置嵌入式 SNMP。

下载

可以从我们的站点获取 vSphere CLI 和 vMA。

要下载 CLI,请转到 VMware Download Center。在驱动程序和工具选项卡下,展开自动化工具和 SDK,然后单击适用于您的 vSphere 版本的 VMware vSphere CLI

要下载 .zip 形式的 vMA,请转到 VMware Download Center。在驱动程序和工具选项卡下,单击适用于您的 vSphere 版本的 VMware vSphere Management Assistant (vMA)

要从 URL 部署 vMA,请打开 vSphere Client,然后转到文件 > 部署 OVF 模板。使用以下 URL:http://www.vmware.com/go/importvma/vma4.ovf

配置所有版本的嵌入式 SNMP(ESXi 3.5 和 ESX/ESXi 4.x)
  1. 使用以下命令将团体字符串设置为 public:

    vicfg-snmp --server --username root --password -c public

    其中, 是主机名, < your password> 是根密码。

    示例vicfg-snmp --server esx1-old --username root --password vmware -c public

    注意:在某个实例中曾出现这种情况,需要将登录凭据用引号引起来: --username "username" --password "password"

  2. 使用以下命令打开陷阱:

    vicfg-snmp --server --username root --password < your password> -t @162/public

    其中, 是主机名, < your password> 是根密码, 是陷阱服务器主机名。

    示例: vicfg-snmp --server esx1-old --username root --password vmware -t vc-all.jlab.local@162/public

    注意:通过逗号分隔的 -t @162/public 字符串可以设置多个目标服务器:

    示例: vicfg-snmp --server esx1-old --username root --password vmware -t @162/public ,@162/public

  3. 启用 SNMP:

    vicfg-snmp --server --username root --password < your password> -E

    其中, 是主机名, < your password> 是根密码。

    示例: vicfg-snmp --server esx1-old --username root --password vmware -E

  4. 显示配置设置:

    vicfg-snmp --server hostname --username root --password < your password> -s

    其中, 是主机名, < your password> 是根密码。

    示例: vicfg-snmp --server esx1-old --username root --password vmware -s
语法

使用具有 vicfg-snmp.pl 脚本的以下语法:

vicfg-snmp.pl –server –c –p –t

CLI 选项:
  • -r:将配置重置为默认值
  • -E:启用 SNMP 服务
  • -D:禁用 SNMP 服务
  • -T:发送测试陷阱
  • -t:配置陷阱服务器
  • -s:显示当前的 SNMP 配置
验证 ESX Classic 与 ESXi 3.5、4.0 和 4.1 的配置

要从 vMA 或 vSphere CLI 发送测试陷阱,请使用以下命令:

vicfg-snmp.pl –server –username –password -T

示例: vicfg-snmp --server esx1-old --username root --password vmware -T

输出内容类似于:

Sending test notification(trap) to all configured targets...
Complete.Check with each target to see if trap was received.

要从 vMA 或 vSphere CLI 测试 GET 请求功能,请使用以下命令:

snmpwalk -v -c

示例snmpwalk -v 2c -c public esx1-old

配置 SNMP 收集器软件

在配置了 vCenter Server 系统或 ESX/ESXi 主机以发送陷阱后,必须配置管理客户端软件才能接收和解释这些陷阱。

要配置软件,必须:

  • 指定受管设备的团体
  • 配置端口设置
  • 加载 VMware MIB 文件

有关这些步骤的特定说明,请参考适用于您管理系统的文档。

注意:按顺序导入 MIB 十分重要。有关详细信息,请参见 vSphere Administration Guides。除非 MIB 文件自身存在打字错误,否则该过程由监控软件供应商负责。

从 VMware Download Center 下载 MIB。有关详细信息,请参见 SNMP MIB module file download (1013445)


Additional Information

有关详细信息,请参见:
SNMP configuration steps for VI3, vSphere 4.0 and 4.1