如何在 Ubuntu 16.04 上安装 Nagios如何在 Ubuntu 16.04 上安装 Nagios如何在 Ubuntu 16.04 上安装 Nagios如何在 Ubuntu 16.04 上安装 Nagios
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上安装 Nagios

本教程适用于这些操作系统版本

  • Ubuntu 10.04 (Lucid Lynx)

在此页

  1. 先决条件
    1. 我们将在本教程中做什么:

    1. 第 1 步 - 下载并提取 Nagios 核心
    2. 第 2 步 - 编译 Nagios
    3. 第 3 步 - 安装 Nagios 插件
    4. 第 4 步 - 配置 Nagios

    1. 第 1 步 - 启用 Apache 模块
    2. 第 2 步 - 启用 Nagios 虚拟主机
    3. 第 3 步 - 启动 Apache 和 Nagios

    1. 第 1 步 - 连接到 ubuntu 主机
    2. 第 2 步 - 安装 NRPE 服务
    3. 第 3 步 - 配置 NRPE
    4. 第 4 步 - 重启 NRPE
    5. 第 5 步 - 将 Ubuntu 主机添加到 Nagios Server
    6. 第 6 步 - 重新启动所有服务
    7. 第 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 客户端

      我们将在本教程中做什么:

      1. 软件包依赖项,如 LAMP 等。
      2. 用户和组配置。
      3. 安装 Nagios。
      4. 配置阿帕奇。
      5. 测试 Nagios 服务器。
      6. 将主机添加到监视器。

      安装先决条件

      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 由各种插件支持,您甚至可以创建自己的插件。在这里查看更多信息。

©2015-2025 艾丽卡 support@alaica.com