nagios监控安装esxi的服务器(宿主机)

首先,该博文大部分内容来自网络,少部分是自己监控过程中遇到的问题。如果有侵权,请联系告知!!!

现在互联网公司,有能力的都是自己研发监控系统,要么就是zabbix或者小米的监控,还都二次开发等等,可能使用nagios的不是那么多。哈哈,做个记录,仅供参考!!!

<准备部署使用open-Falcon(小米开源)>

以下内容大部分来自网络:

普通的Dell服务器硬件监控我们可以通过nagios+openmanage来实现,但是vsphere环境中的Esxi主机的硬件监控怎么实现呢?

这里有两种方案:

1.通过nagios插件check_esx来实现,这种方式需要安装vmware vsphere sdk for perl工具包

2.通过nagios插件check_esxi_hardware.py来实现,此插件使用python写的。

感人感觉第二种方式比较简单些,python在linux天生内置,还需要更多理由吗?

先看看官网介绍:

http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.php#.VWV5_JCUfTA

其中:

Requirements
- Python must be installed
- The Python extension pywbem must be installed 
Windows users click here for a step-by-step guide how to install Python and PyWBEM on a Windows server.
- If there is a firewall between your monitoring and ESXi server, open ports 443 and 5989

以上是实现监控的先决条件:

1.python必须安装

2.python的扩展包pywbem必须安装

3.你的Esxi主机的443,5989端口必须对nagios监控端开放

好了,下面就赶紧实施吧!

1.安装check_essi_hardware.py

  1. cd /usr/local/nagios/libexec
    wget http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.py这个链接下载可能会失败,网上有,可自行搜索下载。
    chown nagios.nagios check_esxi_hardware.py
    chmod 755 check_esxi_hardware.py

安装完成后,我们来查看下这个插件都有什么参数:

  1. [[email protected] libexec]# ./check_esxi_hardware.py
    Traceback (most recent call last):
    File "./check_esxi_hardware.py", line 222, in <module>
    import pywbem
    ImportError: No module named pywbem
    [[email protected] libexec]# ./check_esxi_hardware.py -h
    Traceback (most recent call last):
    File "./check_esxi_hardware.py", line 222, in <module>
    import pywbem
    ImportError: No module named pywbem 

哦,原来pywbem模块没有安装,那就赶紧装下吧。

2.安装python的第三方模块

  1. cd /usr/local/src
    wget http://downloads.sourceforge.net/project/pywbem/pywbem/pywbem-0.7/pywbem-0.7.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpywbem%2Ffiles%2Fpywbem%2F&ts=1299742557&use_mirror=voxel
    tar -zxvf pywbem-0.7.0.tar.gz
    cd pywbem-0.7.0
    python setup.py build
    python setup.py install --record files.txt 

或者可以直接使用yum:(推荐使用)

  1. yum install pywbem -y

再试一下,还是报错:

  1. [[email protected] libexec]# ./check_esxi_hardware.py
    Traceback (most recent call last):
    File "./check_esxi_hardware.py", line 251, in <module>
    import pkg_resources
    ImportError: No module named pkg_resources
    [[email protected] libexec]#
      

解决:

  1. [[email protected] libexec]# yum install python-setuptools -y

出现缺少模块的错误,国内很多文章都是源码安装插件模块,也可以,但是问题比较多;建议直接使用yum,这样简单并且不会出现依赖的问题。

我自己是centos 6.x的系统,直接使用yum安装时没有问题,centos 7.x没有测试,请自行测试。

使用yum基本上不会涉及下面的问题。

注意:(1).不要使用pywbem-0.8.0版本,这个版本有bug导致我们的插件无法使用

(2).python setup.py install --record files.txt 记录安装目录的目的就是为了方便卸载插件,cat files.txt | xargs rm -rf

3.正常使用插件

  1. [[email protected] libexec]# ./check_esxi_hardware.py
    no parameters specified
    Usage: check_esxi_hardware.py https://hostname user password system [verbose]
    example: check_esxi_hardware.py https://my-shiny-new-vmware-server root fakepassword dell
    or, using new style options:
    usage: check_esxi_hardware.py -H hostname -U username -P password [-V system -v -p -I XX]
    example: check_esxi_hardware.py -H my-shiny-new-vmware-server -U root -P fakepassword -V auto -I uk
    or, verbosely:
    usage: check_esxi_hardware.py --host=hostname --user=username --pass=password [--vendor=system --verbose --perfdata --html=XX]
    Options:
    --version show program‘s version number and exit
    -h, --help show this help message and exit
    Mandatory parameters:
    -H HOST, --host=HOST
    report on HOST
    -U USER, --user=USER
    user to connect as
    -P PASS, --pass=PASS
    password, if password matches file:<path>, first line
    of given file will be used as password
    Optional parameters:
    -V VENDOR, --vendor=VENDOR
    Vendor code: auto, dell, hp, ibm, intel, or unknown
    (default)
    -v, --verbose print status messages to stdout (default is to be
    quiet)
    -p, --perfdata collect performance data for pnp4nagios (default is
    not to)
    -I XX, --html=XX generate html links for country XX (default is not to)
    -t TIMEOUT, --timeout=TIMEOUT
    timeout in seconds - no effect on Windows (default =
    no timeout)
    -i IGNORE, --ignore=IGNORE
    comma-separated list of elements to ignore
    --no-power don‘t collect power performance data
    --no-volts don‘t collect voltage performance data
    --no-current don‘t collect current performance data
    --no-temp don‘t collect temperature performance data
    --no-fan don‘t collect fan performance data

从上面可以看出,此插件需要用户名,密码连接Esxi主机才能使用。当然为保证安全,只需要在Esxi主机上建立只读的用户名和密码即可

其中-U 用户名  -P 密码 -V服务器类型,有dell,hp等,根据实际情况-v打印状态信息-p结合画图工具画图

-I 输出链接到dell或其他官网,方面找解决方案-t超时时间-i忽略某项监控内容

--no-power 不采集电源信息,以下雷同。

4.给Esxi主机设置只读用户

如果使用的是Vcenter,首先需要打开监控esxi主机的ssh;

通过VMware vSphere Client连接主机,创建用户(只读),注:密码有复杂度要求!

(1)先登录Esxi主机,在“本地用户和组”标签中,空白处右键“添加”,即可添加用户。

(2)将nagios用户设置成“只读角色”。在“权限”标签中,空白处右键“添加权限”,然后按下图操作

ok,只读用户nagios就添加完毕。

  1. [[email protected]176 libexec]# ./check_esxi_hardware.py -H 192.168.0.100 -U nagios -P nagios -V dell
    Traceback (most recent call last):
    File "./check_esxi_hardware.py", line 617, in <module>
    wbemclient = pywbem.WBEMConnection(hosturl, (user,password), no_verification=True)
    TypeError: __init__() got an unexpected keyword argument ‘no_verification‘

出现这种情况,编辑check_esxi_hardware.py文件

删除“no_verification=True”

接着测试:

  1. [[email protected]176 libexec]# ./check_esxi_hardware.py -H 192.168.0.100 -U nagios -P qwe123,./,./ -V dell
    UNKNOWN: Authentication Error

出现“UNKNOWN: Authentication Error”,继续处理

通过ssh登录esxi主机,编辑如下:

  1. ~ # cat /etc/security/access.conf
    # This file is autogenerated and must not be edited.
    +:dcui:ALL
    +:root:ALL
    +:vpxuser:ALL
    +:vslauser:ALL
    -:nagios:ALL
    -:ALL:ALL

将“-:nagios:ALL”去掉,在第二行加上“+:nagios:sfcb”

这种方式适合在不经常添加用户的情况下使用,只改一次即可;但是经常加用户可能会导致access.conf变化,需要设置计划任务添加“+:nagios:sfcb”

  1. [[email protected] libexec]# ./check_esxi_hardware.py -H 10.10.10.1 -U nagios -P nagios -V dell
    OK - Server: Dell Inc. PowerEdge R610 s/n: XXXXXX System BIOS: XXXXXXXXXX

ok,监控正常。

6.下面将将其加入到监控系统中吧。

(1)先在commands.cfg中添加命令。

  1. vim /usr/local/nagios/etc/objects/commands.cfg
    define command {
        command_name check_esxi_hardware
        command_line $USER1$/check_esxi_hardware.py -H $HOSTADDRESS$ -U $ARG1$ -P $ARG2$ -V $ARG3$ -I isolutions -p -t 20
    } 

(2)添加服务

  1. define service{==>根据自己公司配置,定义监控服务项;}

重启nagios!!!

(3)监控效果图

其中href中的链接就是我们在check_esxi_hardware.py中-I参数生成,方便我们直接查找解决方案。

时间: 2024-10-26 23:47:35

nagios监控安装esxi的服务器(宿主机)的相关文章

SecureCRT连接VirtualBox下的ubuntu以及NMP的搭建与通过宿主机访问该NGINX服务器过程

一直使用wamp作为开发环境,只是工作中时常会遇到在wamp下没问题但是提交到服务器生产环境会出现一些意想不到的情况,由此萌生了在本机搭建LNMP环境的想法,我个人不知道其他人的虚拟机搭建服务器环境是怎样的,但我被网上不少教程坑了好久,光卡在尝试用secureCRT连接ubuntu就花了两三个小时. 首先你要有个虚拟机已经安装好ubuntu,这个网上教程很多也很简单就越过了. 首先打开终端,输入指令sudo -i,密码,获得root权限,方便接下来办事. 1.apt-get update (更新

如何在虚拟机搭建ftp服务器供宿主机下载文件

本次教程是要实现ftp站点的搭建,首先需确保虚拟机可以和宿主机之间通讯,所以先要设置虚拟机的网络模式为"仅主机模式",如图: 然后我们需要在虚拟机中关闭Windows防火墙,点开"系统和安全",找到"Windows防火墙""打开或关闭Windows防火墙"关闭防火墙,如图: 关闭防火墙后配置虚拟机网络,打开网络适配器,修改虚拟机IP地址,如图: 至此虚拟机配置完毕,下面我们配置宿主机IP,这里以win10为例,如图: 两台机器

给在XenCenter管理的XenServer服务器上创建的虚拟机共享(上传)宿主机的镜像文件

以win10为例,首先将要上传的镜像文件放在一个文件夹里,然后设置文件夹为共享文件夹.此处新建一个用户.步骤为"控制面板"-"用户账户"-"管理其他账户"-"在电脑设置中创建新用户" -"将其他人添加到这台电脑",然后输入用户名和密码.完成创建新的用户. 选择需要共享的文件夹,右键-授予访问权限-特定用户 3.选择要共享的用户,必须要有密码,不能是everyone.选择完了点击共享. 4.打开VMware,

OpenvSwitch实现Docker容器跨宿主机互联

1. OpenvSwitch简介 Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机.在虚拟化平台上,OVS可以为动态变化的端点提供 2 层交换功能,很好的控制虚拟网络中的访问策略.网络隔离.流量监控等等.主要实现代码为可移植的C代码. 它的目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议(例如NetFlow,sFlow,SPAN,RSPAN,CLI,LACP,802.1ag

IT屌丝DIY ESXI虚拟化服务器记实

因为测试的需要每个IT屌丝都会需要一两测试服务器,但是不能够一台机就装一个系统啊,因此组装一台高性能的测试机再做虚拟化是必须的,下面我们就来说一下DIY ESXI虚拟化服务器吧(当然这中间并未考虑服务器安全性问题)! 一.硬件选择 CPU:Xeon E3-1200 v3系列 * 1 颗 (散装) 内存:Kingston DDR3 1600 8G * 4 条 硬盘:Kingston 120GB + 250G SSD 主板:MSI ZH87-G43 选择它们的原因,CPU性能强劲价格比I7合理,内存

赵文成 VMware Workstation nat 借助宿主机上网 (移动虚拟机需要重新添加vmdk文件)

最近有在用VMware Workstation在做linux服务器相关方面的实验,有这样的需求,需要虚拟主机可以借助宿主机上网,但是有一个特殊的需求就是宿主机的ip地址不但固定而且还得允许自定义,于是在网上搜索相关配置但是不尽人意,通过测试终于搞定,下面为记录内容供大家参考配置使用. 一.前提环境要求 VMware Workstation 安装好要用的虚拟机 宿主 机能够上网 二.配置过程 1.首先修改好虚拟机的网卡连接方式改为 nat 2.修改虚拟网卡参数. 打开   编辑 -- 虚拟网络编辑

关于宿主机与虚拟机网络连接的怪现象

假期结束回到学校,本来计划好了一些要做的事情,可是计划赶不上变化,刚打开电脑就被一个上网问题所困住了... 我们学校用的是电信的天翼校园宽带,而且也只有电信这一家,可以说是垄断...至于为什么没有其他的ISP,官方说法是我们这边太偏僻了,没有基站,不好布线等等..其实真实原因吗,咳咳,大家心里都清楚.... 说到这个上网问题,我忍不住又要吐嘈一下...凡是用过电信的天翼校园宽带的都会有同一个感受--太坑...限制使用路由器,也就是说一个帐号只能一个人用,动态密码6小时一换,投诉电话不知打了多少,

记一次服务器宕机处理过程

今天整理之前的运维资料,发现了自己整理的一次刀片服务器(运行的vmware虚拟化)事故处理流程,所有记录下,备忘. 一.事件处理过程 14:10 接到机房运维工程师通知,Opmanager监控系统上出现了多台服务器宕机现象,并且均为虚拟机. 14:12 通知机房运维工程师检查HP刀片服务器是否有告警,远程登录vcenter进行检查.远程查看发现ESX04(10.203.11.64)出现告警,告警信息如下图所示:  14:15 通知工程师ESX04出现告警,然后确认该刀片服务器是否存活,并进入机房

C&amp;C控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。

这篇文章总结了一些我在安全工作里见到过的千奇百怪的C&C控制服务器的设计方法以及对应的侦测方法,在每个C&C控制服务先介绍黑帽部分即针对不同目的的C&C服务器设计方法,再介绍白帽部分即相关侦测办法,大家来感受一下西方的那一套.这里的白帽部分有一部分侦测方法需要一些数据和统计知识,我也顺便从原理上简单讨论了一下用数据进行安全分析的方法,从数学和数据原理上思考为什么这么做,可以当作数据科学在安全领域的一些例子学习一下. 0x00 什么是C&C服务器 C&C服务器(又称C