我可以在没有 apache 的服务器上安装 MRTG 吗?

我可以在没有 apache 的服务器上安装 MRTG 吗?

我需要详细监控一台 MySQL 专用 Linux 服务器,该服务器未运行 Apache,因为它专门用于数据库。是否可以在其上安装多路由器流量图表并从另一台服务器进行监控?

如果没有,请推荐任何其他免费监控工具,像 MRTG 一样好用、简单,这是一个非常好的实用程序,谢谢。

答案1

查看所需的不同流程。

  1. 服务器 A 是数据库服务器您想要详细监控的。您可以获取想要使用 MRTG 显示的此机器的相关统计数据,但您不想在此服务器上运行 MRTG。

  2. 服务器 B 是运行 MRTG(可能是多个实例)的服务器和 Apache。MRTG 将使用 SNMP 和其他协议从各种服务器和网络设备收集统计数据,更新其数据库和每个监控统计数据的显示页面。此服务器通常还会显示与网络结构和配置相关的页面(一些静态内容,一些动态内容)。

  3. 有多个 HTTP 客户端想要查看服务器 B 上的 MRTG 网页。如果只有一个客户端,那么服务器 B 上就不需要 Apache 作为具有适当权限的客户端可以无需网络服务器即可显示 MRTG HTML 文件(例如使用sshfs

因此,如果您有多个客户端,并且不想在服务器 A 上运行 Apache(或其他 Web 服务器)进程,则必须以适当的时间间隔向服务器 B 上的 MRTG 进程提供统计数据。使用 MRTG 时,SNMP 是一种常见的方法,尤其是因为 MRTG 的起源(顾名思义)是监控网络设备,而 SNMP 是事实上的管理机制。服务器并不总是运行 SNMP 进程,并且许多感兴趣的统计数据不会通过 SNMP MIB 公开。因此,

A) 如果您需要的统计数据通过 SNMP MIB 变量公开在服务器 A 上,并且服务器正在运行 SNMP 守护程序,则可以将服务器 B 上的 MRTG 配置为使用 SNMP 获取变量的值。您需要进行常规检查,例如,确保数据可靠,是否需要任何转换(例如,通过 ConversionCode 将字符串转换为整数),以及它是标准数据还是绝对数据(或者,如果使用 RRDTool,则可能是派生数据)。

B)否则使用外部监控脚本(看MRTG 文档)。经典示例是ping在 MRTG 服务器上使用 并绘制结果图表。但是,同样可以在服务器 A 上运行一个进程来收集数据,将其传输到服务器 B(例如使用sftpssh),然后通过外部 MRTG 脚本读取数据(可能经过一些预处理:例如,可以从服务器 A 读取一个信息文件到服务器 B,然后将其拆分为多个文件以供多个外部 MRTG 脚本读取)。其他人编写的脚本可能适合特定目的,或者至少可以让您开始编写或定制一个脚本以满足您的特定要求。

答案2

MRTG 通过创建 HTML 文件来工作 - 具体来说,它不需要任何 Web 服务器。任何 Web 服务器都可以提供 HTML 文件,只要它们被存储或复制到 Web 服务器可以提供的位置即可。

所以,严格来说,是的,您可以在没有 Apache 的情况下安装 MRTG。

答案3

您不需要 Apache 即可安装 MRTG。MRTG 会生成 HTML 页面以进行图形可视化。您可以将这些 html 和 png 文件发送到另一台服务器以可视化内容。

你也可以在另一台服务器上安装 MRTG,并将其配置为通过 SNMP 从你的 DB 服务器获取数据。如果你有更多服务器,也许你需要一个这样的工具仙人掌以时尚的方式组织所有主机和图形。

答案4

MRTG 不需要在 MySQL 服务器上。它执行 SNMP 查询,因此您真正想要做的(如果我没有看错您的问题)是在 MySQL 服务器和 MRTG + Apache/ 上安装 SNMP,然后从那里通过 snmp 查询 MySQL 服务器。

相关内容