ubuntu lamp服务器如何监控与管理

一、系统资源监控

  • 命令行工具

    • top/htop:实时查看CPU、内存占用及进程状态,支持排序和交互操作。
    • vmstat/iostat:监控虚拟内存、磁盘I/O及CPU使用率。
    • df/du:查看磁盘空间使用情况,定位大文件或目录。
    • netstat/ss:检查网络连接、端口监听状态(如Apache/MySQL端口)。
  • 图形界面工具

    • 系统自带:Ubuntu系统监控工具(查看CPU、内存、网络等实时数据)。
    • 第三方工具:Grafana(搭配Prometheus实现数据可视化)、Zabbix(企业级监控,支持告警)。

二、服务状态管理

  • LAMP组件监控

    • Apache:通过systemctl status apache2查看状态,或使用apachectl configtest检查配置。
    • MySQL:使用systemctl status mysqlmysqladmin ping测试服务可用性。
    • PHP-FPM:通过systemctl status php7.x-fpm(x为版本号)监控进程状态。
  • 自动化脚本
    编写Shell脚本定期检查服务状态,例如:

    #!/bin/bash  
    if ! systemctl is-active --quiet apache2; then  
      echo "Apache is down!" | mail -s "Server Alert" admin@example.com  
    fi  
    

    结合cron定时执行。

三、日志与安全监控

  • 日志分析

    • 查看Apache错误日志:tail -f /var/log/apache2/error.log
    • 监控MySQL慢查询:mysqldumpslow /var/log/mysql/mysql-slow.log
    • 使用journalctllogwatch汇总系统日志。
  • 安全工具

    • Fail2Ban:防止暴力破解,自动封禁异常IP。
    • ufw/iptables:配置防火墙规则,限制端口访问。

四、高级监控方案

  • Prometheus+Grafana
    • Prometheus采集服务器指标(如CPU、内存、请求延迟),Grafana可视化展示并设置告警规则。
  • Zabbix
    • 支持主动/被动监控,可配置邮件、短信告警,适合大规模服务器集群。

五、常用命令速查表

功能 命令 说明
查看CPU/内存 top/htop 实时动态监控
查看磁盘空间 df -h 显示分区使用率
查看网络连接 netstat -tuln/ss -tuln 查看端口监听状态
检查服务状态 systemctl status <服务名> 管理Apache/MySQL等服务