通过HTTP监控Apache 3

介绍

本页面展示了一种快速且简单的方法来开始监控 Apache Web 服务器,而无需安装任何附加软件。

本指南的适用对象

本指南专为新Zabbix用户设计,包含启用对您的Apache安装进行基本监控所需的最少步骤。如果您需要深度定制选项或更高级的配置,请参见Zabbix手册的 Configuration 章节。

前提条件

继续本安装指南之前,您必须根据您操作系统对应的说明安装 download and install Zabbix 服务器和 Zabbix 前端。

准备 Apache

  1. 检查你正在使用的 Apache version:

在基于 RHEL 的系统上,运行:

httpd -v

在 Debian/Ubuntu 上,运行:

apache2 -v
  1. 确保在你的 Apache 实例中启用了 Status module

在基于 RHEL 的系统上,运行:

httpd -M | grep status
       status_module (shared)

在 Debian/Ubuntu 上,运行:

apache2ctl -M | grep status
       status_module (shared)

如果你在列表中没有看到 status_module,请通过运行以下命令启用该模块:

在基于 RHEL 的系统上,运行:

LoadModule status_module /usr/lib/apache2/modules/mod_status.so

在 Debian/Ubuntu 上,运行:

sudo /usr/sbin/a2enmod status
  1. 编辑 Apache 配置 file,以允许从 Zabbix server IP 访问状态报告。

在基于 RHEL 的系统上:/etc/httpd/conf.modules.d/status.conf

sudo vi /etc/httpd/conf.modules.d/status.conf

在 Debian/Ubuntu 上:/etc/apache2/mods-enabled/status.conf

sudo vi /etc/apache2/mods-enabled/status.conf

将以下行添加到 file 中(**将 198.51.100.255 替换为你的 Zabbix server IP 地址):

  • 对于 Apache 2.2:
    <Location /server-status> SetHandler server-status

    Order Deny,Allow Deny from all Allow from 198.51.100.255 </Location>

  • 对于 Apache 2.4:
    <Location "/server-status"> SetHandler server-status Require ip 198.51.100.255 </Location>

  1. 重启 Apache

在基于 RHEL 的系统上,运行:

sudo systemctl restart httpd

在 Debian/Ubuntu 上,运行:

sudo systemctl restart apache2 
  1. 要检查是否一切配置正确,请运行 run(**将 198.51.100.255 替换为你的 Zabbix server IP 地址):

    curl 198.51.100.255/server-status

响应应包含 Apache Web 服务器的统计信息。

为监控配置 Zabbix

1。登录到 Zabbix 前端。

2。Zabbix Web 界面中的 Create a host

此 主机 将代表您的 Apache 服务器。

3。在 接口(Interfaces) 参数中,添加 Agent 接口并指定您的 Apache 实例 IP 地址。 不需要在机器上安装 Zabbix agent,该接口仅用于解析 {HOST.CONN} 宏。 此宏在模板 监控项 中用于定位 Apache 实例。

4。在 模板 参数中,键入或选择 Apache by HTTP

5。切换到选项卡并选择继承和主机宏模式。检查宏的值是否正确 {$APACHE.STATUS.PORT} 和 {$APACHE.STATUS.SCHEME} 符合您的安装设置。 默认情况下,端口为 80,方案为 http。如果您使用不同的端口和/或方案,请更改宏值。

查看收集的指标

恭喜!此时,Zabbix 已经开始监控您的 Apache Web 服务器。

要查看已收集的指标,请打开 监控->主机 menu section,然后点击 主机 旁边的 仪表盘

此操作将带您进入 主机 仪表盘,其中包含从 Apache /server-status 页面收集的最重要指标。

或者,在 监控->主机 页面中,您可以点击 最新数据 来查看所有最新收集的指标列表。

设置问题告警

Zabbix可以通过多种方式通知您基础设施的问题。 本指南提供了发送电子邮件警报的配置步骤。

1. 转到用户设置 -> 个人资料,切换到媒介标签页,然后点击添加用户

2. 请参考Receiving problem notification的指南进行操作。

下次当Zabbix检测到问题时,您应该会通过电子邮件收到警报。

测试配置

要模拟真实问题并接收测试问题警报:

1. 在 Zabbix 中打开 Apache server 主机 配置。

2. 切换到 宏 选项卡并选择 Inherited and 主机宏

3. 点击 {$APACHE.STATUS.PORT} 宏旁边的 Change 并设置不同的端口。

4. 点击 Update 保存 主机 配置。

5. 几分钟后,Zabbix 将检测到问题 Apache service is down,因为现在它无法连接到该实例。 它将出现在 Monitoring->Problems 部分。

如果警报已配置,您还将收到问题通知。

6. 将宏值改回以解决该问题并继续监控 Apache。

参见:

  • Web server hardening - 提高Web服务器安全性的推荐设置。
  • Creating an item - 如何开始监控更多指标。
  • HTTP items - 如何使用HTTP agent监控自定义指标。
  • Problem escalations - 如何create多步骤告警场景 (例如,首先发送消息给系统管理员,然后如果问题在45分钟内未解决,则发送消息给数据中心经理)。