如何使用 Nagios 服务器监控远程主机。
首先,为了能够监控远程主机服务器,我们需要通过(可选)SSL 保护的连接来 NRPE 守护程序,该连接将由在 nagios 服务器上执行的 check_nrpe 联系以运行适当的 Nagios 插件。
1. 安装 NRPE Daemon 和 Nagios 插件
NRPE 在 Ubuntu 系统的默认 apt 存储库下可用。
执行以下命令进行安装
# apt install nagios-nrpe-server nagios-plugins
2.配置NRPE守护进程
允许我们的 Nagios 服务器在我们的远程主机中执行检查插件:
首先,我们需要编辑 /etc/nagios/nrpe.cfg 文件并将监控服务器的 IP 地址添加到 allowed_hosts 指令中,并将 dont_blame_nrpe 值从 0 修改为 1 以允许命令参数。
# vi /etc/nagios/nrpe.cfg
allowed_hosts=127.0.0.1, 192.168.1.17 # add your nagios_ip_address dont_blame_nrpe=1
其次,我们需要将以下条目 nrpe 5666/tcp # NRPE for the NRPE daemon 添加到 /etc/services 文件中。
# vi /etc/services nrpe 5666/tcp # NRPE
最后,我们需要重新启动我们的 NRPE 守护进程,打开防火墙规则并进行一些检查以验证一切是否正常。
# firewall-cmd --permanent --add-port=5666/tcp # firewall-cmd --reload
# systemctl restart nagios-nrpe-server
# netstat -at | grep nrpe tcp 0 0 *:nrpe *:* LISTEN tcp6 0 0 [::]:nrpe [::]:* LISTEN
3.在NRPE中添加检查命令
默认情况下,在文件 /etc/nagios/nrpe.cfg 中安装 NRPE 守护程序后,它将创建一些命令,如下所示。
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1 command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
在这里我将添加更多命令
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10 command[check_sda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1 command[check_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200 -s RSZDT command[check_disk_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p / command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20% -c 10%
每次我们对配置文件进行任何更改时,我们都需要重新启动 nrpe 服务。
# systemctl restart nagios-nrpe-server
4.添加远程主机到监控Nagios服务器
让我们转到我们的监控 nagios 服务器。
i.) 创建命令定义
首先,为了能够使用 check_nrpe 插件,我们需要在 commands.cfg 文件中创建一个命令定义。
# vi /usr/local/nagios/etc/commands.cfg
并将以下定义添加到文件中:
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$-c $ARG1$ }
ii.) 组织 Nagios 配置
- 打开nagios文件配置:
# sudo vi /usr/local/nagios/etc/nagios.cfg
- 取消注释这一行
cfg_dir=/usr/local/nagios/etc/servers
- 创建服务器目录,我们将其中存储我们将监控的每个服务器的配置文件
# sudo mkdir /usr/local/nagios/etc/servers # chown -R nagios.nagios /usr/local/nagios
iii.) 配置 Nagios 联系人
# sudo vi /usr/local/nagios/etc/objects/contacts.cfg email jack@onitroad ; # CHANGE THIS TO YOUR EMAIL ADDRESS
iiii.) 创建主机和服务定义
- 在/usr/local/nagios/servers/目录下新建一个远程主机文件配置,并添加要监控的主机定义和服务定义。
# vi /usr/local/nagios/etc/servers/node01.cfg
## HOST DEFINITION############################################################################### define host{ use linux-server host_name node01 #PUT HERE YOUR HOSTNAME REMOTE SERVER alias node01 #PUT HERE THE ALIAS OF YOUR REMOTE SERVER address 192.168.1.55 #PUT HERE THE IP ADDRESS OF YOUR REMOTE SERVER max_check_attempts 5 check_period 24x7 notification_interval 30 notification_period 24x7 }############################################################################### ## HOST SERVICES DEFINITION############################################################################### define service{ use generic-service host_name node01 service_description PING check_command check_ping!100.0,20%!500.0,60% } define service { use generic-service host_name node01 service_description SSH check_command check_ssh notifications_enabled 0 } # for free disk SDA1 define service{ use generic-service host_name node01 service_description SDA1 Disk check_command check_nrpe!check_sda1 } # for free Root Partition define service{ use generic-service host_name node01 service_description Root Partition check_command check_nrpe!check_disk_root } # for current users define service{ use generic-service host_name node01 service_description Current Users check_command check_nrpe!check_users } # for total processes define service{ use generic-service host_name node01 service_description Total Processes check_command check_nrpe!check_procs } # for current load define service{ use generic-service host_name node01 service_description Current Load check_command check_nrpe!check_load }
- 使用此命令验证 nagios 配置文件
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- 重启nagios
# systemctl restart nagios
- 最后打开nagios web界面查看远程主机是否添加正确。
日期:2020-06-02 22:18:59 来源:oir作者:oir