如何在 Ubuntu 和 Debian 中安装 Nagios 服务器

2023-11-17

Nagios 是一个开源监控工具,用于监控主机、服务和网络设备。它提供实时监控、警报和报告功能,帮助您主动识别和解决 IT 环境中的问题。在本文中,我们将向您展示如何在 Ubuntu 和 Debian 上安装 Nagios Server,包括先决条件、安装过程和配置步骤。

Nagios Server是Nagios监控系统的核心组件。它从远程主机、服务和网络设备收集数据,并在 Web 界面中显示信息。 Nagios Server 可以安装在各种操作系统上,包括 Ubuntu 和 Debian。在本文中,我们将重点介绍在 Ubuntu 和 Debian 系统上安装 Nagios Server。

如何使用 Nagios 监控远程 Linux 主机
如何使用 Nagios 监控远程 Windows 主机

先决条件

在安装 Nagios Server 之前,您应该满足以下先决条件:

  • 全新安装 Ubuntu 或 Debian。
  • 具有 sudo 权限的非 root 用户。
  • 连接互联网以下载所需的软件包。

第 1 步:更新系统

在安装任何新软件包之前,始终建议使用最新的安全补丁和错误修复来更新系统。运行以下命令更新系统:

sudo apt update && sudo apt upgrade 

第2步:安装所需的软件包

在安装Nagios之前,您需要安装一些必需的软件包,包括Apache、PHP和GCC。运行以下命令来安装它们:

sudo apt install -y build-essential libgd2-xpm-dev openssl libssl-dev apache2 apache2-utils 

步骤 3:创建 Nagios 用户和组

首先,使用以下命令创建一个nagios用户:

sudo adduser nagios 

然后为 Nagios 设置“nagcmd”创建一个组,并将 nagios 用户添加到该组。另外,在 Apache 组中添加 nagios 用户。

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

第 4 步:下载 Nagios 核心

您可以使用wget命令从官方网站下载Nagios Core。运行以下命令下载最新版本的 Nagios Core:

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.10.tar.gz 

下载包后,使用 tar 命令解压。运行以下命令来解压包:

tar xzf nagios-4.4.10.tar.gz 

第5步:编译并安装Nagios Core

进入解压后的目录,执行以下命令编译安装Nagios Core:

cd nagios-4.4.10 
sudo ./configure --with-command-group=nagcmd --with-httpd-conf=/etc/apache2/sites-enabled 
sudo make all 
sudo make install 
sudo make install-init 
sudo make install-config 
sudo make install-commandmode 

现在为您的 Nagios 服务器创建一个 Apache 配置文件,如下所示:

sudo make install-webconf 

现在将事件处理程序脚本复制到 libexec 目录下。这些二进制文件为您的 Nagios Web 界面提供多个事件触发器。

sudo cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ 
sudo chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers 

第 6 步:配置 Apache Web 服务器

我们需要为用户设置 apache 身份验证纳吉奥萨管理。除非有更具体的原因,请使用此用户名作为“nagiosadmin”,否则您将需要对配置进行更多更改。

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

现在启用 Apache 配置并重新启动 Apache 服务以使新设置生效。

sudo a2enmod cgi rewrite 
sudo systemctl restart apache2  

第7步:安装Nagios插件

安装并配置 Nagios 核心服务后,下载最新的 nagios-plugins 源并使用以下命令进行安装。

wget http://www.nagios-plugins.org/download/nagios-plugins-2.4.3.tar.gz 
tar xzf nagios-plugins-2.4.3.tar.gz 
cd nagios-plugins-2.4.3 

现在编译并安装Nagios插件

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

第8步:启动Nagios服务

使用 Nagios 命令验证 Nagios 安装和配置文件。

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 

成功验证后启动 Nagios 核心服务并启用系统启动时自动启动。

sudo systemctl start nagios 
sudo systemctl enable nagios 

第9步:访问Nagios Web界面

您可以通过打开 Web 浏览器并输入以下 URL 来访问 Nagios Web 界面:

  • http://系统IP或主机名/nagios/
  • 系统将提示您输入用户名和密码。使用您在步骤 6 中创建的凭据 (nagiosadmin/password) 登录。

    Installing Nagios Server on Ubuntu & Debian
    Nagios user authentication

    登录后,您将看到 Nagios 仪表板,其中显示所有正在监控的主机和服务的状态。

    Install Nagios Server on Ubuntu & Debian
    Nagios dashboard

    最后,您已在系统中成功安装并配置了 Nagios 监控服务器核心服务。现在访问网文进行监控Linux主机 and Windows主机使用 Nagios 服务器。

    结论

    在这篇文章中,我们介绍了Nagios Server、它的重要性以及Ubuntu和Debian系统的安装过程。安装 Nagios Server 将允许您监控 IT 环境并确保关键系统和服务正常运行。通过执行本文中概述的步骤,您可以开始使用 Nagios Server 并迈出主动管理 IT 环境的第一步。

    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

    如何在 Ubuntu 和 Debian 中安装 Nagios 服务器 的相关文章

    • 最好的流量/性能/使用情况监控模块?

      是否有任何开源 或者我猜是商业 软件包可以插入您的站点以进行监控 我想要一些可以连接到我们的 ASP NET 站点并用于提供以下内容的报告的东西 随着时间的推移表现 电流负载 页面流量 SQL性能 PU时间监控 最好是用 C 加上一些性感的
    • 使用 nagios GUI 监控 jenkins 作业运行状况

      我在用check http用于发现 jenkins 服务 Winstone 托管和 Apache 托管 是否在主机上运行的插件check mk agent已安装 使用以下命令在单个用户界面 即 nagios GUI 上对其进行监控 chec
    • 有什么方法可以显示文件更改(例如使用 pyinotify)?

      有什么方法可以打印监视的文件修改吗 让我们举个例子 我正在监视 file txt Pyinotify 可以告诉我它已被修改 但它似乎无法输出发生了什么更改 我错了吗 如何查看我正在监视的文件发生了哪些更改 预先非常感谢 抱歉我的英语不好 T
    • 在 Prometheus 中添加两个值

      我们需要在 Prometheus 中添加两个查询的结果 片段如下 probe ssl earliest cert expiry job SSL expiry time lt 86400 738 1000 node time seconds
    • 如何以编程方式检测可用的 ssh 身份验证类型?

      我想编写一个监控插件来检查网络上的各个主机 以确保未启用密码或交互式 SSH 身份验证 也就是说 我需要编写以下代码 连接到 SSH 端口 枚举可用的身份验证方法 验证是否只能进行基于密钥的身份验证 使用 python 或 bourne s
    • 实时监控 PostgreSQL 查询的应用程序?

      我想监视从应用程序发送到我的数据库的查询 为此 我发现pg stat activity 但更常见的是 返回的行读取为 事务中 我要么做错了什么 要么速度不够快 无法看到查询的结果 要么感到困惑 要么是以上所有情况 有人可以推荐最简单的方法来
    • 监视文件更改时打开太多文件

      我正在为 iPad 开发一个基于文档浏览器的应用程序 我一直在使用SKQueue https github com daniel pedersen SKQueue监视文件的更改 以确保当用户在文档浏览器中执行操作时其元数据保持最新 启动监控
    • Spring Boot 管理页面

      我试图了解如何在我的应用程序中使用 SBAP 因为它是一个非常方便的开发工具 我正在读他们的参考指南 http codecentric github io spring boot admin 1 3 2 getting started但我不
    • 为分布式系统构建数据收集和监控的中间件[关闭]

      Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在寻找一个好的中间件来构建监控和维护系统的解决方案 我们面临的挑战是监控 收集数据并维护由多达
    • 如何使用prometheus获取pod的CPU和内存使用百分比

      我想使用 promql Prometheus 以以下格式显示 pod 详细信息 此外 我想使用 promql 以以下格式显示应用程序 组件的 CPU 和内存利用率 promql 查询 sum container memory working
    • 如何在Linux中监控串口数据?

      我正在调试与串行设备的通信 并且需要查看双向流动的所有数据 看起来这在 Linux 上应该很容易 因为串行端口由文件表示 有没有什么方法可以让我做一种 双向三通 我告诉我的程序连接到一个管道 将数据复制到文件中 并将其洗牌到 从实际的串行端
    • 衡量 Java 中单线程复杂算法的最佳宏观基准测试工具/框架是什么? [关闭]

      Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想为我的 Java 代码 一个单线程 本地 复杂的算法 进行一些性能测量 主要是运行时 所以我不想用宏观基准来衡量 JVM 实现 有了这
    • 监控 GKE 上运行的 Cronjob

      我正在尝试监控 GKE 上运行的 CronJob 但我看不到检查 CronJob 是否实际运行的简单方法 如果 CronJob 运行时间没有超过 X 时间 并且 Stackdriver 似乎不支持 我想触发警报 目前 我尝试使用基于日志记录
    • Spring Boot 生产监控

      Spring Boot Actuator公开了已部署容器的大量指标和信息 然而 生产操作人员可能不想在浏览器上盯着纯 JSON 对象 在生产中监控这一点的良好 标准 工具是什么 这包括图表 警报触发器等 spring boot admin
    • 针对特定主机向特定用户发送 Nagios 服务通知

      使用 Nagios 我希望能够在特定主机上的服务出现故障时向用户发送通知 然而 另一台主机上的相同服务应该提醒其他人 例如 HostA 已启动 但 Host 上的 www 服务已关闭 gt 通知 UserS HostB 已启动 并且 Hos
    • 有什么方法可以监控 Airflow DAG 的执行时间吗?

      我想将 Airflow 与 Statsd 和 DataDog 一起使用来监控 DAG 是否需要例如是之前执行的两倍 所以 我需要某种用于 DAG 的实时计时器 或者operator 我知道 Airflow 支持一些指标 https airf
    • 如何在 SQL Server 2016+ 中使用查询存储查找哪个程序或用户执行了查询

      启用查询存储后 如何查找执行查询的人 例如 在跟踪收集的情况下 有 TRC 文件将获取主机名和程序详细信息以供查询 而在扩展事件的情况下 我们有 XEL 文件将获取主机名和程序详细信息 我们尝试了代码 SELECT des program
    • 如何从 Nagios-Report Perl 模块打印 Nagios 服务 UP 时间百分比

      我可以打印出来HostUP 时间百分比从Nagios 报告 Perl 模块 http search cpan org hopcrofts Nagios Report 0 003 与以下代码 usr bin perl use strict u
    • 获取 Prometheus 中两个自定义时间戳之间的增量

      我有一个名为的普罗米修斯指标device number 我想要的是显示现在与一天 一周 一个月等之前的价值差异 这意味着减去具有两个不同时间戳的两个值 环顾四周 我没有找到任何关于如何执行此操作的有用文档 我想做但不起作用的是 sum de
    • 记录 Google Cloud SQL PostgreSQL 实例上的慢速查询

      我工作的公司使用 Google Cloud SQL 来管理生产中的 SQL 数据库 我们遇到了性能问题 我认为查看 监控高于特定阈值 例如 250 毫秒 的所有查询是一个好主意 除其他外 通过查看PostgreSQL 文档 https ww

    随机推荐

    • 针式打印机无电脑测试软件,针式打印机断针测试软件合集

      这是针式打印机断针测试软件合集 是一款适用于24针针式打印机的断针测试软件 针式打印机最大的弊端是有出现断针的可能性 会导致票据缺点少横 很容易出现误差 您可以使用该软件测试您的打印机是否存在断针以及是哪一个针断了 为您解决打印机的故障提供
    • 微信小程序实现左侧滑动导航栏

      微信小程序实现左侧滑动导航栏 1 左侧滑动导航栏图如下 2 这是我们左侧滚动栏的代码 wxml
    • 论文笔记:Deep Learning for Anomaly Detection inTime-Series Data: Review, Analysis,and Guidelines

      2021 的paper 1 时间序列数据异常的定义 离群值 outlier 与其他观察结果偏差过大 以至于怀疑它是由不同机制产生的 时间序列的异常值 某一个 些时间片的数值值 展现出与先前时间步长显着不同的意外行为 根据之前的文献 作者将时
    • 为 crontab 作业设置环境变量

      Crontab 是 Unix 和类 Unix 操作系统中的一个功能强大的实用程序 用于安排命令在固定时间 日期或间隔定期运行 这个强大的工具与环境变量相结合 可以为自动化和管理任务提供更强大的解决方案 但是什么是环境变量 如何在 Cront
    • MB、Mb 和 MiB(数字单位)之间的区别

      在当今的数字世界中 理解和区分各种数字单元的需求变得越来越重要 MB Mb 和 MiB 等单位经常用于表示文件大小 存储容量和数据传输速率 然而 围绕这些术语的混淆常常会导致误解和错误 本文旨在提供全面的指南 帮助您理解这些数字单位 它们的
    • 如何在 CentOS/RHEL 7/6 上使用 PHP/FastCGI 设置 Apache

      FastCGI功能与 CGI 的工作非常相似 FastCGI 与 CGI 相比 在一些地方存在差异 例如 FastCGI 进程是持久的 并且每个进程可以处理多个请求 FastCGI 允许通过在单个全双工连接上复用环境信息 标准输入 输出和错
    • 使用 PHP/JQuery 提交表单而不刷新页面

      在广阔的 Web 开发领域中 创建用户友好的体验至关重要 增强用户体验 UX 的一种方法是简化表单提交流程 传统的表单提交需要刷新页面来处理数据 这对于用户来说可能是令人沮丧且耗时的 使用 PHP 和 jQuery 可以克服这个问题并无需刷
    • 如何清除 Docker 容器的日志文件

      本教程将帮助您清除 Docker 容器上的日志文件 如果您的系统磁盘空间不足 并且您发现 docker 容器的日志文件占用了大量磁盘空间 您可以在本教程的帮助下找到日志文件位置并清除它们 清除 docker 容器的日志文件时 不需要停止它
    • 如何使用 DNF 将 Fedora 25 升级到 Fedora 26

      软呢帽26Fedora 的最新版本发布于2017 年 7 月 11 日 Fedora 工作站用户可能需要升级工作站才能使用最新版本 本教程将帮助您将 Fedora 25 升级到 Fedora 26 工作站使用命令行实用程序 DNF 这是升级
    • 如何通过示例将 Nginx 配置为负载均衡器

      Nginx 是一种流行的开源 Web 服务器软件 也可以用作负载均衡器 负载平衡是一种在多个服务器之间分配传入流量的技术 以提高性能 提高可用性并避免任何单个服务器过载 在本文中 我们将通过示例讨论如何将 Nginx 配置为负载均衡器 要将
    • 在 Bash 中计算除法和余数

      Bash 是一种功能强大的命令行界面和脚本语言 提供广泛的数学运算 包括除法和余数 除法和余数是各种编程和数学应用中使用的基本运算 本文将讨论如何在 Bash 中执行除法和求余运算及其用法 在 Bash 中计算除法 除法是一种数学运算 涉及
    • 如何在 Ubuntu 20.04 中使用 PHP 安装 ionCube

      ionCube 加载器是用于在服务器上加载 ionCube 编码文件的库 需要安装在网络服务器上才能在运行之前解码任何 ionCube 编码文件 ionCube 提供了加密 PHP 脚本的功能 以确保它们的安全 它还可以确保它们免受未经授权
    • 如何在 CentOS/RHEL 7/6 和 Fedora 27/26 上安装 NGINX Web 服务器

      NGINX Engine X is an powerful web server Its getting popular very fast due to its fast speed NGINX is also used as a rev
    • 如何在 CentOS、RHEL 和 Fedora 上安装 XCache for PHP

      XCache是一个快速 稳定的 PHP 操作码缓存器 这个相对较新的操作码缓存软件是由 mOo 开发的 XCache 优化性能 将 PHP 脚本的编译状态缓存到 RAM 中 并直接使用 RAM 中的编译版本 这可能会使 php 执行速度比默
    • 如何在 Ubuntu 和 Debian 中创建仅 SFTP 用户

      SFTP SSH 文件传输协议 是一种安全文件协议 用于通过加密的 SSH 传输会话访问 管理和传输文件 这里的SFTP only user是指创建一个仅通过SFTP访问服务器的帐户 该用户没有 SSH shell 访问权限 这允许您通过安
    • 如何在 Ubuntu 和 Debian 上安装 Zsh (Z Shell)

      Zsh 或 Z Shell 是一个强大而灵活的命令行 shell 适用于类 Unix 操作系统 包括 Linux 和 macOS 与默认的 bash shell 相比 它提供了许多功能和改进 包括改进的命令完成 拼写更正和可自定义的提示 在
    • Ubuntu 上 Android SDK/ADT 捆绑包的完整设置指南

      The 安卓软件开发工具包是一个软件开发工具包 提供构建 Android 应用程序所需的 API 库和必要的开发工具 Android SDK是由android开发者官方提供的 本文将帮助您快速配置 ADT Android 开发工具 捆绑包
    • 如何在 Ubuntu 和 Debian 上安装 Ajenti 控制面板

      Ajenti 是一个基于 Web 的控制面板 用于管理系统 如 Webmin cPanel 它有一个非常漂亮且用户友好的界面 对于个人使用 Ajenti 可根据 AGPLv3 免费使用 对于商业用途 您必须定期支付少量费用 本文将帮助您在
    • Swapfile 与 Swap 分区之间的详细比较

      在计算中 尤其是在基于 Linux 的系统中 交换空间在系统的内存管理中起着至关重要的作用 当系统耗尽 RAM 时 它可以使用交换空间作为溢出 将内存 页面 中较少使用或不活动的部分临时存储到硬盘驱动器上 这有助于防止由于内存耗尽而导致系统
    • 如何在 Ubuntu 和 Debian 中安装 Nagios 服务器

      Nagios 是一个开源监控工具 用于监控主机 服务和网络设备 它提供实时监控 警报和报告功能 帮助您主动识别和解决 IT 环境中的问题 在本文中 我们将向您展示如何在 Ubuntu 和 Debian 上安装 Nagios Server 包