使用 SNMP 监控 VCSA (2145018)

 Purpose

本文简要介绍了如何使用内置 SNMPv1/v2c/v3 代理对 VMware vCenter Server Appliance (VCSA) 进行 SNMP 监控。
 
如果用户想要从基于 Windows 的 Virtual Center Server 迁移到 VCSA 设备部署并且需要更新监控基础架构以适用于该设备,本文将会很有帮助。
 
 Cause
Windows 上的 Virtual Center Server 是一款传统的应用程序,它要求操作人员时刻关注进程、内存、CPU 以及文件系统的情况。
 
Virtual Center Server Appliance 会迁移到嵌入式系统,即操作系统将对操作员不可见,而特定 API 可用于实现此类目的。
 
 Impact / Risks
VMware SNMP 代理经过精心设计,外形小巧且内存和 CPU 的效率很高。此外,SNMP 代理设计旨在避免同一系统/软件过于依赖 VMware 设备中共同驻留的其他管理 API。这么做的目的是,给定设备中发生的部分故障不会在报告管理状态时产生全有或全无的情况。
 
 Resolution
要在 VCSA 中使用 SNMP 代理,遇到的状况与在 ESXi 中使用是相同的。ESXi 和 SNMP 代理的配置相似,都可提供对内存/进程、CPU、文件系统和网络的持续监控。

有关 SNMP 和 ESXi 的详细信息,请参见Understanding the SNMP Layer 2 networking in the VMware ESXi (2118059)
 
本知识库文章中举例的 VCSA 基本 SNMPv3 配置是securityLevel noAuthNoPriv。在下面的步骤中,您将检查当前配置,了解适用的变量并研究根据您的环境类型可以监控和配置的变量。
 
注意:VMware 建议针对所有生产环境使用安全级别为authPriv的 SNMPv3。
 
 
以下各节将介绍如何检查当前 SNMP 配置,以及要使用命令行提示符或使用 MIB 浏览器而需轮询的关键代理部件。
 

检查当前 SNMP 配置

要从 ssh 命令行启动对 VCSA SNMP 代理的远程轮询,请执行以下操作:
  1. 打开到 Virtual Center Server Appliance 的 shell 会话,并运行以下命令:

    Command> snmp.set --users test/-/-/none
    snmp.enable

    有关访问 VCSA shell 的详细信息,请参见 vCenter Server Appliance 6.0 Configuration guide 中的“使用 Appliance Shell 配置 vCenter Server Appliance” 部分。

     
  2. 运行 snmp.get 命令以检查当前 SNMP 配置:

    例如,以下是生产部署中一个名为“test”、安全级别为 authPriv 的配置用户:

    Command> snmp.get
    Config:
    Enable: True
    Users:
    Configuration:
    Username: test
    Priv_key: bf91b2fb426a97121be51dd52eec494c83495254
    Sec_level: priv
    Auth_key: e03858abcfd4ad5fe99d52ce02d72174d6469190
    Notraps:
    Privacy: AES128
    Loglevel: warning
    V3targets:
    Configuration:
    Port: 1162
    Ip: 192.0.2.151
    Type: trap
    User: dq
    Sec_level: priv
    Pid: 13391
    Syslocation: PaloAlto
    Targets:
    Remoteusers:
    Authentication: SHA1
    Communities:
    Engineid: 766d77617265
    Port: 161
    Syscontact: [email protected]
 

这是什么代理?

在具有通用 mgmt API 的分布式系统中,首要任务是验证远程系统。
有一个代理将会为该任务提供两个变量或“管理对象”,一个用于人,另一个用于程序:
  • 人类可读对象名为 sysDescr:

    .iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 = STRING: VMware-vCenter-Server-Appliance 6.0.0.5110 embedded build 2656759 VMware, Inc x86_64

     
  • 程序使用 sysObjectID:

    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.vmware.vmwProductSpecific.vmwEmbeddedVirtualCenterAppliance
    可转换为:.1.3.6.1.4.1.6876.4.7
 
OID .1.3.6.1.4.1.6876.4.7 和名称 vmwEmbeddedVirtualCenterAppliance 之间的转换在 VMWARE-PRODUCTS-MIB.mib 文件中维护。所有 VMware SNMP 代理均具有唯一标识,并可在此 MIB 模块中找到。

应对这两个对象进行轮询,以确保轮询的设备正是中央管理认为应该接受轮询的设备。SNMP 的使用非常广泛,因此这些对象可用于 IT 企业中任意数目的系统。
 

VMware 产品的识别

如果 VCSA 独立部署,则 OID 会报告 vmwEmbeddedVirtualCenterAppliance。
 
如果 VCSA 配置或部署在两个不同的设备中,则 OID 将对每个设备分别进行报告:
  • SSO/身份设备报告为:

    SNMPv2-MIB::sysDescr.0 = STRING: VMware-vCenter-Server-Appliance 6.0.0.5110 infrastructure build 2656759 VMware, Inc x86_64
    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.vmware.vmwProductSpecific.vmwInfrastructureAppliance

    或者,如果 MIB 模块没有加载在管理系统中,则它将会显示为:

    .1.3.6.1.4.1.6876.4.8

     
  • Virtual Center 功能(vpxd进程)报告为:

    SNMPv2-MIB::sysDescr.0 = STRING: VMware-vCenter-Server-Appliance 6.0.0.5110 management build 2656759 VMware, Inc x86_64
    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.vmware.vmwProductSpecific.vmwManagementAppliance

    或者,如果 MIB 模块没有加载在管理系统中,则它将会显示为:

    .1.3.6.1.4.1.6876.4.9

    要下载 VMware MIB 模块,请参见 SNMP MIB module file download (1013445)
以下特定于 VMware 的变量可用于所有 VMware 产品,以唯一标识“产品”:
 
VMWARE-SYSTEM-MIB::vmwProdName.0 = STRING: VMware-vCenter-Server-Appliance
VMWARE-SYSTEM-MIB::vmwProdVersion.0 = STRING: 6.0.0.5110
VMWARE-SYSTEM-MIB::vmwProdBuild.0 = STRING: 2656759
 

BIOS 和网卡固件版本信息

有关 BIOS 和网卡的固件版本信息,请参见 RFC 2790 hrDeviceTable 和 RFC 4113 entPhysicalTable。
例如:
 
BIOS 版本由以下变量报告:

ENTITY-MIB::entPhysicalFirmwareRev.1 = STRING: 6.00
 
网络适配器(网卡)驱动程序和版本在 hrDeviceTable的hrDeviceDescr 变量中报告:
 
HOST-RESOURCES-MIB::hrDeviceDescr.3 = STRING: NIC eth0, driver vmxnet3, version: 1.4.2.0-k-NAPI, 0000:03:00.0
 
在 ESXi 上也找到相同的格式,例如:
 
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: NIC vmnic0, driver tg3, version 3.131d.v60.4, 0000:001:00.0
 

查找给定系统的唯一标识符 (UUID)

为了唯一地标识给定设备,ENTITY-MIB (RFC 4113) 提供了 UUID 和制造商身份:
ENTITY-MIB::entPhysicalName.1 = STRING: HostnameSetByOperator
ENTITY-MIB::entPhysicalSerialNum.1 = STRING: VMware-42 03 ac e7 2e c6 5f 8c-e
ENTITY-MIB::entPhysicalModelName.1 = STRING: VMware Virtual Platform
ENTITY-MIB::entPhysicalMfgDate.1 = STRING: 2014-9-30,0:0:0.0
ENTITY-MIB::entPhysicalUris.1 = STRING: "urn:uuid:4203ace72ec65f8ce9187e868c568fdc"
 
变量 entPhysicalName 可报告普通主机名。关于完全限定域名 (FQDN),请参见 sysName:
SNMPv2-MIB::sysName.0 = STRING: HostnameSetByOperator3.example.com
 

代理位于哪里?

代理可位于称为 sysLocation 的操作员定义的定位符字符串下
例如:
 
SNMPv2-MIB::sysLocation.0 = STRING: PaloAlto
 
该操作员可由 CLI 命令设置:
 
snmp.set --syslocation PaloAlto
 
或者与以下位置的另一个系统有关:ENTITY-MIB entLogicalTable
 
例如,所有 ESXi 系统 SNMP 代理都报告在包含对其具有控制权的 Virtual Center 系统的 entLogicalTable 中有一个实体,或者按其网络 IP/MAC 地址进行报告:
 
IP-MIB::ipNetToPhysicalPhysAddress.2.ipv4."10.160.95.253" = STRING: 0:0:c:9f:fa:2a
 
有些平台可能会报告硬件供应商的在 BMC 中运行的 SNMP 代理。entLogicalTable 提供了一种使用唯一 OID/标识符发现分布式软件集的拓扑结构的方式,以便定义关系。例如,当在不同的设备中使用 Platform Services Controller (PSC) 和 vCenter Server (VC) 部署 VCSA 时,VC(管理)节点将指向 entLogicalTable 中的 PSC(基础架构)节点。
例如:
ENTITY-MIB::entLogicalDescr.0 = STRING: Platform Services Controller, infrastructure node
ENTITY-MIB::entLogicalType.0 = OID: VMWARE-PRODUCTS-MIB::vmwInfrastructureAppliance
ENTITY-MIB::entLogicalTAddress.0 = STRING: "10.160.52.14"
ENTITY-MIB::entLogicalTDomain.0 = OID: TRANSPORT-ADDRESS-MIB::transportDomainUdpIpv4
ENTITY-MIB::entLogicalContextEngineID.0 = ""
ENTITY-MIB::entLogicalContextName.0 = STRING:
ENTITY-MIB::entLastChangeTime.0 = Timeticks: (1137) 0:00:11.37
 
最后,软件清单hrSWInstalledTable可提供系统中每个软件组件的基本身份识别:
 
HOST-RESOURCES-MIB::hrSWInstalledName.382 = STRING: "VMware, Inc.,VMware-vpxd,6.0.0,2656761"
HOST-RESOURCES-MIB::hrSWInstalledDate.382 = STRING: 2015-7-27,21:6:17.0
HOST-RESOURCES-MIB::hrSWInstalledName.364 = STRING: "VMware, Inc,vmware-snmp,1.0.0,1"
HOST-RESOURCES-MIB::hrSWInstalledDate.364 = STRING: 2015-7-27,21:5:53.0
 
在示例条目中,可看到该设备已将 Virtual Center Server 和 SNMP 代理打包,并列出它们的安装日期和时间。
 

使用 SNMP 代理监控系统

系统时间

通常,借助多个问题来回答对代理状态和运行状况的查询。
 
最常见的首要问题是系统已经运行多长时间?RFC 2780 HOST-RESOURCES-MIB 变量 hrSystemUptime 可提供该信息:
 
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (6566100) 18:14:21.00
 
它不应与以下变量混淆:
 
SNMPv2-MIB::sysUpTime = Timeticks: (5642377) 15:40:23.77
 
该变量可跟踪 snmpd 程序已运行多长时间,并在每次 snmpd 代理重启时进行重置。
当重启 snmpd 时,会发生两个相关事件:coldStart 和 warmStart。当代理首次启动时,会发送 coldStart 事件,该事件应与 warmStart 事件区分开来,后者是在设备未重启的情况下在代理后续启动时发送。
 
SNMP 将报告代理启动的相对时间,如在与时间相关的大多数变量中的 sysUptime。
要获得实际的时钟时间,可使用变量 hrSystemDate:
HOST-RESOURCES-MIB::hrSystemDate.0 = STRING: 2015-7-28,15:19:37.0

系统引导

有关系统如何启动以及从何处引导的配置信息,可参见 hrSystemInitialLoadParameters 变量:
 
HOST-RESOURCES-MIB::hrSystemInitialLoadParameters.0 = STRING: "root=/dev/sda3 append resume=/dev/sda2 splash=silent crashkernel= noexec=on nousb audit=1 vga=0x311
 
它从何种设备引导。在下面,您会看到编号为 4 的设备是引导设备:
 
HOST-RESOURCES-MIB::hrSystemInitialLoadDevice.0 = INTEGER: 4

连接何种虚拟磁盘:
 
HOST-RESOURCES-MIB::hrDeviceDescr.4 = STRING: LUN VMware Virtual_disk 1.0 sda
 
最后,我们在本文中介绍了如何查看内存/进程、CUP 和磁盘以及网络。这些资源并非用之不竭的。HOST-RESOURCES-MIB 提供了大量变量以供查询:

内存和进程

内存和进程主要在 hrStorageTable、hrSWRunTable 及其关联的子表中报告。
例如:
 
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 8194012 KBytes
 
可用内存供 179 个进程使用:
HOST-RESOURCES-MIB::hrSystemProcesses.0 = Gauge32: 179
HOST-RESOURCES-MIB::hrStorageDescr.14 = STRING: Real Memory
HOST-RESOURCES-MIB::hrStorageAllocationUnits.14 = INTEGER: 1024 Bytes
HOST-RESOURCES-MIB::hrStorageSize.14 = INTEGER: 8194012
HOST-RESOURCES-MIB::hrStorageUsed.14 = INTEGER: 41140
HOST-RESOURCES-MIB::hrStorageAllocationFailures.14 = Counter32: 0
 
可跟踪系统中的每个进程,以了解 CPU 和内存的使用情况。从hrSWRunTable中的进程列表开始,hrSWRunName可提供进程名称和进程 ID。
例如:
 
HOST-RESOURCES-MIB::hrSWRunPath.27982 = STRING: "[vpxd]"
HOST-RESOURCES-MIB::hrSWRunPath.30696 = STRING: "/bin/snmpd"
 
您可以看到,vpxd 的进程 ID 是 27982,snmpd 的进程 ID 是 30696。这些不会经常更改。如果您发现这些进程 ID 以几分钟到几小时的间隔频繁更改,建议收集支持包并提交支持申请,在要经 VMware 支持审核的 SR 描述中要包含此知识库文章 ID。要上载支持包,请参见“Additional Information” 部分中的链接。

如果发生故障,可能要通过操作员命令或监视程序重启来重启vpxd守护程序。要了解监视程序,请参见Supported vCenter Server high availability options (1024051)

 
现在,我们来更详细地了解一下vpxd进程,该进程正在运行或可运行吗?有多少 CPU 和内存正在使用?
 
HOST-RESOURCES-MIB::hrSWRunStatus.27982 = INTEGER: runnable(2)
HOST-RESOURCES-MIB::hrSWRunPerfCPU.27982 = 14178
HOST-RESOURCES-MIB::hrSWRunPerfMem.27982 = INTEGER: 34037760 KBytes
 
可在 5 秒内将这些值缓存。
从正在运行的进程中,我们可以使用变量 hrSWRunName 找到软件包,该变量应与 hrSWInstalledName 的值相同,后者可用于查找给定运行程序的软件包版本数据:
 
HOST-RESOURCES-MIB::hrSWRunName.27982 = STRING: "VMware, Inc.,VMware-vpxd,6.1.0,3719558"
 
接下来,我们来了解,vpxd 进程使用 snmpwalk 命令可打开哪些端口:
snmpwalk -v2c -c public 10.160.3.123 tcpConnectionProcess | grep 27982
TCP-MIB::tcpConnectionProcess.ipv4."10.160.3.123".54978.ipv4."10.160.3.123".443 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8085.ipv4."127.0.0.1".59734 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".52134 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".53526 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".53654 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".53848 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".57124.ipv4."127.0.0.1".10080 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58166.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58168.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58170.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58172.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58174.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58176.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58178.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58180.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58182.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58184.ipv4."127.0.0.1".5432 = Gauge32: 27982
 
注意:环回 (127.0.0.1) 接口上的所有端口vpxd都是打开状态,通过以太网网卡无法直接访问任何内容。

那么,远程流量如何到达 vpxd?我们来看看哪个端口具有 tcp/443 端口,可为 tcpListenerProcess 转储所有条目
 
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".443 = Gauge32: 9073
 
通过检查该 SWRunName,我们发现它可解析为 rhttpproxy:
 
HOST-RESOURCES-MIB::hrSWRunName.9073 = STRING: "VMware, Inc.,VMware-rhttpproxy,6.1.0,3719558"
 
rhttpproxy 可接收来自外部网络的输入,并通过环回接口将其发送到 vpxd 进行处理,反之亦然。
因此,对于监控,我们可以看到,vpxd 对 rhttp 代理有着直接依赖关系。
 
vpxd 守护程序还可打开 udp 端口,因此也可使用变量 udpEndpointProcess 检查该协议。

CPU 利用率

代理可报告每个处理器在一分钟内的平均负载,范围为 0-100,其中 100 是完全利用。
在以下示例中,您可看到该虚拟设备中有两个 CPU,每个 CPU 的利用率不足 15-20%:
 
HOST-RESOURCES-MIB::hrProcessorLoad.1 = INTEGER: 15
HOST-RESOURCES-MIB::hrProcessorLoad.2 = INTEGER: 20
 
有关处理器的详细信息,可参见 hrDeviceTable:
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: CPU Pkg/ID/Node: 0/0/0 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: CPU Pkg/ID/Node: 0/1/0 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
 

文件系统使用情况

跟踪资源利用率是一大主要的操作问题。可在所有支持 SNMP 的 VMware 设备上通过使用 HOST-RESOURCES-MIB 来监控文件系统,从而提供一致的 API。文件系统会映射到它们的底层设备(本地或远程存储均可),并映射到所属的分区。
 
VCSA VMware SNMP 代理可报告实时磁盘、分区和文件系统配置。文件系统使用量和以 5 秒缓存速率从底层操作系统检索的缓存结果是最急需关注的问题。例如,内存的变量 hrStorageDescr 也包含文件系统的安装点/路径及其使用情况。
 
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: /
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: /dev
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: /dev/shm
HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: /run
HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: /sys/fs/cgroup
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: /
HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: /boot
HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: /storage/core
HOST-RESOURCES-MIB::hrStorageDescr.9 = STRING: /storage/log
HOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: /storage/db
HOST-RESOURCES-MIB::hrStorageDescr.11 = STRING: /storage/dblog
HOST-RESOURCES-MIB::hrStorageDescr.12 = STRING: /storage/seat
HOST-RESOURCES-MIB::hrStorageDescr.13 = STRING: /storage/netdump
HOST-RESOURCES-MIB::hrStorageDescr.14 = STRING: /storage/autodeploy
HOST-RESOURCES-MIB::hrStorageDescr.15 = STRING: /storage/imagebuilder
HOST-RESOURCES-MIB::hrStorageDescr.16 = STRING: /storage/invsvc
HOST-RESOURCES-MIB::hrStorageDescr.17 = STRING: /var/spool/snmp
 
对于 root 文件系统,索引为 6,有关它的使用情况请参见:
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 2771006
HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 1184911
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationFailures.6 = Counter32: 0
HOST-RESOURCES-MIB::hrStorageType.6 = OID: HOST-RESOURCES-MIB::hrStorageType.hrStorageFixedDisk
 
此外,它还可提供有关网络磁盘 (hrStorageNetworkDisk) 或 RAM 磁盘 (hrStorageRam) 的详细信息,以及文件系统是只读还是可读写。
分区名称可在以下位置找到:
 
HOST-RESOURCES-MIB::hrPartitionLabel.4.1 = STRING: "sda1"
HOST-RESOURCES-MIB::hrPartitionLabel.4.2 = STRING: "sda2"
HOST-RESOURCES-MIB::hrPartitionLabel.4.3 = STRING: "sda3"
HOST-RESOURCES-MIB::hrPartitionLabel.4.4 = STRING: "sda1"
HOST-RESOURCES-MIB::hrPartitionLabel.4.5 = STRING: "sda2"
 
LUN/磁盘设备在 hrDeviceTable 中报告:
HOST-RESOURCES-MIB::hrDeviceDescr.4 = STRING: LUN VMware Virtual_disk 1.0 sda
HOST-RESOURCES-MIB::hrDeviceDescr.5 = STRING: LUN VMware Virtual_disk 1.0 sdb
HOST-RESOURCES-MIB::hrDeviceDescr.6 = STRING: LUN VMware Virtual_disk 1.0 sdc
HOST-RESOURCES-MIB::hrDeviceDescr.7 = STRING: LUN VMware Virtual_disk 1.0 sdd
HOST-RESOURCES-MIB::hrDeviceDescr.8 = STRING: LUN VMware Virtual_disk 1.0 sde
HOST-RESOURCES-MIB::hrDeviceDescr.9 = STRING: LUN VMware Virtual_disk 1.0 sdf
HOST-RESOURCES-MIB::hrDeviceDescr.10 = STRING: LUN VMware Virtual_disk 1.0 sdg
HOST-RESOURCES-MIB::hrDeviceDescr.11 = STRING: LUN VMware Virtual_disk 1.0 sdh
HOST-RESOURCES-MIB::hrDeviceDescr.12 = STRING: LUN VMware Virtual_disk 1.0 sdi
HOST-RESOURCES-MIB::hrDeviceDescr.13 = STRING: LUN VMware Virtual_disk 1.0 sdj
HOST-RESOURCES-MIB::hrDeviceDescr.14 = STRING: LUN VMware Virtual_disk 1.0 sdk
HOST-RESOURCES-MIB::hrDeviceDescr.15 = STRING: LUN VMware Virtual_disk 1.0 sdl
 

网络

通常,就操作方面而言,一个常见问题是连接性。应用程序和端口连接是基本的连接。服务必须打开 TCP 和 UDP(协议)端口来提供服务。除了可以监控进程,对打开端口的检查还可帮助维护操作系统。有关服务端口,可参见 Required ports for vCenter Server Appliance 5.x (2012773) 和 Network port diagram for vSphere 5.x (2054806)
 
通过 HOST-RESOURCES-MIB 中的下列表格,可轻松一致地在 VMware vSphere 堆栈上找到打开的 TCP 和 UDP 端口。表格 tcpListenerTable 介绍了打开的 TCP 连接。此外,如上文中内存/进程部分所示,您可利用相关进程 ID 了解哪些应用程序的哪些端口是打开的。
snmpwalk -v3 -u test 192.0.2.1 tcpListenerProcess
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".22 = Gauge32: 2554
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".80 = Gauge32: 2773
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".443 = Gauge32: 2773
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".902 = Gauge32: 2554
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".1134 = Gauge32: 2851
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".8300 = Gauge32: 2500
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".8307 = Gauge32: 2851
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".8309 = Gauge32: 2851
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".8889 = Gauge32: 3259
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".12001 = Gauge32: 2851
 
对于 UDP,udpConnectionTable 会对所有接口 (0.0.0.0) 和内部/环路接口 (127.0.0.1) 进行报告。由于端口 161 指向进程 ID 30696,因此它用于 snmpd,端口 514 是 rsyslogd 服务,就像运行 netstat –nap | grep 514 一样,端口 902 是 vpxd,如轮询变量 udpEndpointProcess 时。
 
snmpwalk -v2c -c public 192.0.2.1 udpEndpointProcess
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".53.ipv4."0.0.0.0".0.1 = Gauge32: 492547
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".68.ipv4."0.0.0.0".0.1 = Gauge32: 489043
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".88.ipv4."0.0.0.0".0.1 = Gauge32: 534292
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".135.ipv4."0.0.0.0".0.1 = Gauge32: 489592
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".161.ipv4."0.0.0.0".0.1 = Gauge32: 30696
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".514.ipv4."0.0.0.0".0.1 = Gauge32: 1143449
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".902.ipv4."0.0.0.0".0.1 = Gauge32: 27982
UDP-MIB::udpEndpointProcess.ipv4."127.0.0.1".57359.ipv4."127.0.0.1".57359.1 = Gauge32: 1185092
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".53.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 492549
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".161.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 137990276
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".514.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 1143552
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".41978.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 1640484
 
用于监控网络流量的网络详细信息可在 IF-MIB 中找到。
 
HOST-RESOURCES-MIB::hrNetworkIfIndex.3 = INTEGER: 2
 
IF-MIB::ifDescr.2 = STRING: Device eth0 at 03:00.0 VMware - VMXNET3 Ethernet Controller
IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifPhysAddress.2 = STRING: 2:0:16:db:47:c9
IF-MIB::ifAdminStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifLastChange.2 = Timeticks: (0) 0:00:00.00
With statistics at 5 second cache rate are:
IF-MIB::ifInOctets.2 = Counter32: 2284246
IF-MIB::ifInUcastPkts.2 = Counter32: 18624
IF-MIB::ifInNUcastPkts.2 = Counter32: 3157
IF-MIB::ifInDiscards.2 = Counter32: 0
IF-MIB::ifInErrors.2 = Counter32: 0
IF-MIB::ifInUnknownProtos.2 = Counter32: 0
IF-MIB::ifOutOctets.2 = Counter32: 1892021
IF-MIB::ifOutUcastPkts.2 = Counter32: 17033
IF-MIB::ifOutNUcastPkts.2 = Counter32: 30
IF-MIB::ifOutDiscards.2 = Counter32: 0
IF-MIB::ifOutQLen.2 = Gauge32: 1000
 
分配的 IPv4 和 IPv6 地址、它们的状态(preferred、invalid)以及配置方式(dhcp、manual)可在以下位置找到:
IP-MIB::ipAddressIfIndex.ipv4."10.160.95.253" = INTEGER: 2
IP-MIB::ipAddressStatus.ipv4."10.160.6.247" = INTEGER: preferred(1)
IP-MIB::ipAddressOrigin.ipv4."10.160.6.247" = INTEGER: manual(2)
 
路由配置信息由
  • 接口路由:
    IP-FORWARD-MIB::inetCidrRouteIfIndex.ipv4."10.160.31.255".32.2.0.0.ipv4."0.0.0.0" = INTEGER: 2

     

  • 默认路由提供,其中值 0.0.0.0 表示任何目标都将转到 10.160.31.253:
    IP-FORWARD-MIB::inetCidrRouteIfIndex.ipv4."0.0.0.0".0.2.0.0.ipv4."10.160.31.253" = INTEGER: 2

 
有关如何为通过网卡连接的本地系统将 IPv4 (ARP) 和 IPv6(ND) 的 IP 地址转换为以太网 MAC 地址,请参见:IP-MIBipNetToPhysicalPhysAddress:
IP-MIB::ipNetToPhysicalPhysAddress.2.ipv4."10.160.31.253" = STRING: 0:0:c:9f:fa:28
它可转换为2=IfIndex(如上例所示),以太网端口知晓 IP 地址 10.160.31.253 是 MAC 地址 0:0:c:9f:fa:28。
 
此外,协议 ICMP、ICMP6、IPv4、IPv6 的全面统计数据请参见:
 
IP-MIB::icmpStatsInMsgs.ipv4 = Counter32: 46
IP-MIB::icmpStatsInMsgs.ipv6 = Counter32: 29
IP-MIB::icmpStatsInErrors.ipv4 = Counter32: 0
IP-MIB::icmpStatsInErrors.ipv6 = Counter32: 0
 
UDP 通用计数器:
 
UDP-MIB::udpInDatagrams.0 = Counter32: 94922
UDP-MIB::udpNoPorts.0 = Counter32: 38
UDP-MIB::udpInErrors.0 = Counter32: 6
UDP-MIB::udpOutDatagrams.0 = Counter32: 94967
 

结论

现在,您可以得出结论,内存/进程、CPU、文件系统和网络都可以使用查询进行检查,以唯一地标识 VCSA 系统、查看配置元素,并验证通常使用 SSH 命令行会话检查的大部分内容,以提供 Virtual Center Server 设备 (VCSA) 的详细信息。
 
 Related Information
如需了解相关信息,请参见:
本文简要介绍了如何使用内置 SNMPv1/v2c/v3 代理对 VMware vCenter Server Appliance (VCSA) 进行 SNMP 监控。
 
如果用户想要从基于 Windows 的 Virtual Center Server 迁移到 VCSA 设备部署并且需要更新监控基础架构以适用于该设备,本文将会很有帮助。
 
 Cause
Windows 上的 Virtual Center Server 是一款传统的应用程序,它要求操作人员时刻关注进程、内存、CPU 以及文件系统的情况。
 
Virtual Center Server Appliance 会迁移到嵌入式系统,即操作系统将对操作员不可见,而特定 API 可用于实现此类目的。
 
 Impact / Risks
VMware SNMP 代理经过精心设计,外形小巧且内存和 CPU 的效率很高。此外,SNMP 代理设计旨在避免同一系统/软件过于依赖 VMware 设备中共同驻留的其他管理 API。这么做的目的是,给定设备中发生的部分故障不会在报告管理状态时产生全有或全无的情况。
 
 Resolution
要在 VCSA 中使用 SNMP 代理,遇到的状况与在 ESXi 中使用是相同的。ESXi 和 SNMP 代理的配置相似,都可提供对内存/进程、CPU、文件系统和网络的持续监控。

有关 SNMP 和 ESXi 的详细信息,请参见Understanding the SNMP Layer 2 networking in the VMware ESXi (2118059)
 
本知识库文章中举例的 VCSA 基本 SNMPv3 配置是securityLevel noAuthNoPriv。在下面的步骤中,您将检查当前配置,了解适用的变量并研究根据您的环境类型可以监控和配置的变量。
 
注意:VMware 建议针对所有生产环境使用安全级别为authPriv的 SNMPv3。
 
 
以下各节将介绍如何检查当前 SNMP 配置,以及要使用命令行提示符或使用 MIB 浏览器而需轮询的关键代理部件。
 

检查当前 SNMP 配置

要从 ssh 命令行启动对 VCSA SNMP 代理的远程轮询,请执行以下操作:
  1. 打开到 Virtual Center Server Appliance 的 shell 会话,并运行以下命令:

    Command> snmp.set --users test/-/-/none
    snmp.enable

    有关访问 VCSA shell 的详细信息,请参见 vCenter Server Appliance 6.0 Configuration guide 中的“使用 Appliance Shell 配置 vCenter Server Appliance” 部分。

     
  2. 运行 snmp.get 命令以检查当前 SNMP 配置:

    例如,以下是生产部署中一个名为“test”、安全级别为 authPriv 的配置用户:

    Command> snmp.get
    Config:
    Enable: True
    Users:
    Configuration:
    Username: test
    Priv_key: bf91b2fb426a97121be51dd52eec494c83495254
    Sec_level: priv
    Auth_key: e03858abcfd4ad5fe99d52ce02d72174d6469190
    Notraps:
    Privacy: AES128
    Loglevel: warning
    V3targets:
    Configuration:
    Port: 1162
    Ip: 192.0.2.151
    Type: trap
    User: dq
    Sec_level: priv
    Pid: 13391
    Syslocation: PaloAlto
    Targets:
    Remoteusers:
    Authentication: SHA1
    Communities:
    Engineid: 766d77617265
    Port: 161
    Syscontact: [email protected]
 

这是什么代理?

在具有通用 mgmt API 的分布式系统中,首要任务是验证远程系统。
有一个代理将会为该任务提供两个变量或“管理对象”,一个用于人,另一个用于程序:
  • 人类可读对象名为 sysDescr:

    .iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 = STRING: VMware-vCenter-Server-Appliance 6.0.0.5110 embedded build 2656759 VMware, Inc x86_64

     
  • 程序使用 sysObjectID:

    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.vmware.vmwProductSpecific.vmwEmbeddedVirtualCenterAppliance
    可转换为:.1.3.6.1.4.1.6876.4.7
 
OID .1.3.6.1.4.1.6876.4.7 和名称 vmwEmbeddedVirtualCenterAppliance 之间的转换在 VMWARE-PRODUCTS-MIB.mib 文件中维护。所有 VMware SNMP 代理均具有唯一标识,并可在此 MIB 模块中找到。

应对这两个对象进行轮询,以确保轮询的设备正是中央管理认为应该接受轮询的设备。SNMP 的使用非常广泛,因此这些对象可用于 IT 企业中任意数目的系统。
 

VMware 产品的识别

如果 VCSA 独立部署,则 OID 会报告 vmwEmbeddedVirtualCenterAppliance。
 
如果 VCSA 配置或部署在两个不同的设备中,则 OID 将对每个设备分别进行报告:
  • SSO/身份设备报告为:

    SNMPv2-MIB::sysDescr.0 = STRING: VMware-vCenter-Server-Appliance 6.0.0.5110 infrastructure build 2656759 VMware, Inc x86_64
    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.vmware.vmwProductSpecific.vmwInfrastructureAppliance

    或者,如果 MIB 模块没有加载在管理系统中,则它将会显示为:

    .1.3.6.1.4.1.6876.4.8

     
  • Virtual Center 功能(vpxd进程)报告为:

    SNMPv2-MIB::sysDescr.0 = STRING: VMware-vCenter-Server-Appliance 6.0.0.5110 management build 2656759 VMware, Inc x86_64
    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.vmware.vmwProductSpecific.vmwManagementAppliance

    或者,如果 MIB 模块没有加载在管理系统中,则它将会显示为:

    .1.3.6.1.4.1.6876.4.9

    要下载 VMware MIB 模块,请参见 SNMP MIB module file download (1013445)
以下特定于 VMware 的变量可用于所有 VMware 产品,以唯一标识“产品”:
 
VMWARE-SYSTEM-MIB::vmwProdName.0 = STRING: VMware-vCenter-Server-Appliance
VMWARE-SYSTEM-MIB::vmwProdVersion.0 = STRING: 6.0.0.5110
VMWARE-SYSTEM-MIB::vmwProdBuild.0 = STRING: 2656759
 

BIOS 和网卡固件版本信息

有关 BIOS 和网卡的固件版本信息,请参见 RFC 2790 hrDeviceTable 和 RFC 4113 entPhysicalTable。
例如:
 
BIOS 版本由以下变量报告:

ENTITY-MIB::entPhysicalFirmwareRev.1 = STRING: 6.00
 
网络适配器(网卡)驱动程序和版本在 hrDeviceTable的hrDeviceDescr 变量中报告:
 
HOST-RESOURCES-MIB::hrDeviceDescr.3 = STRING: NIC eth0, driver vmxnet3, version: 1.4.2.0-k-NAPI, 0000:03:00.0
 
在 ESXi 上也找到相同的格式,例如:
 
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: NIC vmnic0, driver tg3, version 3.131d.v60.4, 0000:001:00.0
 

查找给定系统的唯一标识符 (UUID)

为了唯一地标识给定设备,ENTITY-MIB (RFC 4113) 提供了 UUID 和制造商身份:
ENTITY-MIB::entPhysicalName.1 = STRING: HostnameSetByOperator
ENTITY-MIB::entPhysicalSerialNum.1 = STRING: VMware-42 03 ac e7 2e c6 5f 8c-e
ENTITY-MIB::entPhysicalModelName.1 = STRING: VMware Virtual Platform
ENTITY-MIB::entPhysicalMfgDate.1 = STRING: 2014-9-30,0:0:0.0
ENTITY-MIB::entPhysicalUris.1 = STRING: "urn:uuid:4203ace72ec65f8ce9187e868c568fdc"
 
变量 entPhysicalName 可报告普通主机名。关于完全限定域名 (FQDN),请参见 sysName:
SNMPv2-MIB::sysName.0 = STRING: HostnameSetByOperator3.example.com
 

代理位于哪里?

代理可位于称为 sysLocation 的操作员定义的定位符字符串下
例如:
 
SNMPv2-MIB::sysLocation.0 = STRING: PaloAlto
 
该操作员可由 CLI 命令设置:
 
snmp.set --syslocation PaloAlto
 
或者与以下位置的另一个系统有关:ENTITY-MIB entLogicalTable
 
例如,所有 ESXi 系统 SNMP 代理都报告在包含对其具有控制权的 Virtual Center 系统的 entLogicalTable 中有一个实体,或者按其网络 IP/MAC 地址进行报告:
 
IP-MIB::ipNetToPhysicalPhysAddress.2.ipv4."10.160.95.253" = STRING: 0:0:c:9f:fa:2a
 
有些平台可能会报告硬件供应商的在 BMC 中运行的 SNMP 代理。entLogicalTable 提供了一种使用唯一 OID/标识符发现分布式软件集的拓扑结构的方式,以便定义关系。例如,当在不同的设备中使用 Platform Services Controller (PSC) 和 vCenter Server (VC) 部署 VCSA 时,VC(管理)节点将指向 entLogicalTable 中的 PSC(基础架构)节点。
例如:
ENTITY-MIB::entLogicalDescr.0 = STRING: Platform Services Controller, infrastructure node
ENTITY-MIB::entLogicalType.0 = OID: VMWARE-PRODUCTS-MIB::vmwInfrastructureAppliance
ENTITY-MIB::entLogicalTAddress.0 = STRING: "10.160.52.14"
ENTITY-MIB::entLogicalTDomain.0 = OID: TRANSPORT-ADDRESS-MIB::transportDomainUdpIpv4
ENTITY-MIB::entLogicalContextEngineID.0 = ""
ENTITY-MIB::entLogicalContextName.0 = STRING:
ENTITY-MIB::entLastChangeTime.0 = Timeticks: (1137) 0:00:11.37
 
最后,软件清单hrSWInstalledTable可提供系统中每个软件组件的基本身份识别:
 
HOST-RESOURCES-MIB::hrSWInstalledName.382 = STRING: "VMware, Inc.,VMware-vpxd,6.0.0,2656761"
HOST-RESOURCES-MIB::hrSWInstalledDate.382 = STRING: 2015-7-27,21:6:17.0
HOST-RESOURCES-MIB::hrSWInstalledName.364 = STRING: "VMware, Inc,vmware-snmp,1.0.0,1"
HOST-RESOURCES-MIB::hrSWInstalledDate.364 = STRING: 2015-7-27,21:5:53.0
 
在示例条目中,可看到该设备已将 Virtual Center Server 和 SNMP 代理打包,并列出它们的安装日期和时间。
 

使用 SNMP 代理监控系统

系统时间

通常,借助多个问题来回答对代理状态和运行状况的查询。
 
最常见的首要问题是系统已经运行多长时间?RFC 2780 HOST-RESOURCES-MIB 变量 hrSystemUptime 可提供该信息:
 
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (6566100) 18:14:21.00
 
它不应与以下变量混淆:
 
SNMPv2-MIB::sysUpTime = Timeticks: (5642377) 15:40:23.77
 
该变量可跟踪 snmpd 程序已运行多长时间,并在每次 snmpd 代理重启时进行重置。
当重启 snmpd 时,会发生两个相关事件:coldStart 和 warmStart。当代理首次启动时,会发送 coldStart 事件,该事件应与 warmStart 事件区分开来,后者是在设备未重启的情况下在代理后续启动时发送。
 
SNMP 将报告代理启动的相对时间,如在与时间相关的大多数变量中的 sysUptime。
要获得实际的时钟时间,可使用变量 hrSystemDate:
HOST-RESOURCES-MIB::hrSystemDate.0 = STRING: 2015-7-28,15:19:37.0

系统引导

有关系统如何启动以及从何处引导的配置信息,可参见 hrSystemInitialLoadParameters 变量:
 
HOST-RESOURCES-MIB::hrSystemInitialLoadParameters.0 = STRING: "root=/dev/sda3 append resume=/dev/sda2 splash=silent crashkernel= noexec=on nousb audit=1 vga=0x311
 
它从何种设备引导。在下面,您会看到编号为 4 的设备是引导设备:
 
HOST-RESOURCES-MIB::hrSystemInitialLoadDevice.0 = INTEGER: 4

连接何种虚拟磁盘:
 
HOST-RESOURCES-MIB::hrDeviceDescr.4 = STRING: LUN VMware Virtual_disk 1.0 sda
 
最后,我们在本文中介绍了如何查看内存/进程、CUP 和磁盘以及网络。这些资源并非用之不竭的。HOST-RESOURCES-MIB 提供了大量变量以供查询:

内存和进程

内存和进程主要在 hrStorageTable、hrSWRunTable 及其关联的子表中报告。
例如:
 
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 8194012 KBytes
 
可用内存供 179 个进程使用:
HOST-RESOURCES-MIB::hrSystemProcesses.0 = Gauge32: 179
HOST-RESOURCES-MIB::hrStorageDescr.14 = STRING: Real Memory
HOST-RESOURCES-MIB::hrStorageAllocationUnits.14 = INTEGER: 1024 Bytes
HOST-RESOURCES-MIB::hrStorageSize.14 = INTEGER: 8194012
HOST-RESOURCES-MIB::hrStorageUsed.14 = INTEGER: 41140
HOST-RESOURCES-MIB::hrStorageAllocationFailures.14 = Counter32: 0
 
可跟踪系统中的每个进程,以了解 CPU 和内存的使用情况。从hrSWRunTable中的进程列表开始,hrSWRunName可提供进程名称和进程 ID。
例如:
 
HOST-RESOURCES-MIB::hrSWRunPath.27982 = STRING: "[vpxd]"
HOST-RESOURCES-MIB::hrSWRunPath.30696 = STRING: "/bin/snmpd"
 
您可以看到,vpxd 的进程 ID 是 27982,snmpd 的进程 ID 是 30696。这些不会经常更改。如果您发现这些进程 ID 以几分钟到几小时的间隔频繁更改,建议收集支持包并提交支持申请,在要经 VMware 支持审核的 SR 描述中要包含此知识库文章 ID。要上载支持包,请参见“Additional Information” 部分中的链接。

如果发生故障,可能要通过操作员命令或监视程序重启来重启vpxd守护程序。要了解监视程序,请参见Supported vCenter Server high availability options (1024051)

 
现在,我们来更详细地了解一下vpxd进程,该进程正在运行或可运行吗?有多少 CPU 和内存正在使用?
 
HOST-RESOURCES-MIB::hrSWRunStatus.27982 = INTEGER: runnable(2)
HOST-RESOURCES-MIB::hrSWRunPerfCPU.27982 = 14178
HOST-RESOURCES-MIB::hrSWRunPerfMem.27982 = INTEGER: 34037760 KBytes
 
可在 5 秒内将这些值缓存。
从正在运行的进程中,我们可以使用变量 hrSWRunName 找到软件包,该变量应与 hrSWInstalledName 的值相同,后者可用于查找给定运行程序的软件包版本数据:
 
HOST-RESOURCES-MIB::hrSWRunName.27982 = STRING: "VMware, Inc.,VMware-vpxd,6.1.0,3719558"
 
接下来,我们来了解,vpxd 进程使用 snmpwalk 命令可打开哪些端口:
snmpwalk -v2c -c public 10.160.3.123 tcpConnectionProcess | grep 27982
TCP-MIB::tcpConnectionProcess.ipv4."10.160.3.123".54978.ipv4."10.160.3.123".443 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8085.ipv4."127.0.0.1".59734 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".52134 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".53526 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".53654 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".8089.ipv4."127.0.0.1".53848 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".57124.ipv4."127.0.0.1".10080 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58166.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58168.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58170.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58172.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58174.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58176.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58178.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58180.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58182.ipv4."127.0.0.1".5432 = Gauge32: 27982
TCP-MIB::tcpConnectionProcess.ipv4."127.0.0.1".58184.ipv4."127.0.0.1".5432 = Gauge32: 27982
 
注意:环回 (127.0.0.1) 接口上的所有端口vpxd都是打开状态,通过以太网网卡无法直接访问任何内容。

那么,远程流量如何到达 vpxd?我们来看看哪个端口具有 tcp/443 端口,可为 tcpListenerProcess 转储所有条目
 
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".443 = Gauge32: 9073
 
通过检查该 SWRunName,我们发现它可解析为 rhttpproxy:
 
HOST-RESOURCES-MIB::hrSWRunName.9073 = STRING: "VMware, Inc.,VMware-rhttpproxy,6.1.0,3719558"
 
rhttpproxy 可接收来自外部网络的输入,并通过环回接口将其发送到 vpxd 进行处理,反之亦然。
因此,对于监控,我们可以看到,vpxd 对 rhttp 代理有着直接依赖关系。
 
vpxd 守护程序还可打开 udp 端口,因此也可使用变量 udpEndpointProcess 检查该协议。

CPU 利用率

代理可报告每个处理器在一分钟内的平均负载,范围为 0-100,其中 100 是完全利用。
在以下示例中,您可看到该虚拟设备中有两个 CPU,每个 CPU 的利用率不足 15-20%:
 
HOST-RESOURCES-MIB::hrProcessorLoad.1 = INTEGER: 15
HOST-RESOURCES-MIB::hrProcessorLoad.2 = INTEGER: 20
 
有关处理器的详细信息,可参见 hrDeviceTable:
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: CPU Pkg/ID/Node: 0/0/0 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
HOST-RESOURCES-MIB::hrDeviceDescr.2 = STRING: CPU Pkg/ID/Node: 0/1/0 Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz
 

文件系统使用情况

跟踪资源利用率是一大主要的操作问题。可在所有支持 SNMP 的 VMware 设备上通过使用 HOST-RESOURCES-MIB 来监控文件系统,从而提供一致的 API。文件系统会映射到它们的底层设备(本地或远程存储均可),并映射到所属的分区。
 
VCSA VMware SNMP 代理可报告实时磁盘、分区和文件系统配置。文件系统使用量和以 5 秒缓存速率从底层操作系统检索的缓存结果是最急需关注的问题。例如,内存的变量 hrStorageDescr 也包含文件系统的安装点/路径及其使用情况。
 
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: /
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: /dev
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: /dev/shm
HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: /run
HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: /sys/fs/cgroup
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: /
HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: /boot
HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: /storage/core
HOST-RESOURCES-MIB::hrStorageDescr.9 = STRING: /storage/log
HOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: /storage/db
HOST-RESOURCES-MIB::hrStorageDescr.11 = STRING: /storage/dblog
HOST-RESOURCES-MIB::hrStorageDescr.12 = STRING: /storage/seat
HOST-RESOURCES-MIB::hrStorageDescr.13 = STRING: /storage/netdump
HOST-RESOURCES-MIB::hrStorageDescr.14 = STRING: /storage/autodeploy
HOST-RESOURCES-MIB::hrStorageDescr.15 = STRING: /storage/imagebuilder
HOST-RESOURCES-MIB::hrStorageDescr.16 = STRING: /storage/invsvc
HOST-RESOURCES-MIB::hrStorageDescr.17 = STRING: /var/spool/snmp
 
对于 root 文件系统,索引为 6,有关它的使用情况请参见:
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 2771006
HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 1184911
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationFailures.6 = Counter32: 0
HOST-RESOURCES-MIB::hrStorageType.6 = OID: HOST-RESOURCES-MIB::hrStorageType.hrStorageFixedDisk
 
此外,它还可提供有关网络磁盘 (hrStorageNetworkDisk) 或 RAM 磁盘 (hrStorageRam) 的详细信息,以及文件系统是只读还是可读写。
分区名称可在以下位置找到:
 
HOST-RESOURCES-MIB::hrPartitionLabel.4.1 = STRING: "sda1"
HOST-RESOURCES-MIB::hrPartitionLabel.4.2 = STRING: "sda2"
HOST-RESOURCES-MIB::hrPartitionLabel.4.3 = STRING: "sda3"
HOST-RESOURCES-MIB::hrPartitionLabel.4.4 = STRING: "sda1"
HOST-RESOURCES-MIB::hrPartitionLabel.4.5 = STRING: "sda2"
 
LUN/磁盘设备在 hrDeviceTable 中报告:
HOST-RESOURCES-MIB::hrDeviceDescr.4 = STRING: LUN VMware Virtual_disk 1.0 sda
HOST-RESOURCES-MIB::hrDeviceDescr.5 = STRING: LUN VMware Virtual_disk 1.0 sdb
HOST-RESOURCES-MIB::hrDeviceDescr.6 = STRING: LUN VMware Virtual_disk 1.0 sdc
HOST-RESOURCES-MIB::hrDeviceDescr.7 = STRING: LUN VMware Virtual_disk 1.0 sdd
HOST-RESOURCES-MIB::hrDeviceDescr.8 = STRING: LUN VMware Virtual_disk 1.0 sde
HOST-RESOURCES-MIB::hrDeviceDescr.9 = STRING: LUN VMware Virtual_disk 1.0 sdf
HOST-RESOURCES-MIB::hrDeviceDescr.10 = STRING: LUN VMware Virtual_disk 1.0 sdg
HOST-RESOURCES-MIB::hrDeviceDescr.11 = STRING: LUN VMware Virtual_disk 1.0 sdh
HOST-RESOURCES-MIB::hrDeviceDescr.12 = STRING: LUN VMware Virtual_disk 1.0 sdi
HOST-RESOURCES-MIB::hrDeviceDescr.13 = STRING: LUN VMware Virtual_disk 1.0 sdj
HOST-RESOURCES-MIB::hrDeviceDescr.14 = STRING: LUN VMware Virtual_disk 1.0 sdk
HOST-RESOURCES-MIB::hrDeviceDescr.15 = STRING: LUN VMware Virtual_disk 1.0 sdl
 

网络

通常,就操作方面而言,一个常见问题是连接性。应用程序和端口连接是基本的连接。服务必须打开 TCP 和 UDP(协议)端口来提供服务。除了可以监控进程,对打开端口的检查还可帮助维护操作系统。有关服务端口,可参见 Required ports for vCenter Server Appliance 5.x (2012773) 和 Network port diagram for vSphere 5.x (2054806)
 
通过 HOST-RESOURCES-MIB 中的下列表格,可轻松一致地在 VMware vSphere 堆栈上找到打开的 TCP 和 UDP 端口。表格 tcpListenerTable 介绍了打开的 TCP 连接。此外,如上文中内存/进程部分所示,您可利用相关进程 ID 了解哪些应用程序的哪些端口是打开的。
snmpwalk -v3 -u test 192.0.2.1 tcpListenerProcess
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".22 = Gauge32: 2554
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".80 = Gauge32: 2773
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".443 = Gauge32: 2773
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".902 = Gauge32: 2554
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".1134 = Gauge32: 2851
TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".8300 = Gauge32: 2500
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".8307 = Gauge32: 2851
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".8309 = Gauge32: 2851
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".8889 = Gauge32: 3259
TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".12001 = Gauge32: 2851
 
对于 UDP,udpConnectionTable 会对所有接口 (0.0.0.0) 和内部/环路接口 (127.0.0.1) 进行报告。由于端口 161 指向进程 ID 30696,因此它用于 snmpd,端口 514 是 rsyslogd 服务,就像运行 netstat –nap | grep 514 一样,端口 902 是 vpxd,如轮询变量 udpEndpointProcess 时。
 
snmpwalk -v2c -c public 192.0.2.1 udpEndpointProcess
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".53.ipv4."0.0.0.0".0.1 = Gauge32: 492547
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".68.ipv4."0.0.0.0".0.1 = Gauge32: 489043
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".88.ipv4."0.0.0.0".0.1 = Gauge32: 534292
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".135.ipv4."0.0.0.0".0.1 = Gauge32: 489592
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".161.ipv4."0.0.0.0".0.1 = Gauge32: 30696
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".514.ipv4."0.0.0.0".0.1 = Gauge32: 1143449
UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".902.ipv4."0.0.0.0".0.1 = Gauge32: 27982
UDP-MIB::udpEndpointProcess.ipv4."127.0.0.1".57359.ipv4."127.0.0.1".57359.1 = Gauge32: 1185092
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".53.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 492549
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".161.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 137990276
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".514.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 1143552
UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".41978.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.1 = Gauge32: 1640484
 
用于监控网络流量的网络详细信息可在 IF-MIB 中找到。
 
HOST-RESOURCES-MIB::hrNetworkIfIndex.3 = INTEGER: 2
 
IF-MIB::ifDescr.2 = STRING: Device eth0 at 03:00.0 VMware - VMXNET3 Ethernet Controller
IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifPhysAddress.2 = STRING: 2:0:16:db:47:c9
IF-MIB::ifAdminStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifLastChange.2 = Timeticks: (0) 0:00:00.00
With statistics at 5 second cache rate are:
IF-MIB::ifInOctets.2 = Counter32: 2284246
IF-MIB::ifInUcastPkts.2 = Counter32: 18624
IF-MIB::ifInNUcastPkts.2 = Counter32: 3157
IF-MIB::ifInDiscards.2 = Counter32: 0
IF-MIB::ifInErrors.2 = Counter32: 0
IF-MIB::ifInUnknownProtos.2 = Counter32: 0
IF-MIB::ifOutOctets.2 = Counter32: 1892021
IF-MIB::ifOutUcastPkts.2 = Counter32: 17033
IF-MIB::ifOutNUcastPkts.2 = Counter32: 30
IF-MIB::ifOutDiscards.2 = Counter32: 0
IF-MIB::ifOutQLen.2 = Gauge32: 1000
 
分配的 IPv4 和 IPv6 地址、它们的状态(preferred、invalid)以及配置方式(dhcp、manual)可在以下位置找到:
IP-MIB::ipAddressIfIndex.ipv4."10.160.95.253" = INTEGER: 2
IP-MIB::ipAddressStatus.ipv4."10.160.6.247" = INTEGER: preferred(1)
IP-MIB::ipAddressOrigin.ipv4."10.160.6.247" = INTEGER: manual(2)
 
路由配置信息由
  • 接口路由:
    IP-FORWARD-MIB::inetCidrRouteIfIndex.ipv4."10.160.31.255".32.2.0.0.ipv4."0.0.0.0" = INTEGER: 2

     

  • 默认路由提供,其中值 0.0.0.0 表示任何目标都将转到 10.160.31.253:
    IP-FORWARD-MIB::inetCidrRouteIfIndex.ipv4."0.0.0.0".0.2.0.0.ipv4."10.160.31.253" = INTEGER: 2

 
有关如何为通过网卡连接的本地系统将 IPv4 (ARP) 和 IPv6(ND) 的 IP 地址转换为以太网 MAC 地址,请参见:IP-MIBipNetToPhysicalPhysAddress:
IP-MIB::ipNetToPhysicalPhysAddress.2.ipv4."10.160.31.253" = STRING: 0:0:c:9f:fa:28
它可转换为2=IfIndex(如上例所示),以太网端口知晓 IP 地址 10.160.31.253 是 MAC 地址 0:0:c:9f:fa:28。
 
此外,协议 ICMP、ICMP6、IPv4、IPv6 的全面统计数据请参见:
 
IP-MIB::icmpStatsInMsgs.ipv4 = Counter32: 46
IP-MIB::icmpStatsInMsgs.ipv6 = Counter32: 29
IP-MIB::icmpStatsInErrors.ipv4 = Counter32: 0
IP-MIB::icmpStatsInErrors.ipv6 = Counter32: 0
 
UDP 通用计数器:
 
UDP-MIB::udpInDatagrams.0 = Counter32: 94922
UDP-MIB::udpNoPorts.0 = Counter32: 38
UDP-MIB::udpInErrors.0 = Counter32: 6
UDP-MIB::udpOutDatagrams.0 = Counter32: 94967
 

结论

现在,您可以得出结论,内存/进程、CPU、文件系统和网络都可以使用查询进行检查,以唯一地标识 VCSA 系统、查看配置元素,并验证通常使用 SSH 命令行会话检查的大部分内容,以提供 Virtual Center Server 设备 (VCSA) 的详细信息。
 
 Related Information
如需了解相关信息,请参见:

猜你喜欢

转载自blog.csdn.net/allway2/article/details/109555497