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

news2025/1/7 21:01:11

简介

在本教程中,我们将解释如何在 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.coloradmin.cn/o/2272840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大语言模型训练所需的最低显存,联邦大语言模型训练的传输优化技术

联邦大语言模型训练的传输优化技术 目录 联邦大语言模型训练的传输优化技术大语言模型训练所需的最低显存大语言模型训练所需的最低显存 基于模型微调、压缩和分布式并行处理的方法,介绍了相关开源模型及技术应用 核心创新点 多维度优化策略:综合运用基于模型微调、模型压缩和…

Javascript算法——贪心算法(一)

贪心算法详解&#xff08;JavaScript&#xff09;&#xff08;局部最优->全局最优&#xff09; 贪心算法&#xff08;Greedy Algorithm&#xff09;是一种在每一步选择中都采取当前状态下的最优选择&#xff08;局部最优&#xff09;的算法设计方法。通过局部最优解的累积&…

141.《mac m系列芯片安装mongodb详细教程》

文章目录 下载从官网下载安装包 下载后双击解压出文件夹安装文件名修改为 mongodb配置data存放位置和日志log的存放位置启动方式一方式二方式二:输入mongo报错以及解决办法 本人电脑 m2 pro,属于 arm 架构 下载 官网地址: mongodb官网 怎么查看自己电脑应该下载哪个版本,输入…

【ArcGISPro/GeoScenePro】裁剪和打包栅格数据

检查并处理扫描地图 数据 https://arcgis.com/sharing/rest/content/items/535efce0e3a04c8790ed7cc7ea96d02d/data 使用标准相机或扫描仪创建的数字影像通常存储在 RGB 颜色模型中,这意味着这些影像将由红色、绿色和蓝色三个栅格组成。 此扫描地图在提供给您之前已在坐标系…

【C++】B2109 统计数字字符个数

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述与输入输出要求题目&#xff1a;统计数字字符个数样例输入输出 &#x1f4af;方法分析与代码实现方法 1&#xff1a;使用 fgets 读取输入并手动判断数字字符代码实…

基于32单片机的智能语音家居

一、主要功能介绍 以STM32F103C8T6单片机为控制核心&#xff0c;设计一款智能远程家电控制系统&#xff0c;该系统能实现如下功能&#xff1a; 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关&#xff1b; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…

git理解记录

文章目录 1. 背景2. 基本概念3. 日常工作流程4. 其他常见操作4.1 merge合并操作4.2 tag打标签操作4.3 remoute远程操作4.4 撤销修改 git理解记录 1. 背景 git作为分布式版本控制系统&#xff0c;开源且免费&#xff0c;相比svn集中式版本控制系统存在速度快(HEAD指针指向某次co…

开启宝塔Nginx防火墙支付返回失败解决方法

1.把/plugin.php加到Nginx防火墙URL白名单 包括支付服务器回调ip 2.如果支持带参数 /plugin.php?idzhifufm:notify 加到Nginx防火墙标准模式-URL白名单带参数 如果上面都不行 就把下面的IP加入白名单 39.107.193.172 47.94.194.103 47.104.216.190

平安产险安徽分公司携手安徽中医药临床研究中心附属医院 共筑儿童安全防护网

为响应金融知识普及教育号召&#xff0c;平安产险安徽分公司联动安徽中医药临床研究中心附属医院&#xff0c;于近日在朝霞小学举办了一场儿童安全防范与健康守护活动。此次活动旨在提升学生的安全防范意识&#xff0c;守护儿童健康成长&#xff0c;同时有力推动金融知识与传统…

Elasticsearch:Lucene 2024 年回顾

作者&#xff1a;来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中&#xff0c;我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色&#xff0c;发布了许多版本&#xff0c;包括三年来的首次重大更新&#xff0c;其中包含令人兴奋…

Unity打包问题集(持续更新)

1.报错&#xff1a;CommandWithNoStdoutInvokationFailure: Unable to start ADB server. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details. 大致意思就是打不开ADB的服务器&#xff0c;请检查安卓…

SpringBoot环境和Maven配置

SpringBoot环境和Maven配置 1. 环境准备2. Maven2.1 什么是Maven2.2 为什么要学 Maven2.3 创建一个 Maven项目2.4 Maven核心功能2.4.1 项目构建2.4.2 依赖管理2.4.3 Maven Help插件 2.5 Maven 仓库2.5.1本地仓库2.5.2 中央仓库2.5.3 私有服务器, 也称为私服 2.6 Maven设置国内源…

【HarmonyOS应用开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】

目录 &#x1f60b;环境配置&#xff1a;华为HarmonyOS开发者 &#x1f4fa;演示效果&#xff1a; &#x1f4d6;实验步骤及方法&#xff1a; 一、在media文件夹中添加想要使用的图片素材​ 二、在entry/src/main/ets/page目录下创建Welcome.ets文件 1. 整体结构与组件声…

【数据可视化-11】全国大学数据可视化分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

NLP项目实战——基于Bert模型的多情感评论分类(附数据集和源码)

在当今数字化的时代&#xff0c;分析用户评论中的情感倾向对于了解产品、服务的口碑等方面有着重要意义。而基于强大的预训练语言模型如 Bert 来进行评论情感分析&#xff0c;能够取得较好的效果。 在本次项目中&#xff0c;我们将展示如何利用 Python 语言结合transformers库&…

各种数据库类型介绍

1.关系型数据库&#xff08;Relational Databases, RDBMS&#xff09; 关系型数据库是基于关系模型组织的数据库&#xff0c;其数据结构以表格的形式存在&#xff0c;表格之间通过外键等关系相互关联。它们支持复杂的SQL&#xff08;Structured Query Language&#xff09;查询…

创龙3588——debian根文件系统制作

文章目录 build.sh debian 执行流程build.sh源码流程 30-rootfs.sh源码流程 mk-rootfs-bullseys.sh源码流程 mk-sysroot.sh源码流程 mk-image.sh源码流程 post-build.sh 大致流程系统制作步骤 build.sh debian 执行流程 build.sh 源码 run_hooks() {DIR"$1"shiftf…

倾斜摄影相机在不动产确权登记和权籍调查中的应用

一、项目背景 1.1 项目背景 为贯彻落实中央、国务院关于实施乡村振兴战略、关于“扎实推进房地一体的农村集体建设用地和宅基地使用权确权登记颁证&#xff0c;完善农民闲置宅基地和闲置农房政策&#xff0c;探索宅基地所有权、资格权、使用权‘三权分置’”的要求&#xff0…

在K8S上部署OceanBase的最佳实践

在K8S上部署OceanBase的最佳实践 目录 1. 背景与选型 1.1 为什么选择OB1.2 为什么选择ob-operator实现OB on K8S 2. 部署实操 2.1 环境准备2.2 安装 ob-operator2.3 配置 OB 集群2.4 配置 OBProxy 集群2.5 Headless Service 和 CoreDNS 配置2.6 监控与运维 2.6.1 Promethues部…

【设计模式-1】软件设计模式概述

1. 软件设计模式的产生背景 “设计模式”这个术语最初并不是出现在软件设计中&#xff0c;而是被用于建筑领域的设计中。 1977 年&#xff0c;美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大&#xff08;Christopher Alexander&#xff09;在…