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

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

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

标签: 服务器, 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
        }

监控效果:

分享到: 更多
蓝客门户
©2001-2017 中国蓝客联盟 版权所有.
关于蓝客联盟历史宗旨章程技术服务联系我们蓝客社区