温馨提示×

怎样监控 linux lnmp

小樊
34
2026-09-21 22:18:12
栏目: 智能运维

监控 Linux + LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 可以从系统层、服务层、应用层三个维度来做。下面给你一套实用方案,从轻量到专业逐步递进。


一、基础监控(命令行,适合临时/小规模)

1. 系统资源

top / htop
free -h
df -h
iostat -x 1

2. Nginx 监控

Nginx 状态模块(推荐开启)

location /nginx_status {
    stub_status on;
    allow 127.0.0.1;
    deny all;
}

查看:

curl http://127.0.0.1/nginx_status

关注:

  • Active connections
  • Requests per second
  • 4xx / 5xx 比例

3. MySQL 监控

mysqladmin status
mysqladmin extended-status | grep -E "Queries|Threads|Slow"

慢查询:

SHOW PROCESSLIST;
SHOW GLOBAL STATUS LIKE 'Slow_queries';

4. PHP 监控

  • PHP-FPM 状态页
location /php_status {
    fastcgi_pass unix:/run/php/php-fpm.sock;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /status;
}

查看:

curl http://127.0.0.1/php_status

二、日志监控(非常重要)

Nginx

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

关注:

  • 5xx 错误
  • 访问 IP 异常
  • 请求耗时

MySQL

tail -f /var/log/mysql/slow.log

PHP

tail -f /var/log/php-fpm.log

三、自动化监控(推荐生产环境)

方案 1:Zabbix(企业常用)

监控项:

  • CPU / 内存 / 磁盘 IO
  • Nginx status
  • MySQL status
  • PHP-FPM status

优点:

  • 告警完善
  • 图形丰富
  • 支持分布式

方案 2:Prometheus + Grafana(现代主流)

组件:

  • node_exporter(系统)
  • nginx-exporter
  • mysqld_exporter
  • php-fpm-exporter
  • Prometheus
  • Grafana

优点:

  • 实时
  • 可视化强
  • 适合微服务

方案 3:轻量方案(Netdata)

bash <(curl -Ss https://my-netdata.io/kickstart.sh)
  • 秒级监控
  • 开箱即用
  • 适合单台服务器

四、告警机制(必须有)

  • 邮件
  • 企业微信 / 钉钉
  • 短信(重要业务)

告警指标示例:

  • CPU > 90%
  • 内存 > 85%
  • 磁盘 > 90%
  • Nginx 5xx > 1%
  • MySQL 慢查询增长
  • PHP-FPM 进程耗尽

五、LNMP 监控检查清单(实用)

✅ Nginx 是否 502/504
✅ PHP-FPM 进程是否够用
✅ MySQL 连接数是否打满
✅ 磁盘 IO 是否瓶颈
✅ 是否有慢查询
✅ 是否有异常 IP 攻击


如果你愿意,我可以:

  • 给你一套 Zabbix LNMP 模板
  • 或 Prometheus + Grafana 完整配置
  • 或针对 单台服务器 / 高并发场景 给你定制监控方案

你目前是 学习 / 单机 / 生产服务器?

0 踩