如何在Ubuntu 15.04(Vivid Vervet)上安装Nagios 4.0.8
Nagios是用于系统和网络监控的开源软件。 Nagios可以看到主机及其服务的活动,并在服务器发生不好的情况时提供警告/警报。 Nagios可以在Linux操作系统上运行。 目前我们正在使用Ubuntu 15.04进行安装。
先决条件
- Ubuntu 15.04 - 64bit
- Root / Sudo访问
我们将在本教程中做什么:
- 需要安装包 - LAMP等
- 用户和组配置
- 安装Nagios
- 配置Apache
- 测试Nagios服务器
- 添加主机监控
安装包
Nagios需要编译gcc / build-essential,用于Nagios Web Base的LAMP(Apache,PHP,MySQL)和Sendmail从服务器发送警报。 要安装所有这些软件包和一些其他软件包:
apt-get install apache2 libapache2-mod-php5 build-essential libgd2-xpm-dev libssl-dev sendmail-bin sendmail heirloom-mailx wget apache2-utils curl daemon apt-file libnet-snmp-perl libpq5 libsensors4 libsnmp-base libtalloc2 libtdb1 libwbclient0 samba-common samba-common-bin smbclient snmp whois mrtg libcgi-pm-perl librrds-perl libgd-gd2-perl libmysqlclient-dev libperl5.20 libmysqlclient18 libradiusclient-ng2
用户和组配置
对于Nagios运行,您必须为Nagios创建一个新用户。 我们将命名用户“nagios” ,并另外创建一个名为“nagcmd”的组。 现在我们将新用户添加到组中,如下所示:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
安装Nagios
第1步 - 下载并提取
cd ~
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.0.8/
第2步 - 编译Nagios
在构建Nagios之前,您需要使用之前创建的用户和组进行配置。
./configure --with-nagios-group=nagios --with-command-group=nagcmd
有关更多信息,请使用: ./configure --help
。
现在安装Nagios:
make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf
/etc/apache2/sites-available/nagios.conf
第3步 - 安装Nagios插件
下载并解压缩nagios插件:
cd ~
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin*/
请按以下方式进行:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make && make install
第4步 - 配置Nagios
安装阶段完成后,您可以在/ usr / local / nagios /
中找到Nagios的默认配置。
现在配置nagios与您的电子邮件联系
。
vim /usr/local/nagios/etc/nagios.cfg
取消注释行cfg_dir = / usr / local / nagios / etc / servers
并添加一个名为servers
的新文件夹:
mkdir -p /usr/local/nagios/etc/servers
可以在contact.cfg
文件中配置Nagios联系人。 打开它使用:
vim /usr/local/nagios/etc/objects/contacts.cfg
然后用您自己的电子邮件替换默认电子邮件。
配置Apache
第1步 - 启用Apache模块
sudo a2enmod rewrite
sudo a2enmod cgi
您可以使用htpasswd
为nagios Web界面配置用户nagiosadmin
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
并输入密码。
第2步 - 启用Nagios虚拟主机
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
第3步 - 启动Apache和Nagios
/etc/init.d/apache2 restart
/etc/init.d/nagios start
当Nagios启动时,您可能会看到以下错误:
Starting nagios (via systemctl): nagios.serviceFailed
这就是如何解决它:
cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios
现在编辑Nagios文件:
vim /etc/init.d/nagios
...并添加以下代码:
DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock
使其可执行并启动Nagios:
chmod +x /etc/init.d/nagios
/etc/init.d/apache2 restart
/etc/init.d/nagios start
测试Nagios服务器
请打开您的浏览器并访问已安装的Nagios服务器ip。 http://192.168.1.101/nagios
。
添加主机监控
在本教程中,您将添加一个Ubuntu主机来监视我们上面提到的Nagios服务器。
Nagios Server IP : 192.168.1.101
Ubuntu Host IP : 192.168.1.102
第1步 - 连接到ubuntu主机
ssh root@192.168.1.102
第2步 - 安装NRPE服务
sudo apt-get install nagios-nrpe-server nagios-plugins
第3步 - 配置NRPE
安装完成后,编辑ntpe文件/etc/nagios/nrpe.cfg
:
vim /etc/nagios/nrpe.cfg
...并将Nagios Server IP 192.168.1.101
添加到server_address
。
第4步 - 重新启动NRPE
/etc/init.d/nagios-nrpe-server restart
第5步 - 将Ubuntu主机添加到Nagios服务器
请连接到Nagios服务器:
ssh root@192.168.1.101
然后为/ usr / local / nagios / etc / servers /
中的主机配置创建一个新文件。
vim /usr/local/nagios/etc/servers/ubuntu_host.cfg
添加以下行:
# Ubuntu Host configuration file define host { use linux-server host_name ubuntu_host alias Ubuntu Host address 192.168.1.102 #Ubuntu host IP register 1 } define service { host_name ubuntu_host 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 ubuntu_host 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 ubuntu_host 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 ubuntu_host 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 }
您可以在/usr/local/nagios/etc/objects/commands.cfg
文件中找到许多check_command
。 如果您想添加更多的服务,如DHCP,POP等,请参阅
现在检查配置:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
...查看配置是否正确。
第6步 - 重新启动所有服务
在Ubuntu主机上启动NRPE服务:
/etc/init.d/nagios-nrpe-server restart
...在Nagios服务器上,启动Apache和Nagios:
/etc/init.d/apache2 restart
/etc/init.d/nagios restart
第7步 - 测试Ubuntu主机
从浏览器打开Nagios服务器,并查看受监控的ubuntu_host。
结论
Nagios是用于监视系统的开源应用程序。 Nagios由于易于配置而被广泛使用。 Nagios在各种插件的支持下,甚至可以创建自己的插件。 看这里了解更多信息。