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
cd /usr/local/nagios/libexec
wget http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.py
这个链接下载可能会失败,网上有,可自行搜索下载。
chown nagios.nagios check_esxi_hardware.py
chmod check_esxi_hardware.py
[root@nagios libexec]# ./check_esxi_hardware.py
Traceback (most recent call last):
File "./check_esxi_hardware.py", line , in <module>
import pywbem
ImportError: No module named pywbem
[root@nagios libexec]# ./check_esxi_hardware.py -h
Traceback (most recent call last):
File "./check_esxi_hardware.py", line , in <module>
import pywbem
ImportError: No module named pywbem
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..tar.gz
cd pywbem-0.7.
python setup.py build
python setup.py install --record files.txt
yum install pywbem -y
[root@cscc libexec]# ./check_esxi_hardware.py
Traceback (most recent call last):
File "./check_esxi_hardware.py", line , in <module>
import pkg_resources
ImportError: No module named pkg_resources
[root@cscc libexec]#
[root@cscc libexec]# yum install python-setuptools -y
使用yum基本上不会涉及下面的问题。
注意:(1).不要使用pywbem-0.8.0版本,这个版本有bug导致我们的插件无法使用
(2).python setup.py install --record files.txt 记录安装目录的目的就是为了方便卸载插件,cat files.txt | xargs rm -rf
3.正常使用插件
[root@nagios 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
其中-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就添加完毕。
[root@nagios-server- 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 , in <module>
wbemclient = pywbem.WBEMConnection(hosturl, (user,password), no_verification=True)
TypeError: __init__() got an unexpected keyword argument 'no_verification'

[root@nagios-server- libexec]# ./check_esxi_hardware.py -H 192.168.0.100 -U nagios -P qwe123,./,./ -V dell
UNKNOWN: Authentication Error
~ # 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
[root@nagios 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
6.下面将将其加入到监控系统中吧。
(1)先在commands.cfg中添加命令。
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
}
(2)添加服务
define service{
==>根据自己公司配置,定义监控服务项;
}
(3)监控效果图
其中href中的链接就是我们在check_esxi_hardware.py中-I参数生成,方便我们直接查找解决方案。
nagios监控安装esxi的服务器(宿主机)的更多相关文章
- SecureCRT连接VirtualBox下的ubuntu以及NMP的搭建与通过宿主机访问该NGINX服务器过程
一直使用wamp作为开发环境,只是工作中时常会遇到在wamp下没问题但是提交到服务器生产环境会出现一些意想不到的情况,由此萌生了在本机搭建LNMP环境的想法,我个人不知道其他人的虚拟机搭建服务器环境是 ...
- 设置ESXi宿主机开机自动启动虚拟机
转载于 https://blog.csdn.net/Form_/article/details/71170813 在百度上面找了一圈都是讲ESXi6.0之前的版本,在VMware vSphere Cl ...
- [日常工作]vCenter下虚拟机设置与宿主机时间同步的方法
1. ESXi 能够实现CPU超售 同事开启多与CPU个数的虚拟机 不通的虚拟机采用了时间分片的处理, 所以有时候虚拟机内的时间可能会比宿主机的时间过的更慢, 越来越久之后虚拟机的时间就会比较离谱了. ...
- 云平台 为什么推荐使用小VM 而不是大VM独占宿主机的方式部署游戏服?
近期公司X游戏项目,提了一个游戏VM资源的需求,是 64GB RAM + 30Core CPU 的VM规格,而一个VM部署10个游戏服.而我们云平台推荐的VM规格为 4 Core CPU + 4GB ...
- 【docker】centOS7上部署的mysql和spring boot服务,要求,mysql的时间、java程序服务的时间和宿主机的时间完全保持一致【修改mysql时区,临时和永久】【修改spring boot配置文件时区】【修改docker启动spring boot实例程序时区】
要求:centOS7上部署的mysql和spring boot服务,要求,mysql的时间.java程序服务的时间和宿主机的时间完全保持一致: ============================ ...
- CentOS6.5(4)----宿主机无法访问虚拟机中的web服务解决方案
宿主机无法访问虚拟机中的web服务 在Windows7宿主机中的VMware虚拟机中安装了CentOS6.5操作系统,并且基于Nginx搭建了Web服务器,网页刚刚搭建好的时候,通过宿主机的浏览器可以 ...
- C&C控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。
这篇文章总结了一些我在安全工作里见到过的千奇百怪的C&C控制服务器的设计方法以及对应的侦测方法,在每个C&C控制服务先介绍黑帽部分即针对不同目的的C&C服务器设计方法,再介绍白 ...
- 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接
如何配置 VirtualBox 中的客户机与宿主机之间的网络连接 作者: Aaron Kili 译者: LCTT rusking | 2017-03-01 13:40 评论: 3 收藏: 3 当你 ...
- (为容器分配独立IP方法二)通过虚拟IP实现docker宿主机增加对外IP接口
虚拟IP.何为虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配 ...
随机推荐
- goldengate简单配置
goldendate配置单项同步 源数据库 extract抽取进程 trail文件 复制进程 目标进程 由于最开始配置goldengate的时候,没有弄清除原理,导致出错了都不知道怎么解决. 最 ...
- RunLoop 之初探
你好2019!一起努力呀! 1.什么是runloop runloop是通过内部维护的事件循环对事件/消息进行管理的一个对象. 事件循环(Event loop):通俗的解释:没有消息处理的时候,休眠以避 ...
- node多图或者单图上传
<form id="form" enctype="multipart/form-data"> <input type="text&q ...
- 给Extjs的window弹窗的关闭事件添加验证
问题:我想在window点击右上角叉关闭时添加一些验证,来确定是否关闭? 实现: 首先想到的是拦截window的关闭事件,在它关闭前添加验证,但是有一个问题是,如何阻止它的关闭和组织关闭后,如何让它再 ...
- MongoDB模糊查询 工具
{"Exception":{$regex:"定时发送邮件"}} //模糊查询条件 {"DateTime":-1} // ...
- CSS 清楚浮动总结
1.clear属性. 注:设置子元素(伪元素或DIV等其它元素) 2.触发BFC. 注:根元素HTML float不为none overflow不为visibile display为inline-bl ...
- Js错误: obj.parents is not a function
代码: (1) <div class="ViewMore" id="viewmore${i}" onclick="CLICK(thi ...
- Linux系统查找清理磁盘大文件
本文主要介绍Linux系统磁盘使用空间不足时,如何查找大文件并进行清理的方法. 使用df-h检查一台服务器磁盘使用空间,发现磁盘已经使用了100%,其中/dev/mapper/vg_iavp-lv_r ...
- 《PHP基础全面总结》系列分享专栏
<PHP基础全面总结>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201777.html 文章 PHP基础之运算符的使用方法 P ...
- 阻止Quartus优化掉信号
使用SignalTap II Logic Analyzer观察信号,有时要观察的信号会被Quartus优化掉,这种情况下可以给信号指定属性.以下例子均使用Verilog. 1. 如果是组合逻辑信号,可 ...