centos

centos apache2监控工具

小樊
32
2025-11-11 23:51:46
栏目: 智能运维

1. Apache mod_status(内置模块)
mod_status是Apache自带的核心监控模块,无需额外安装,可提供服务器实时运行状态(如请求数、字节传输量、工作线程状态、CPU/内存占用等)。启用步骤:编辑Apache配置文件(/etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf),添加或修改以下内容:

<IfModule mod_status.c>
    ExtendedStatus On
    <Location /server-status>
        SetHandler server-status
        Require local  # 限制访问IP(如需远程访问可改为允许的域名/IP)
    </Location>
</IfModule>

重启Apache服务(sudo systemctl restart httpd)后,通过浏览器访问http://your_server_ip/server-status即可查看状态页面。

2. Categraf(轻量级开源工具)
Categraf是专为监控系统和应用设计的轻量级工具,支持Apache2指标收集与可视化。安装方式:sudo yum install -y categraf。配置Apache监控:编辑conf/input.apache/apache.toml文件,设置监控URI和主机信息:

[[instances]]
scrape_uri = "http://localhost/server-status/?auto"  # Apache status接口
host_override = ""  # 主机名覆盖(可选)
insecure = false    # 是否跳过SSL验证(可选)

测试配置有效性(./categraf --test --inputs apache)后,重启Categraf服务(sudo systemctl restart categraf)即可实时采集Apache性能数据。

3. Glances(实时系统监控工具)
Glances是一款跨平台的实时监控工具,可展示Apache2的CPU、内存、磁盘I/O、网络流量等综合指标,同时支持Web界面和API输出。安装命令:sudo yum install -y epel-release && sudo yum install -y glances。启动Glances后,在“Processes”或“Resources”模块中可查看Apache进程的资源占用情况,或通过glances -w开启Web界面远程访问。

4. Monit(进程与服务监控工具)
Monit专注于进程、文件、目录及服务的监控与自动恢复,可检测Apache是否运行、响应时间是否超时,并在异常时发送邮件报警或自动重启服务。安装命令:sudo yum install -y monit。配置Apache监控:编辑/etc/monit.d/apache文件,添加以下内容:

check process httpd with pidfile /var/run/httpd.pid
    start program = "/usr/sbin/apachectl start"
    stop program = "/usr/sbin/apachectl stop"
    if failed host 127.0.0.1 port 80 protocol http then restart
    if 5 restarts within 5 cycles then timeout

保存后启动Monit(sudo systemctl start monit),即可自动监控Apache状态。

5. Netdata(实时可视化监控工具)
Netdata是一款低开销的实时监控工具,提供Web界面的仪表盘,可直观展示Apache2的请求速率、响应时间、错误数、连接数等指标。安装命令:bash <(curl -Ss https://my-netdata.io/kickstart.sh)(一键安装)。安装完成后,访问http://your_server_ip:19999,在“Apache”模块中即可查看实时监控数据,无需额外配置。

6. Zabbix(企业级综合监控平台)
Zabbix是一款功能强大的企业级监控解决方案,支持Apache2的性能指标(如每秒请求数、字节传输量、CPU负载、内存使用)、可用性检查及告警规则配置。安装步骤:

7. Prometheus + Grafana(高扩展性监控组合)
Prometheus是一款开源的时序数据库,Grafana是其可视化工具,二者结合可实现Apache2的高扩展性监控。步骤:

8. Shell脚本+Cron(简易自动化监控)
通过Shell脚本定期检查Apache进程状态,并用Cron定时执行,适合小型环境的基础监控。示例脚本(apache_status.sh):

#!/bin/bash
if ! pgrep -x httpd &>/dev/null; then
    echo "$(date): Apache is not running. Starting..." >> /var/log/apache_monitor.log
    systemctl start httpd
fi

添加执行权限(chmod +x apache_status.sh),并通过Cron每5分钟执行一次(crontab -e添加*/5 * * * * /path/to/apache_status.sh)。

0
看了该问题的人还看了