温馨提示×

怎样监控ubuntu apache2

小樊
39
2026-09-26 10:35:24
栏目: 智能运维

在 Ubuntu 上监控 Apache2 通常可以从 服务状态、访问/错误日志、性能与资源、运行状态接口 几个层面来做。下面按“由浅入深”的方式说明。


一、最基础:检查 Apache 是否运行

1. systemd 状态

systemctl status apache2

常见状态:

  • active (running) ✅ 正常
  • inactive (dead) ❌ 未运行
  • failed ❌ 启动失败

启动 / 重启 / 停止:

sudo systemctl start apache2
sudo systemctl restart apache2
sudo systemctl stop apache2

设置开机自启:

sudo systemctl enable apache2

二、查看 Apache 日志(最重要)

1. 访问日志

tail -f /var/log/apache2/access.log

2. 错误日志(排查问题必看)

tail -f /var/log/apache2/error.log

常用分析命令

# 查看访问最多的 IP
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head

# 查看 500 错误
grep " 500 " /var/log/apache2/access.log

三、监控 Apache 进程与资源

1. 查看 Apache 进程

ps aux | grep apache2

2. 实时资源占用

top
# 或
htop

3. 查看监听端口

sudo netstat -tulnp | grep apache
# 或
sudo ss -tulnp | grep apache

四、使用 Apache 自带状态页(推荐)

1. 启用 status 模块

sudo a2enmod status
sudo systemctl restart apache2

2. 配置 status 页面

编辑:

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

示例(允许本地访问):

<Location "/server-status">
    SetHandler server-status
    Require local
</Location>

如需远程访问(谨慎):

Require ip 1.2.3.4

3. 访问状态页

http://服务器IP/server-status

可看到:

  • 当前连接数
  • 每个子进程状态
  • 请求统计

五、进阶:自动化监控方案

方案 1:Prometheus + Node Exporter + Apache Exporter

适合服务器集群、生产环境。

  • node_exporter:系统指标
  • apache_exporter:Apache 指标
  • Prometheus + Grafana 可视化

方案 2:Zabbix

  • 自带 Apache 模板
  • 可监控:
    • 服务状态
    • 请求数
    • 响应时间

方案 3:简单脚本 + 告警

例如检测 Apache 是否运行:

#!/bin/bash
systemctl is-active --quiet apache2 || echo "Apache down" | mail -s "Alert" admin@mail.com

六、常见监控指标建议

指标 说明
请求数 / 秒 负载
错误率 (4xx/5xx) 服务质量
连接数 是否接近上限
内存占用 是否泄漏
响应时间 用户体验

如果你愿意,可以告诉我:

  • 是 个人服务器 / 生产环境
  • 是否使用 Docker
  • 想要 命令行 / 图形界面 / 自动化告警

我可以给你更精确的监控方案。

0 踩