如何安装Nagios的4和显示器在Ubuntu 14.04服务器

介绍

在本教程中,我们将讨论在Ubuntu 14.04上安装Nagios 4,这是一个非常流行的开源监控系统。 我们将介绍一些基本配置,因此您将能够通过Web界面监控主机资源。 我们还将利用Nagios远程插件执行器(NRPE),它将作为代理安装在远程主机上,以监视其本地资源。

Nagios对于保持服务器的清单以及确保关键服务已启动并正常运行非常有用。 使用监控系统(如Nagios)是任何生产服务器环境的必备工具。

先决条件

要遵循本教程,您必须在将运行Nagios的Ubuntu 14.04服务器上具有超级用户权限。 理想情况下,您将使用具有超级用户权限的非root用户。 如果您需要帮助它的设定,按照第1步至3本教程: 初始服务器设置与Ubuntu 14.04

还需要一个LAMP。 按照本教程,如果你需要设置了: 如何安装Linux,Apache,MySQL和在Ubuntu 14.04 PHP(LAMP)

本教程假定您的服务器已启用专用网络。 如果没有,只需用公共IP地址替换所有对私有IP地址的引用。

现在我们已经完成了先决条件,让我们继续安装Nagios 4。

安装Nagios 4

本节将介绍如何在监视服务器上安装Nagios 4。 您只需完成此部分一次。

创建Nagios用户和组

我们必须创建一个将运行Nagios进程的用户和组。 创建“nagios”用户和“nagcmd”组,然后使用以下命令将用户添加到组:

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

安装构建依赖关系

因为我们正在从源代码构建Nagios Core,我们必须安装一些开发库,这将允许我们完成构建。 虽然我们在这,我们也将安装apache2-utils ,将被用于建立Nagios的Web界面。

首先,更新apt-get软件包列表:

sudo apt-get update

然后安装所需的软件包:

sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip

让我们现在安装Nagios。

安装Nagios Core

下载最新稳定版本的Nagios Core的源代码。 进入Nagios的下载页面 ,点击跳过下载表格下面的链接。 复制最新稳定版本的链接地址,以便您可以将其下载到Nagios服务器。

在撰写本文时,最新的稳定版本是Nagios 4.1.1。 使用curl将其下载到您的主目录:

cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

使用此命令提取Nagios归档文件:

tar xvf nagios-*.tar.gz

然后切换到提取的目录:

cd nagios-*

在构建Nagios之前,我们必须配置它。 如果你想将其配置为使用Stapling(你可以用apt-get安装),加上--with-mail=/usr/sbin/sendmail下列命令:

./configure --with-nagios-group=nagios --with-command-group=nagcmd 

现在使用此命令编译Nagios:

make all

现在我们可以运行这些make命令来安装Nagios,init脚本和示例配置文件:

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

为了通过Web界面给Nagios发出外部命令,我们必须添加Web服务器用户, www-data ,到nagcmd组:

sudo usermod -G nagcmd www-data

安装Nagios插件

在这里找到的Nagios插件的最新版本: Nagios的插件下载 复制最新版本的链接地址,并复制链接地址,以便您可以将其下载到Nagios服务器。

在撰写本文时,最新版本是Nagios Plugins 2.1.1。 使用curl将其下载到您的主目录:

cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

使用此命令提取Nagios插件归档文件:

tar xvf nagios-plugins-*.tar.gz

然后切换到提取的目录:

cd nagios-plugins-*

在构建Nagios插件之前,我们必须对其进行配置。 使用此命令:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

现在使用此命令编译Nagios插件:

make

然后使用此命令安装:

sudo make install

安装NRPE

查找在NRPE的最新的稳定版本的源代码NRPE下载页面 将最新版本下载到Nagios服务器。

在写这篇文章的时候,最新的版本是2.15。 使用curl将其下载到您的主目录:

cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

使用此命令提取NRPE归档:

tar xvf nrpe-*.tar.gz

然后切换到提取的目录:

cd nrpe-*

使用以下命令配置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启动脚本:

sudo vi /etc/xinetd.d/nrpe

修改only_from加入Nagios服务器的私有IP地址到结束(替代你的服务器的实际IP地址)行:

only_from = 127.0.0.1 10.132.224.168

保存并退出。 只有Nagios服务器将被允许与NRPE通信。

重新启动xinetd服务以启动NRPE:

sudo service xinetd restart

现在Nagios 4已经安装,我们需要配置它。

配置Nagios

现在让我们执行初始Nagios配置。 您只需在Nagios服务器上执行一次此部分。

组织Nagios配置

在您喜欢的文本编辑器中打开主要的Nagios配置文件。 我们将使用vi编辑文件:

sudo vi /usr/local/nagios/etc/nagios.cfg

现在,通过删除找到一个取消注释这一行#

#cfg_dir=/usr/local/nagios/etc/servers

保存并退出。

现在创建将存储您将监视的每个服务器的配置文件的目录:

sudo mkdir /usr/local/nagios/etc/servers

配置Nagios联系人

在您喜欢的文本编辑器中打开Nagios联系人配置。 我们将使用vi编辑文件:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

查找电子邮件指令,并将其值(突出显示的部分)替换为您自己的电子邮件地址:

email                           nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

保存并退出。

配置check_nrpe命令

让我们在Nagios配置中添加一个新命令:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

将以下内容添加到文件末尾:

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

保存并退出。 这使您可以使用check_nrpe在Nagios的服务定义命令。

配置Apache

启用Apache重写和cgi模块:

sudo a2enmod rewrite
sudo a2enmod cgi

使用htpasswd创建一个名为“nagiosadmin”的管理员用户,可以访问Nagios Web界面:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

在提示符处输入密码。 记住此密码,因为您将需要它来访问Nagios Web界面。

注:如果您创建一个未命名“nagiosadmin”的用户,您将需要编辑/usr/local/nagios/etc/cgi.cfg和更改所有的“nagiosadmin”给你创建的用户参考。

现在创建的符号链接nagios.confsites-enabled目录:

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Nagios已准备好启动。 让我们这样做,并重新启动Apache:

sudo service nagios start
sudo service apache2 restart

要在服务器引导时启用Nagios,请运行以下命令:

sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

可选:通过IP地址限制访问

如果要限制可以访问Nagios Web界面的IP地址,则需要编辑Apache配置文件:

sudo vi /etc/apache2/sites-available/nagios.conf

查找并通过添加注释下面两行#在他们面前的符号:

Order allow,deny
Allow from all

然后,取消以下行,通过删除#符号,并添加要允许在该IP地址或范围(空格分隔) Allow from行:

#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1

由于这些行将在配置文件中出现两次,因此您将需要再次执行这些步骤。

保存并退出。

现在重新启动Apache,使更改生效:

sudo service nagios restart
sudo service apache2 restart

Nagios现在正在运行,所以让我们尝试并登录。

访问Nagios Web界面

打开您喜爱的网络浏览器,并转到您的Nagios服务器(替换突出显示部分的IP地址或主机名):

http://nagios_server_public_ip/nagios

因为我们将Apache配置为使用htpasswd,所以必须输入先前创建的登录凭据。 我们使用“nagiosadmin”作为用户名:

htaccess验证提示

验证后,您将看到默认的Nagios主页。 点击主机链接,在左侧导航栏中,看到它承载Nagios是监测:

Nagios主机页面

如您所见,Nagios仅监视“localhost”或本身。

让我们用Nagios监控另一个主机!

使用NRPE监视主机

在本节中,我们将向您介绍如何向Nagios添加新主机,以便对其进行监控。 对每个要监视的服务器重复此部分。

在要监视的服务器上,更新apt-get:

sudo apt-get update

现在安装Nagios插件和NRPE:

sudo apt-get install nagios-plugins nagios-nrpe-server

配置允许的主机

现在,让我们更新NRPE配置文件。 在您喜欢的编辑器中打开它(我们使用vi):

sudo vi /etc/nagios/nrpe.cfg

找到allowed_hosts指令,并添加Nagios服务器的私有IP地址的逗号分隔的列表(替换到位高亮显示的例子):

allowed_hosts=127.0.0.1,10.132.224.168

保存并退出。 这会将NRPE配置为通过其专用IP地址接受来自Nagios服务器的请求。

配置允许的NRPE命令

查找根文件系统的名称(因为它是我们要监视的项目之一):

df -h /

我们将在NRPE配置中使用的文件系统的名称来监控您的磁盘使用情况(很可能是/dev/vda )。 现在打开nrpe.cfg进行编辑:

sudo vi /etc/nagios/nrpe.cfg

NRPE配置文件很长,并且有很多注释。 有几行,你需要找到和修改:

  • 服务器地址 :设定到这个主机的私有IP地址
  • allowed_hosts:设置为Nagios服务器的私有IP地址
  • 命令[check_hda1]:更改/dev/hda1到任何你的根文件系统被称为

上面三行应该看起来像这样(替换适当的值):

server_address=client_private_IP
allowed_hosts=nagios_server_private_IP
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda

请注意,在此文件中定义了几个其他“命令”,如果Nagios服务器配置为使用它们将运行。 还要注意的是NRPE将在端口5666,因为监听server_port=5666设置。 如果您有任何防火墙阻止该端口,请确保将其打开到您的Nagios服务器。

保存并退出。

重新启动NRPE

重新启动NRPE以使更改生效:

sudo service nagios-nrpe-server restart

在您要监视的主机上完成安装和配置NRPE之后,您必须将这些主机添加到Nagios服务器配置中,然后才能开始监视它们。

将主机添加到Nagios配置

在Nagios服务器,为每个要监视在远程主机上创建一个新的配置文件/usr/local/nagios/etc/servers/ 将突出显示的单词“yourhost”替换为主机名称:

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg

添加在下面的主机定义,取代了host_name与(在本例中的“Web-1”)远程主机名,值alias值与主机的描述,以及address与远程主机的私有IP地址值:

define host {
        use                             linux-server
        host_name                       yourhost
        alias                           My first Apache server
        address                         10.132.234.52
        max_check_attempts              5
        check_period                    24x7
        notification_interval           30
        notification_period             24x7
}

使用上面的配置文件,Nagios将只监视主机是启动还是停止。 如果这足够了,保存并退出,然后重新启动Nagios。 如果要监视特定服务,请继续。

为要监视的服务添加任何这些服务块。 请注意,check_command的值确定要监视的内容,包括状态阈值。 以下是一些可添加到主机配置文件的示例:

平:

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

SSH(notifications_enabled设置为0将禁用服务的通知):

define service {
        use                             generic-service
        host_name                       yourhost
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
}

如果你不知道什么use generic-service手段,它只是继承所谓的“通用服务”的服务模板由默认定义的值。

现在保存并退出。 重新加载Nagios配置以使任何更改生效:

sudo service nagios reload

配置Nagios以监控所有远程主机后,应设置。 一定要访问您的Nagios的网络界面,并检查了服务页面看到所有的监视主机和服务:

Nagios服务页面

结论

现在您监控主机及其某些服务,您可能需要花一些时间来确定哪些服务对您至关重要,因此您可以开始监控这些服务。 您还可能需要设置通知,例如,当您的磁盘利用率达到警告或临界阈值或主网站关闭时,您会收到电子邮件,以便您可以及时解决问题或在问题发生之前解决。

祝你好运!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏