我们来自五湖四海,不为别的,只因有共同的爱好,为中国互联网发展出一分力!

通过Nagios监控VMware ESX/ESXi/vSphere服务器

2011年12月13日10:42 阅读: 19771 次

标签: 服务器, Nagios, VMware ESX, ESXi, vSphere

本文主要阐述如何使用Nagios的扩展插件check_esx来监控VMware ESX和vSphere服务器。既可以实现监控单台ESX(i)/vSphere服务器,也可以监控VirtualCenter/vCenter服务器集群。当企业中已经部署虚拟数据中心(vCenter)时,应该监控vCenter而不是单台ESX/vSphere服务器。

本文目标:

  1. 监控 VMware E SX Datacenter/vCenter 虚拟数据中心
  2. 监控 VMware ESX/vSphere 服务器
  3. 直接监控运行于VMware 架构上的虚拟服务器
  4. 通过虚拟数据中心监控虚拟服务器
  5. 通过虚拟数据中心监控ESX/vSphere服务器

实施需求:

首先在ESX/vSphere主机系统中添加一个新的用户,加入”user”组,赋予”Read Only”权限。具体设置可以参考vSphere手册。

必须在Nagios服务器上安装VMware vSphere SDK for Perl工具包,如果你已经在VMware网站注册,可以直接从这里下载:http://communities.vmware.com/community/developer/forums/vsphere_sdk_perl。请根据你的操作系统下载对应的32bit/64bit版本。

监控命令:
从这里下载check_esx3.pl,存放至nagios安装目录下的libexec目录中,建议更名为check_esx3,并添加可执行权限。

编辑Nagios配置文件command.cfg,添加监控命令:

# VMware ESX Infrastructure
define command{
command_name check_esx3_host_cpu_usage
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l cpu -s usage -w $ARG3$ -c $ARG4$
}

define command{
command_name check_esx3_host_mem_usage
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l mem -s usage -w $ARG3$ -c $ARG4$
}

define command{
command_name check_esx3_host_swap_usage
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l mem -s swap -w $ARG3$ -c $ARG4$
}

define command{
command_name check_esx3_host_net_usage
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l net -s usage -w $ARG3$ -c $ARG4$
}

define command{
command_name check_esx3_host_vmfs
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l vmfs -s $ARG3$ -w $ARG4$ -c $ARG5$
}

define command{
command_name check_esx3_host_runtime_status
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l runtime -s status
}

define command{
command_name check_esx3_host_runtime_issues
command_line $USER1$/check_esx3 -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -l runtime -s issues
}

define command{
command_name check_esx3_dc_host_cpu_usage
command_line $USER1$/check_esx3 -D $ARG1$?-u $ARG2$ -p $ARG3$ -H $HOSTALIAS$ -l cpu -s usage -w $ARG4$ -c $ARG5$
}

define command{
command_name check_esx3_dc_host_mem_usage
command_line $USER1$/check_esx3 -D $ARG1$?-u $ARG2$ -p $ARG3$ -H $HOSTALIAS$ -l?mem -s usage -w $ARG4$ -c $ARG5$
}

更多命令设置参考./check_esx3 –help

设置监控主机和服务

建议设置自定义配置文件esx.cfg,以下为部分设置:

define host{
??????? use???????????? linux-server
??????? host_name?????? vSphere3
??????? alias?????????? vSphere Host3(SSB412)
??????? address???????? 10.2.1.153
??????? hostgroups????? ESX
??????? icon_image????? vmware.png
??????? icon_image_alt? VMware vSphere (SSB412)
??????? vrml_image????? vmware.jpg
??????? statusmap_image vmware.gd2
??????? 2d_coords?????? 800,900
??????? parents???????? RackSW_PDC_1
??????? }

define service{
??????? use???????????????????? generic-service
??????? host_name?????????????? VM-ESXi-01,VM-ESXi-02,vSphere1,vSphere2,vSphere3
??????? service_description???? CPU Usage
??????? check_command?????????check_esx3_host_cpu_usage!nagios!password!100!110
??????? }

define service{
??????? use???????????????????? generic-service
??????? host_name?????????????? VM-ESXi-01,VM-ESXi-02,vSphere1,vSphere2,vSphere3
??????? service_description???? Memory Usage
??????? check_command?????????check_esx3_host_mem_usage!nagios!password!100!110
??????? }

监控效果:

分享到: 更多
蓝客门户