通过 HTTP 监控 Apache

介绍

本页展示了一种快速而简单的方法,无需安装任何额外软件即可开始监控 Apache web 服务器。

本指南适用对象

本指南面向新的 Zabbix 用户,包含启用 Apache 安装基本监控所需的最少步骤。如果您正在寻找更深入的自定义选项,或需要更高级的配置,请参阅 Zabbix 手册中的 Configuration 部分。

先决条件

在继续本安装指南之前,您必须根据适用于您的操作系统的说明,下载并安装 Zabbix 服务器和 Zabbix 前端。

准备 Apache

1. 检查您正在使用的 Apache 版本:

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

httpd -v

在 Debian/Ubuntu 上,运行:

apache2 -v

2. 确保您的 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

3. 编辑 Apache 配置文件,以允许来自 Zabbix 服务器 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

将以下行添加到文件中(请将 198.51.100.255 替换为您的 Zabbix 服务器 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>

4. 重启 Apache

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

sudo systemctl restart httpd

在 Debian/Ubuntu 上,运行:

sudo systemctl restart apache2 

5. 要检查是否一切配置正确,请运行(请将 198.51.100.255 替换为您的 Zabbix 服务器 IP 地址):

curl 198.51.100.255/server-status

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

配置 Zabbix 以进行监控

1. 登录 Zabbix 前端。

2. 在 Zabbix web 前端中创建主机

这台主机将代表你的 Apache 服务器。

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

4. 在 Templates 参数中,输入或选择 Apache by HTTP

5. 切换到 Macros 选项卡,并选择 Inherited and host macros 模式。检查宏
{$APACHE.STATUS.PORT} 和 {$APACHE.STATUS.SCHEME} 的值是否符合你的安装设置。
默认情况下,端口为 80,scheme 为 http。如果你使用不同的端口和/或 scheme,请修改宏值。

查看已收集的监控项

恭喜!此时,Zabbix 已经在监控你的 Apache web 服务器了。

要查看已收集的监控项,请打开 Monitoring->Hosts
菜单部分,然后点击主机旁边的 Dashboards

此操作将带你进入主机仪表板,其中包含从 Apache /server-status 页面收集到的最重要监控项。

另外,在 Monitoring->Hosts 中,你也可以点击 Latest data,以列表形式查看所有最新收集的监控项。

设置问题告警

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

1. 转到 User settings -> Profile,切换到 Media 选项卡,并添加您的电子邮件

2. 按照接收问题通知指南进行操作。

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

测试您的配置

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

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

2. 切换到 Macros 选项卡,并选择 Inherited and host macros

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

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

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

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

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

另请参阅:

  • Web 服务器加固 - 用于提高 Web 服务器安全性的推荐设置。
  • 创建监控项 - 如何开始监控更多指标。
  • HTTP 监控项 - 如何使用 HTTP agent 监控自定义指标。
  • 问题升级 - 如何创建多步骤告警场景 (例如,先向系统管理员发送消息,然后,如果问题在 45 分钟内未解决,再向数据中心经理发送消息)。