当前位置: 首页 > article >正文

如何在 Ubuntu 22.04 上安装 Nagios 服务器教程

简介

在本教程中,我们将解释如何在 Ubuntu 22.04 上安装和配置 Nagios,使用 Apache 作为 Web 服务器,并通过 Let’s Encrypt Certbot 使用 SSL 证书进行保护。

Nagios 是一个强大的监控系统,它可以帮助组织在 IT 基础设施问题影响关键业务流程之前识别并解决它们。本教程将指导你完成在 Ubuntu 服务器上安装和配置 Nagios 的步骤。

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

  • 到此为止,我们的云服务器就远程连接上了。

安装和配置步骤

第一步:更新系统软件包

在安装任何软件之前,重要的是将系统软件包更新到最新版本。

sudo apt update
sudo apt upgrade -y

第二步:安装所需依赖

Nagios 需要安装几个软件包。使用以下命令安装这些依赖项:

sudo apt install -y autoconf gcc make libgd-dev libmcrypt-dev libssl-dev apache2 php libapache2-mod-php7.4 build-essential unzip

第三步:创建 Nagios 用户和组

为 Nagios 创建一个用户和组,以便在其中运行:

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

第四步:下载并安装 Nagios Core

从 官方网站 下载 Nagios Core 的最新稳定版本。在撰写本文时,最新版本是 4.5.3

cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.5.3.tar.gz
tar -zxvf nagios-4.5.3.tar.gz
cd nagios-4.5.3

编译并安装 Nagios:

sudo ./configure --with-command-group=nagcmd
sudo make all
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
sudo make install-webconf

安装 Nagios 插件

Nagios 使用插件来监控服务。下载并安装 最新的 Nagios 插件:

cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.4.10.tar.gz
tar -zxvf nagios-plugins-2.4.10.tar.gz
cd nagios-plugins-2.4.10

编译并安装插件:

sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios
sudo make
sudo make install

第五步:配置 Nagios Web 界面

通过为访问 Web UI 创建管理员用户来设置 Nagios Web 界面:

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

启动 Nagios 服务并使其在启动时启动:

sudo systemctl start nagios
sudo systemctl enable nagios

第六步:配置防火墙

我们需要在防火墙中添加 HTTP 和 HTTPS 端口。

ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

第七步:配置 Apache Web 服务器

为你的域名配置 Apache。

修改你域名的现有虚拟主机文件:

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

注意:yourdomain.com 替换为你的域名,并将 admin@yourdomain.com 替换为你的电子邮件 ID。添加以下配置:

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yourdomain.com
    DocumentRoot /usr/local/nagios/share

    ErrorLog ${APACHE_LOG_DIR}/nagios_error.log
    CustomLog ${APACHE_LOG_DIR}/nagios_access.log combined

     <-- 所有现有内容都放在这里 -->

</VirtualHost>

启用站点和所需的 Apache 模块:

a2enmod cgi
sudo a2ensite nagios.conf
sudo a2enmod cgi rewrite
sudo systemctl restart apache2

第八步:使用 Let’s Encrypt 安装和配置 SSL

安装 Certbot:

sudo apt install certbot python3-certbot-apache -y

获取并安装 SSL 证书:

sudo certbot --apache -d yourdomain.com

按照提示完成 SSL 安装。Certbot 将自动配置 Apache 以使用新的 SSL 证书。

第九步:访问 Nagios Web 界面

打开你的 Web 浏览器并导航到 Nagios Web 界面:

http://<domain-name>/

使用用户名 nagiosadmin 和你之前设置的密码登录。

第十步:验证 Nagios 配置

要确保 Nagios 正常工作,你可以检查其配置:

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Output:

Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2024-06-11
License: GPL

Website: https://www.nagios.org
Reading configuration data...
    Read main config file okay...
    Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
    Checked 8 services.
    Checked 1 hosts.
    Checked 1 host groups.
    Checked 0 service groups.
    Checked 1 contacts.
    Checked 1 contact groups.
    Checked 24 commands.
    Checked 5 time periods.
    Checked 0 host escalations.
    Checked 0 service escalations.
Checking for circular paths...
    Checked 1 hosts
    Checked 0 service dependencies
    Checked 0 host dependencies
    Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:  0

Things look okay - No serious problems were detected during the pre-flight check

添加监控服务

你可以通过编辑 /usr/local/nagios/etc/objects/ 中的配置文件来添加要监控的主机和服务。以下是如何添加新主机的示例:

打开 hosts.cfg 文件:

sudo nano /usr/local/nagios/etc/objects/hosts.cfg

添加新的主机定义:

define host {
    use                  linux-server
    host_name            example-host
    alias                Example Host
    address              192.168.1.100
    max_check_attempts    5
    check_period          24x7
    notification_interval 30
    notification_period   24x7
}

保存并关闭文件。

定义新服务

服务是你想要监控的主机的各个方面(例如,HTTP、PING)。

打开 services.cfg 文件:

sudo nano /usr/local/nagios/etc/objects/services.cfg

添加服务定义:

define host {
    use                     linux-server
    host_name               example-host
    alias                   Example Host
    address                 192.168.1.100
    max_check_attempts      5
    check_period            24x7
    notification_interval   30
    notification_period     24x7

保存并关闭文件。

重启 Nagios 以应用更改:

sudo systemctl restart nagios

结尾

你已经成功地看到了如何在 Ubuntu 22.04 服务器上安装和配置 Nagios。你现在可以开始添加主机和服务来有效地监控你的网络和系统基础设施。有关更详细的配置和自定义,请参阅官方 Nagios 文档。

雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site


http://www.kler.cn/a/470893.html

相关文章:

  • 汽车信息安全 -- S32K1如何更新BOOT_MAC
  • 基于MATLAB的汽车热管理模型构建
  • 【银河麒麟高级服务器操作系统实例】tcp半链接数溢出分析及处理全过程
  • 批量写入数据到数据库,卡顿怎么解决
  • 202-01-06 Unity 使用 Tip1 —— UnityHub 模块卸载重装
  • 嵌入式linux中socket控制与实现
  • Flutter:打包apk,安卓版本更新(二)
  • 使用Python构建远程医疗平台:从零开始的实现指南
  • 【错误记录】HarmonyOS 编译报错 ( DevEco Studio 开发环境 与 API 版本 与 HarmonyOS 版本 的配套关系 )
  • 君正T41交叉编译ffmpeg、opencv并做h264软解,利用君正SDK做h264硬件编码
  • Angular由一个bug说起之十三:Cross Origin
  • C++二十三种设计模式之外观模式
  • Nginx不使用域名如何配置证书
  • 谷歌浏览器的高级开发者工具使用指南
  • Ubuntu下安装Android Sdk
  • HarmonyOS NEXT 应用开发练习:AI智能语音播报
  • 云开发 Copilot:AI 赋能的低代码革命
  • leetcode(hot100)8、9
  • java设计模式 单例模式
  • 【python】json库处理JSON数据
  • 论文复现6:
  • 微服务框架,Http异步编程中,如何保证数据的最终一致性
  • Linux高并发服务器开发 第九天(gdb调试器/基础指令 栈帧)
  • latex学习记录
  • 网络安全漏洞防护技术原理与应用
  • 【RK3588 Linux 5.x 内核编程】-Misc设备驱动