Ubuntu16.04 Hadoop集群部署Nagios(Server部署)
环境:
Nagios Server IP : 10.18.221.80
Nagios Node1 IP : 10.18.221.81
Nagios Node2 IP : 10.18.221.82
...
一、Nagios Server
1.首先我们要在Server上配置LAMP用来显示nagios管理界面,具体配置操作看我另一篇Bolg。https://blog.csdn.net/ITOMG/article/details/88055987
2.Nagios需要用于编译的gcc编译器和build-essentials,用于Nagios Web界面的LAMP(Linux,Apache,MySQL,PHP)和Sendmail从服务器发送警报。 要安装所有这些软件包,请运行:
sudo apt-get update
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
注意:如果想让nagios有warning自动发邮件给你,必须在配置时选择Sendmail
3.用户和组配置
对于Nagios运行,您必须为Nagios创建一个新用户。 我们将命名用户“nagios” ,并另外创建一个名为“nagcmd”的组。 我们将新用户添加到组中,如下所示:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data
4.下载Nagios
从Nagios官方下载页面获取最新版Nagios Core的源代码下载地址
cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0
5.编译Nagios
在构建Nagios之前,您必须先使用用户和之前创建的组来配置它。注意:如果你需要使用sendmail,则还需要在上述命令后面加一个--with-mail=/usr/sbin/sendmail(如果忘记配置,需要卸载Nagios重新配置)
./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-mail=/usr/sbin/sendmail
6.安装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
sudo usermod -G nagcmd www-data
7.安装Nagios插件
最新的Nagios插件可以从Nagios Plugins Download页面获取。将下载地址复制下来。
cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/
使用以下命令安装Nagios插件:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install
8.配置Nagios
安装阶段完成后,您可以在/ usr / local / nagios /中找到Nagios的默认配置。
我们将配置Nagios和Nagios联系人。
使用vim编辑默认的nagios配置:
vim /usr/local/nagios/etc/nagios.cfg
找到第51行,取消注释#cfg_dir=/usr/local/nagios/etc/servers
保存退出。之后创建一个新的目录用于保存配置文件,每一个要监控的服务器都有一个单独的配置文件:
sudo mkdir /usr/local/nagios/etc/servers
打开Nagios通讯录配置文件:
sudo vim /usr/local/nagios/etc/objects/contacts.cfg
找到 email [email protected] ;这一行,改成自己的邮箱地址。保存退出。
9.安装NRPE
在这个页面获取NRPE最新稳定版的下载地址。下载安装并配置:
cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
tar xvf nrpe-*.tar.gz
cd nrpe-*
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
构建并安装NRPE以及其xinetd启动脚本:
make all
sudo make install
sudo make install-xinetd
sudo make install-daemon-config
打开xinetd启动脚本,将only_from
这一行的内容修改,添加Nagios Server 的IP地址:
sudo vim /etc/xinetd.d/nrpe
only_from = 127.0.0.1 10.18.221.80
sudo service xinetd restart
保存退出,重启xinetd服务以启动NRPE。现在只有Nagios服务器能够与NRPE通讯。
10.配置check_nrpe命令(可监控其他节点,安装于server上)
接下来我们要在Nagios配置里添加一个新的命令。打开Nagios的命令配置文件:
sudo vim /usr/local/nagios/etc/objects/commands.cfg
将如下内容粘贴到文件末尾:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
保存退出。现在server可以使用check_nrpe
命令了。
11.配置Apache
启用Apache的rewrite和cgi模块:
sudo a2enmod rewrite
sudo a2enmod cgi
使用htpasswd创建一个名为“nagiosadmin”的管理员用户,该用户可以访问Nagios的Web界面:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
为该用户设置一个密码。这个密码将用于以后Nagios Web界面的登陆。
你也可以使用别的用户名,那样的话你需要在/usr/local/nagios/etc/cgi.cfg
文件中将“nagiosadmin”修改成你需要的名字。
启用Nagios虚拟主机:
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
重启Apache和Nagios:
service apache2 restart
service nagios start
因为没有init脚本,在执行上面命令时可能得到的错误如下
解决方法,创建 nagios init脚本:
sudo cp /etc/init.d/skeleton /etc/init.d/nagios
sudo 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
添加执行权限后重启:
chmod +x /etc/init.d/nagios
service apache2 restart
service nagios start
12.测试Nagios Server Web界面
在浏览器中打开Nagios Server的IP地址:http://10.18.221.80/nagios
输入用户名和密码,验证通过后,就可以看到默认的Nagios主页。点击左侧导航条的Hosts,可以查看Nagios正在监控的主机列表:
可以看到现在还只有一个localhost,也就是它自己。我们可以通过给节点Node安装Nagios插件和NRPE来添加新的监控对象。因篇幅过长,Node节点部署放到下一篇Blog中https://blog.csdn.net/ITOMG/article/details/88060855。