如何在 Ubuntu 16.04 上安装 Nagios
本教程适用于这些操作系统版本
- Ubuntu 10.04 (Lucid Lynx)
在此页
- 先决条件
- 我们将在本教程中做什么:
- 第 1 步 - 下载并提取 Nagios 核心
- 第 2 步 - 编译 Nagios
- 第 3 步 - 安装 Nagios 插件
- 第 4 步 - 配置 Nagios
- 第 1 步 - 启用 Apache 模块
- 第 2 步 - 启用 Nagios 虚拟主机
- 第 3 步 - 启动 Apache 和 Nagios
- 第 1 步 - 连接到 ubuntu 主机
- 第 2 步 - 安装 NRPE 服务
- 第 3 步 - 配置 NRPE
- 第 4 步 - 重启 NRPE
- 第 5 步 - 将 Ubuntu 主机添加到 Nagios Server
- 第 6 步 - 重新启动所有服务
- 第 7 步 - 测试 Ubuntu 主机
Nagios 是一个用于系统和网络监控的开源软件。 Nagios 可以监视主机及其服务的活动,并在服务器上发生错误时提供警告/警报。 Nagios 可以在 Linux 操作系统上运行。此时,我使用的是 Ubuntu 16.04 进行安装。
先决条件
- 2 Ubuntu 16.04 - 64 位服务器
- 1 - Nagios 主机 IP:192.168.1.9
- 2 - IP 为 192.168.1.10 的 Ubuntu 客户端
我们将在本教程中做什么:
- 软件包依赖项,如 LAMP 等。
- 用户和组配置。
- 安装 Nagios。
- 配置阿帕奇。
- 测试 Nagios 服务器。
- 将主机添加到监视器。
安装先决条件
Nagios 需要用于编译的 gcc 编译器和 build-essentials,用于 Nagios Web 界面的 LAMP(Apache、PHP、MySQL)和用于从服务器发送警报的 Sendmail。要安装所有这些包,请运行此命令(只有 1 行):
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
用户和组配置
要运行 Nagios,您必须为 Nagios 创建一个新用户。我们将用户命名为 \nagios\ 并另外创建一个名为 \nagcmd\ 的组。我们将新用户添加到组中,如下所示:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data安装 Nagios
第 1 步 - 下载并解压缩 Nagios 核心
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第 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并将 evenhandler 目录复制到 nagios 目录:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers第 3 步 - 安装 Nagios 插件
下载并解压缩 Nagios 插件:
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第 4 步 - 配置 Nagios
安装阶段完成后,可以在/usr/local/nagios/中找到Nagios的默认配置。
我们将配置 Nagios 和 Nagios 联系。
使用 vim 编辑默认的 nagios 配置:
vim /usr/local/nagios/etc/nagios.cfg
取消注释主机监视器配置的第 51 行。
cfg_dir=/usr/local/nagios/etc/servers
保存并退出。
添加一个名为服务器的新文件夹:
mkdir -p /usr/local/nagios/etc/servers
Nagios 联系人可以在 contact.cfg 文件中配置。要打开它,请使用:
vim /usr/local/nagios/etc/objects/contacts.cfg
然后用您自己的电子邮件替换默认电子邮件。
配置阿帕奇
第 1 步 - 启用 Apache 模块
sudo a2enmod rewrite
sudo a2enmod cgi您可以使用 htpasswd 命令为 nagios 网络界面配置用户 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
service apache2 restart
service 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
service apache2 restart
servuce nagios start测试 Nagios 服务器
请打开您的浏览器并访问 Nagios 服务器 ip,在我的例子中:http://192.168.1.9/nagios。
使用 apache htpasswd 登录 Nagios。
Nagios 管理仪表板
添加主机监控
在本教程中,我将添加一个 Ubuntu 主机来监控我们上面制作的 Nagios 服务器。
Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10第 1 步 - 连接到 ubuntu 主机
ssh
第 2 步 - 安装 NRPE 服务
sudo apt-get install nagios-nrpe-server nagios-plugins
第 3 步 - 配置 NRPE
安装完成后,编辑nrpe文件/etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg
...并将 Nagios 服务器 IP 192.168.1.9 添加到 server_address。
server_address=192.168.1.9
第 4 步 - 重启 NRPE
service nagios-nrpe-server restart
第 5 步 - 将 Ubuntu 主机添加到 Nagios 服务器
请连接到 Nagios 服务器:
ssh
然后在 /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.10 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 } define service { host_name ubuntu_host service_description Total Process check_command check_local_procs!250!400!RSZDT 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 服务:
service nagios-nrpe-server restart
...在 Nagios 服务器上,启动 Apache 和 Nagios:
service apache2 restart
service nagios restart第 7 步 - 测试 Ubuntu 主机
从浏览器打开Nagios服务器,可以看到被监控的ubuntu_host。
Ubuntu 主机在受监控的主机上可用。
所有服务监控无误。
结论
Nagios 是一个用于监控系统的开源应用程序。 Nagios 因其易于配置而被广泛使用。 Nagios 由各种插件支持,您甚至可以创建自己的插件。在这里查看更多信息。