Nagios 监控 ESXi

简介:

豆子今天想把VMware ESXi的监控也加入Nagios里面。关于对ESXi的监控,可以实现的方法有很多,豆子的第一反应是用PowerShellCLi,第二个反应是SNMP,第三个反应是找找有没有现成的脚本,就不用重复造轮子了~~

首先看看PowerShellCli怎么监控的?

这个脚本本身很容易,自己通过get-stat就可以获取对应的信息。比如说我打算查看一下某台主机的内存状态, 第一个是ballon的状态,第二个是实际使用的内存,第三个是使用率,第四个是分配的内存,这个结果和VCenter上面查看是一致的

Nagios 监控 ESXi

VCenter上面查看
Nagios 监控 ESXi

脚本可以获取信息了,那么剩下的配置步骤就不赘述了,可以参考Nagios如何监控VEEAM的备份状态 http://blog.51cto.com/beanxyz/1981136

第二种方式是SNMP

ESXi上面打开SNMP的方法一般是通过esxcli来实现。简单的说就是设置community 字符串,打开snmp服务,允许防火墙访问,我这里就用最简单snmp v2, 允许所有IP访问

esxcli system snmp set --communities public
esxcli system snmp set --enable true
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
[esxcli network firewall ruleset set --ruleset-id snmp --enabled true
/etc/init.d/snmpd restart

可以通过VCenter的图形界面确认
Nagios 监控 ESXi

然后下载ESXi SNMP对应的MIB文件,下载后解压到

/usr/share/snmp/mibs

[root@sydnagios mibs]# pwd
/usr/share/snmp/mibs
[root@sydnagios mibs]# ls
AGENTX-MIB.txt                       IEEE8021-TC-MIB.mib        NET-SNMP-EXTEND-MIB.txt    SNMP-NOTIFICATION-MIB.txt    UCD-SNMP-MIB.txt
BRIDGE-MIB.mib                       IEEE8023-LAG-MIB.mib       NET-SNMP-MIB.txt           SNMP-PROXY-MIB.txt           UDP-MIB.mib
BRIDGE-MIB.txt                       IF-INVERTED-STACK-MIB.txt  NET-SNMP-PASS-MIB.txt      SNMP-TARGET-MIB.txt          UDP-MIB.txt
DISMAN-EVENT-MIB.txt                 IF-MIB.mib                 NET-SNMP-TC.txt            SNMP-USER-BASED-SM-MIB.txt   UUID-TC-MIB.mib
DISMAN-SCHEDULE-MIB.txt              IF-MIB.txt                 NET-SNMP-VACM-MIB.txt      SNMP-USM-AES-MIB.txt         VMWARE-CIMOM-MIB.mib
DISMAN-SCRIPT-MIB.txt                INET-ADDRESS-MIB.mib       NETWORK-APPLIANCE-MIB.txt  SNMP-USM-DH-OBJECTS-MIB.txt  VMWARE-ENV-MIB.mib
ENTITY-MIB.mib                       INET-ADDRESS-MIB.txt       NETWORK-SERVICES-MIB.txt   SNMPv2-CONF.mib              VMWARE-ESX-AGENTCAP-MIB.mib
EtherLike-MIB.txt                    IP-FORWARD-MIB.mib         NOTIFICATION-LOG-MIB.txt   SNMPv2-CONF.txt              VMWARE-HEARTBEAT-MIB.mib
geist_bb_mib.mib                     IP-FORWARD-MIB.txt         notifications.txt          SNMPv2-MIB.mib               VMWARE-NSX-MANAGER-AGENTCAP-MIB.mib
geist_mib.txt                        IP-MIB.mib                 P-BRIDGE-MIB.mib           SNMPv2-MIB.txt               VMWARE-NSX-MANAGER-MIB.mib
HCNUM-TC.txt                         IP-MIB.txt                 Q-BRIDGE-MIB.mib    

然后就可以试试看了。

snmpwalk -m ALL -c public -v 2c sydesx1 hrStorage
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 234845392 KBytes
HOST-RESOURCES-MIB::hrStorageIndex.1 = INTEGER: 1
HOST-RESOURCES-MIB::hrStorageIndex.2 = INTEGER: 2
HOST-RESOURCES-MIB::hrStorageIndex.3 = INTEGER: 3
HOST-RESOURCES-MIB::hrStorageIndex.4 = INTEGER: 4
HOST-RESOURCES-MIB::hrStorageIndex.5 = INTEGER: 5
HOST-RESOURCES-MIB::hrStorageIndex.6 = INTEGER: 6
HOST-RESOURCES-MIB::hrStorageIndex.7 = INTEGER: 7
HOST-RESOURCES-MIB::hrStorageIndex.8 = INTEGER: 8
HOST-RESOURCES-MIB::hrStorageIndex.9 = INTEGER: 9
HOST-RESOURCES-MIB::hrStorageIndex.10 = INTEGER: 10
HOST-RESOURCES-MIB::hrStorageIndex.11 = INTEGER: 11
HOST-RESOURCES-MIB::hrStorageType.1 = OID: HOST-RESOURCES-TYPES::hrStorageRamDisk
HOST-RESOURCES-MIB::hrStorageType.2 = OID: HOST-RESOURCES-TYPES::hrStorageRamDisk
HOST-RESOURCES-MIB::hrStorageType.3 = OID: HOST-RESOURCES-TYPES::hrStorageRamDisk
HOST-RESOURCES-MIB::hrStorageType.4 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.5 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.6 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.7 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.8 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.9 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.10 = OID: HOST-RESOURCES-TYPES::hrStorageFixedDisk
HOST-RESOURCES-MIB::hrStorageType.11 = OID: HOST-RESOURCES-TYPES::hrStorageRam
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: /vmfs/volumes/5d0548ee-62126bd1-5537-30262a317523
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: /vmfs/volumes/becccae6-27d8d5c6-e47a-6ef1babf5cc6
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: /vmfs/volumes/595c571e-a107b89c-252c-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: /vmfs/volumes/5a13b818-ebf86368-5680-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: /vmfs/volumes/5a13b834-323b0b4e-290f-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: /vmfs/volumes/5a13b867-e07e81d4-2acd-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: /vmfs/volumes/5a13b880-8baabbf8-d6ff-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.8 = STRING: /vmfs/volumes/5a13cff4-1e80a610-63b2-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.9 = STRING: /vmfs/volumes/5a1e48c8-6b5eefc4-f04e-ac162d6e1c38
HOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: /vmfs/volumes/5a28dcf3-45c2e884-a6cb-ac162d6e2444
HOST-RESOURCES-MIB::hrStorageDescr.11 = STRING: Real Memory
HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: 4096 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.3 = INTEGER: 8192 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: 1048576 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.5 = INTEGER: 1048576 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 1048576 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.7 = INTEGER: 1048576 Bytes
HOST-RESOURCES-MIB::hrStorageAllocationUnits.8 = INTEGER: 1048576 Bytes
...

SNMP成功了 后面的就可以用现成的check_snmp来写Nagios命令了。这里不赘述了

第三种方式,我看看有没有现成的脚本可以直接用的,这样不用我自己折腾了。

可以参考这个博文,网上有人用perl写了个脚本,我们之间下载之后 直接调用就行了。当然请确保相关的模块都已安装了
http://www.bujarra.com/nagios-monitorizando-hosts-esxi/?lang=en

这个也很容易,常见的cpu,内存,存储,网络的监控都包括了


[root@sydnagios check_vmware_api-master]# ./check_vmware_api.pl -H sydesx1 -f check_vmware_api.auth -l mem -s usage -w 80 -c 90

CHECK_VMWARE_API.PL OK - mem usage=60.00 % | mem_usage=60.00%;80;90

[root@sydnagios check_vmware_api-master]# ./check_vmware_api.pl -H sydesx1 -f check_vmware_api.auth -l cpu -s usage -w 80 -c 90

CHECK_VMWARE_API.PL OK - cpu usage=10.56 % | cpu_usage=10.56%;80;90





本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/2059287,如需转载请自行联系原作者

目录
相关文章
|
存储 域名解析 网络协议
AD域的搭建和操作使用
AD域的搭建和操作使用
|
存储 虚拟化 Windows
ESXI8.0安装Windows11
HKEY_LOCAL_MACHINE\SYSTEM\Setup 创建一个名为“LabConfig”的项,在“LabConfig”下创建两个32位DWORD值: 键为“BypassTPMCheck”,值为“00000001” 键为“BypassSecureBootCheck”,值为“00000001” 在安装 Windows 11 进入到以下阶段即“现在安装”按 Shift+F10 进入到命令提示符,添加注册表键值绕过 TPM 检查;如果你是从微软官方下载的 ISO 镜像则在提示需要输入密钥阶段进入到命令提示符;之后就可以正常安装了。 REG ADD HKLM\SYSTEM\Setu
10170 0
ESXI8.0安装Windows11
|
Shell 网络安全 文件存储
Tailscale:随时随地远程和使用服务器
Tailscale:随时随地远程和使用服务器
|
1月前
|
Java 应用服务中间件 网络安全
SSL证书格式转换指南:PEM/PFX/JKS 核心指令实战
本文详解PEM、PFX、JKS三大证书格式的转换方法,涵盖OpenSSL与Keytool命令实操,强调私钥保护与证书链完整性,助力运维人员在Nginx、Tomcat等环境中安全高效完成部署,附常见问题与合规建议。
479 6
|
弹性计算 监控 Linux
跨云厂商网络接入&数据迁移
从华为云、腾讯云接入/搬站到阿里云网络时,暴露数据库公网 IP 有安全隐患,使用传统的 IPSec VPN 配置 VPN 网关过程繁琐,且连接带宽和速度不稳定,传输大量数据耗时很久。通过将 SAG vCPE 镜像部署在您网络的宿主机中,使宿主机作为一个 CPE(Customer-premises equipment)设备为您提供上云服务,突破了物理的限制,更加灵活地帮您将网络接入阿里云。
跨云厂商网络接入&数据迁移
|
11月前
|
固态存储 虚拟化 iOS开发
VMware ESXi 8.0U2d macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
VMware ESXi 8.0U2d macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
844 1
VMware ESXi 8.0U2d macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
|
12月前
|
移动开发 安全 虚拟化
VMware ESXi 7.0 U3r 下载 - 领先的裸机 Hypervisor
VMware ESXi 7.0 U3r 下载 - 领先的裸机 Hypervisor
811 0
VMware ESXi 7.0 U3r 下载 - 领先的裸机 Hypervisor
|
人工智能 算法 机器人
开源极客桌面机器人 Desk-Emoji
Desk-Emoji 是一款开源的实体 AI 桌面陪伴机器人,具备酷炫外观、流畅 Emoji 表情、双自由度云台及大模型语音聊天功能,支持手势识别和情绪反馈,适合 DIY 和二次开发,是性价比极高的桌面机器人。
3102 1
开源极客桌面机器人 Desk-Emoji
|
JSON Dubbo Java
【Dubbo协议指南】揭秘高性能服务通信,选择最佳协议的终极攻略!
【8月更文挑战第24天】在分布式服务架构中,Apache Dubbo作为一款高性能的Java RPC框架,支持多种通信协议,包括Dubbo协议、HTTP协议及Hessian协议等。Dubbo协议是默认选择,采用NIO异步通讯,适用于高要求的内部服务通信。HTTP协议通用性强,利于跨语言调用;Hessian协议则在数据传输效率上有优势。选择合适协议需综合考虑性能需求、序列化方式、网络环境及安全性等因素。通过合理配置,可实现服务性能最优化及系统可靠性提升。
442 3
|
应用服务中间件 Linux 网络安全
使用Certbot申请/续签ssl证书
使用Certbot申请/续签ssl证书
2614 8