Ubuntu16.04 Hadoop集群部署ngaios(Node节点部署)
在开始Node节点部署之前,假设读者已经完成了Nagios Server的nagios部署(可看我上一遍Server部署https://blog.csdn.net/ITOMG/article/details/88057109)。本篇文章主要是在从节点Node1上部署NRPE实现Server对从机的Nagios监控。将给Nagios Server添加新的监控对象。每次需要添加新的Node监控对象时,只需操作本章节中的步骤即可。环境:
环境:
Nagios Server IP : 10.18.221.80
Nagios Node1 IP : 10.18.221.81
Nagios Node2 IP : 10.18.221.82
...
1.连接到Node1节点:
ssh [email protected]
2.安装Nagios插件和NRPE:
sudo apt-get install nagios-plugins nagios-nrpe-server
3.配置Allowed Hosts
用vim打开NRPE的配置文件:
sudo vim /etc/nagios/nrpe.cfg
找到allowed_hosts
这一行,将Nagios Server的IP地址加到末尾,那么Node1就允许来自该IP的请求访问本机的NRPE了。
allowed_hosts=127.0.0.1,10.18.221.80
4.配置Allowed NRPE Commands
检查一下根文件系统的名称:
df -h /
我们要让NRPE监控这个名称,以获取磁盘使用率的情况(一般来说这个名称会是/dev/vda
)。用编辑器打开nrpe.cfg文件:
sudo vim /etc/nagios/nrpe.cfg
找到三个配置项改动完成之后看起来应该是这样的格式:
server_address=client_private_IP Node1 IP地址
allowed_hosts=nagios_server_private_IP Server IP地址
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda 使用df -h /查到的文件系统名称(/dev/vda)
此外还有一些其他的配置项,可以按你的需求进行改动。默认状态下NRPE会监听5666端口(server_port=5666
),请确保你的防火墙不会阻挡该端口。配置好了之后,保存退出。
5.重启NRPE
sudo service nagios-nrpe-server restart
6.在Nagios Server上添加Node1配置文件
首先回到Nagios Server,我们在上一篇中创建了一个新的目录用于保存配置文件/usr/local/nagios/etc/servers,因为每一个要监控的服务器都有一个单独的配置文件。所以我们为刚才的Node1创建一个新的配置文件:
sudo vim /usr/local/nagios/etc/servers/Node1.cfg
将如下内容复制粘贴进去。其中的host_name
填写你那台主机的名称,alias
填写该主机的描述,address
填写你那台主机的IP地址:
define host {
use linux-server
host_name Node1
alias Hadoop Node1
address 10.18.221.81 Node1 IP
max_check_attempts 5
check_period 24x7 7x24小时监控
notification_interval 30
notification_period 24x7
}
这样一份配置文件只会让Nagios监控该服务器的在线状态。如果你需要监控特定的服务,还需要继续完善该文件。下面是一些常用的监控功能,可以按需要取用。其中每一项中的check_command
决定了监控的内容,包括了监控项的阈值。
define service {
host_name Node1
service_description PING
check_command check_ping!100.0,20%!500.0,60%
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name Node1
service_description Check Users
check_command check_local_users!20!50
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name Node1
service_description Local Disk
check_command check_local_disk!20%!10%!/
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name Node1
service_description Check SSH
check_command check_ssh
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name Node1
service_description Total Process
check_command check_local_procs!250!400!RSZDT
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
如果你想添加更多的服务,如DHCP,POP等,可以在/usr/local/nagios/etc/objects/commands.cfg文件中找到许多check_command 。
保存退出。重新加载Nagios配置项以使变更生效:
sudo service nagios reload
查看配置是否正确:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
7.重新启动所有服务
在Nagios Server上,启动Apache和Nagios:
service apache2 restart
service nagios restart
在Node1上启动NRPE服务:
service nagios-nrpe-server restart
8.测试Nagios服务
从浏览器打开10.18.221.80/nagios,并查看受监控的Node1。
到此为止,一个可以监控集群的Nagios服务算是初步建成了。但还有各种NRPE的监控命令还需要我们慢慢学习,应用在后续的监控服务中,可以通过:
cd /usr/local/nagios/etc
cat nrpe.cfg |grep -v "^#"|grep -v "^$"
如果发现想要监控的服务没有定义,也可以手动在nrpe.cfg 中添加,也就是自定义NRPE命令。后续会开一篇专门针对如何定义NRPE监控命令的Blog。本篇就到此结束了~