centos7下部署Nagios并配置监控exsi物理主机
公司使用的exsi搭建虚拟环境,由于exsi版本比较低的缘故,无法通过vSphere软件监控到cpu的温度及其他硬件的情况,故部署Nagios尝试是否能监控到物理机的硬件情况。
由于nagios部署需要安装php环境以及apache(比较费事),为了方便安装和维护,所以选择使用docker进行部署。
1.拉镜像
$ docker pull jasonrivers/nagios:latest
2.部署并运行容器
$ docker run --name nagios4 -p 0.0.0.0:8080:80 jasonrivers/nagios:latest
3.访问网址并登录(用户名: nagiosadmin 密码:nagios):
4.和容器进行交互。
$ docker exec -i -t nagios /bin/bash
5.安装nagios监控exsi主机的插件。
nagios监控esxi主机需要安装check_essi_hardware.py插件,同时exsi主机还需要对nagios开放443端口和5989端口。
$ docker exec -i -t nagios /bin/bash #进入容器内部
$ mkdir software #在容器内新建一个用来存放下载的东西的文件夹,这是本人个人习惯、喜欢把下载下来的东西放在同一个地方。也可以跳过这一步
$ cd software
$ wget http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.py
$
放权限,因为部署在容器内部,为了防止运行出错就放了777权限(网上其他人放的是755)。
$ chmod 777 check_esxi_hardware.py
安装 check_esxi_hardware.py。
$ python ./check_esxi_hardware.py
从上面的报错来看,是python缺少依赖模块pywbem,下面使用pip安装pywbem。
$ pip install pywbem
从上面的报错来看是缺少了参数,这个参数实际上就是连接esxi主机的用户名及密码。
点开vSphere软件界面,从下面可以看到由于esxi主机版本的问题,在“硬件”这一块地方少了健康状况这一监控物理机运行情况的功能,这也是为什么需要安装nagios监控的缘故。
开启ssh。
创建只读用户,如果没有本地用户和组这一选项请直接用root,当然这里是不建议使用root的用户登录的。
将“nagios”用户设置为只读权限。
连接物理机esxi上的ip,不是连接vcenten的ip地址。
python ./check_esxi_hardware.py -H 192.168.16.110 -U root -P 这里写自己的密码 -V dell
如果出现提示UNKNOWN: Authentication Error ,请连接到物理机安装的exsi内核中的/etc/security/access.conf文件,修改内容如下。
修改localhost.cfg文件,添加要监控的主机(暂时不添加监控内容)。
访问nagios,尽管我们还没有添加监控内容,但是通过以下图片可以得出已经把esxi主机添加入nagios系统进行监控了。
我们已经添加了一台exsi主机记录,但是可以看到,我们在nagios网页内并没有看到我们新添加的主机。我们需要把他添加到监控系统中。
参考下:https://www.cnblogs.com/mrwang1101/p/6642239.html