如何在CentOS6上安装Nagios

来自菜鸟教程
跳转至:导航、​搜索

状态: 已弃用

本文介绍了不再受支持的 CentOS 版本。 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。

原因: CentOS 6 已于 2020 年 11 月 30 日结束生命周期 (EOL) and no longer receives security patches or updates. For this reason, this guide is no longer maintained.

请参阅:
本指南可能仍可用作参考,但可能不适用于其他 CentOS 版本。 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本编写的指南。

以下 DigitalOcean 教程可能会立即引起人们的兴趣,因为它概述了在 CentOS 7 服务器上安装 Nagios:




第 1 步 - 在监控服务器上安装软件包

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install nagios nagios-plugins-all nagios-plugins-nrpe nrpe php httpd
chkconfig httpd on && chkconfig nagios on
service httpd start && service nagios start

我们还应该在这个 droplet 上启用 SWAP 内存,至少 2GB:

dd if=/dev/zero of=/swap bs=1024 count=2097152
mkswap /swap && chown root. /swap && chmod 0600 /swap && swapon /swap
echo /swap swap swap defaults 0 0 >> /etc/fstab
echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

第 2 步 - 设置密码保护

设置 Nagios 管理面板密码:

htpasswd -c /etc/nagios/passwd nagiosadmin

确保将此用户名保留为“nagiosadmin” - 否则您将不得不更改 /etc/nagios/cgi.cfg 并重新定义授权管理员。

现在您可以导航到您的 droplet' 的 IP 地址 http://IP/nagios 并登录。

系统将提示您输入在步骤 2 中设置的密码:

这是 Nagios 管理面板的样子:

由于这是全新安装,我们目前没有任何主机被监控。

现在我们应该添加将由 Nagios 监控的主机。 例如,我们将使用 cloudmail.tk (198.211.107.218) 和 emailocean.tk (198.211.112.99)。

从公共端口,我们可以监控 ping,任何开放的端口,如网络服务器、电子邮件服务器等。

对于在 localhost 上侦听的内部服务,例如 MySQL、memcached、系统服务,我们将需要使用 NRPE。

第 4 步 - 在客户端上安装 NRPE

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install nagios nagios-plugins-all nrpe
chkconfig nrpe on

下一步是指定监控服务器可以通过 NRPE 发送到这些客户端主机的任何手动命令。

确保将 allowed_hosts 更改为您自己的值。

编辑/etc/nagios/nrpe.cfg

log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=198.211.117.251
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nrpe.d/
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda
command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

笔记:

在上面的 check_disk 中,被检查的分区是 /dev/vda - 通过运行 df -h / 确保您的 droplet 具有相同的分区您还可以修改何时触发警告或严重警报 - 以上配置设置警告剩余 20% free 磁盘空间,并在剩余 10% free 空间时发出严重警报。

我们还应该设置防火墙规则以允许从我们的监控服务器连接到这些客户端并删除其他所有人:

iptables -N NRPE
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE
iptables -I NRPE -s 198.211.117.251 -j ACCEPT
iptables -A NRPE -s 0/0 -j DROP
/etc/init.d/iptables save

现在您可以在所有客户端主机上启动 NRPE:

service nrpe start

第 5 步 - 在监控服务器上添加服务器配置

回到我们的监控服务器,我们将不得不为我们的每个客户端服务器创建配置文件:

echo "cfg_dir=/etc/nagios/servers" >> /etc/nagios/nagios.cfg
cd /etc/nagios/servers
touch cloudmail.tk.cfg
touch emailocean.tk.cfg

编辑每个客户端的配置文件并定义您想要监控的服务。

nano /etc/nagios/servers/cloudmail.tk.cfg

添加以下行:

define host {
        use                     linux-server
        host_name               cloudmail.tk
        alias                   cloudmail.tk
        address                 198.211.107.218
        }

define service {
        use                             generic-service
        host_name                       cloudmail.tk
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }

define service {
        use                             generic-service
        host_name                       cloudmail.tk
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }

define service {
        use                             generic-service
        host_name                       cloudmail.tk
        service_description             Current Load
        check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }

您可以根据需要添加更多要监控的服务。 应该为第二个客户端 emailocean.tk 添加相同的配置,使用不同的 IP 地址和主机名:

这是 /etc/nagios/servers/emailocean.tk.cfg 的片段:

define host {
        use                     linux-server
        host_name               emailocean.tk
        alias                   emailocean.tk
        address                 198.211.112.99
        }

...

您可以将要监视的其他客户端添加为 /etc/nagios/servers/AnotherHostName.cfg

最后,在添加完所有客户端配置后,您应该正确设置文件夹权限并在监控服务器上重新启动 Nagios:

chown -R nagios. /etc/nagios
service nagios restart

第 6 步 - 在 Nagios 中监控主机

导航到监控服务器的 IP 地址 http://IP/nagios 并输入在步骤 2 中设置的密码。

现在您应该能够看到所有主机和服务:

你们都完成了!

布拉特·哈米托夫