Debian如何监控LNMP状态
导读:Debian 下 LNMP 状态监控实操指南 一 快速巡检命令 服务状态与重启 检查:sudo systemctl status nginx、sudo systemctl status mysql(或 mariadb)、sudo sys...
Debian 下 LNMP 状态监控实操指南
一 快速巡检命令
- 服务状态与重启
- 检查:sudo systemctl status nginx、sudo systemctl status mysql(或 mariadb)、sudo systemctl status php8.2-fpm(版本号按实际)
- 重启:sudo systemctl restart nginx、sudo systemctl restart mysql、sudo systemctl restart php8.2-fpm
- 资源与连接
- 资源:top/htop、vmstat、iostat
- 连接与端口:ss -lntp | grep ‘:80|:443|:3306’
- 数据库
- 状态:mysqladmin -u root -p status
- 活动与慢查询:mysql -e “SHOW PROCESSLIST; ”、开启慢查询日志分析长时 SQL
- 深入优化可用 Percona Toolkit
二 日志与系统日志
- 组件日志
- Nginx:访问 /var/log/nginx/access.log,错误 /var/log/nginx/error.log
- MariaDB/MySQL:错误 /var/log/mysql/error.log
- PHP-FPM:日志路径由 php.ini 的 error_log 指定
- 实时查看:tail -f /var/log/nginx/error.log、tail -f /var/log/mysql/error.log
- systemd 日志
- journalctl -u nginx -f、journalctl -u mysql -f、journalctl -u php8.2-fpm -f
- 日志汇总与报告
- 使用 logwatch 生成日报/周报:sudo apt-get install logwatch;示例:sudo logwatch --output html --range ‘yesterday’ --detail high
三 轻量实时监控工具
- netdata:sudo apt-get install netdata,访问 http://服务器IP:19999 查看实时指标与图表
- glances:sudo apt-get install glances,支持终端与 Web 模式,一览 CPU/内存/磁盘/网络/进程
- Monit:sudo apt-get install monit,配置 /etc/monit/monitrc 对进程、端口、文件变化做监控与自动恢复,适合“无人值守”场景
四 企业级与可视化监控
- Zabbix
- 安装:sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf
- 思路:部署 Zabbix Server + Zabbix Agent,在 Web 界面添加主机,配置监控项/触发器/动作(邮件/钉钉/企业微信等)
- Prometheus + Grafana
- 安装:sudo apt-get install prometheus grafana
- 思路:部署 Prometheus 抓取 Nginx(stub_status)、MySQL(exporter)、PHP-FPM(status) 等指标;Grafana 以 Prometheus 为数据源,导入 Nginx/MariaDB/PHP-FPM 仪表盘并配置告警规则
五 关键配置与告警示例
- Nginx 状态页
- 在 /etc/nginx/sites-available/default 的 server 块内添加:
- location /nginx_status { stub_status on; allow 127.0.0.1; deny all; }
- 验证:curl http://127.0.0.1/nginx_status;Prometheus 使用 nginx-exporter 抓取 :9113
- 在 /etc/nginx/sites-available/default 的 server 块内添加:
- PHP-FPM 状态页
- 在 /etc/php/8.2/fpm/pool.d/www.conf(路径按版本)启用:
- pm.status_path = /fpm_status
- 对应 Nginx 增加 location 暴露状态页并限制来源
- 验证:curl http://127.0.0.1/fpm_status;Prometheus 使用 php-fpm-exporter 抓取 :9253
- 在 /etc/php/8.2/fpm/pool.d/www.conf(路径按版本)启用:
- MariaDB/MySQL 监控
- 使用 mysqld_exporter 暴露 :9104;在 Prometheus 配置 job 抓取并基于 Threads_connected、Slow_queries、QPS 等设置告警
- 建议告警规则
- Nginx:5xx 比例 > 1% 持续 5 分钟、服务 down
- PHP-FPM:进程耗尽/响应异常、队列过长
- MySQL:连接数接近上限、慢查询突增、复制延迟
- 系统:CPU > 80% 持续 10 分钟、可用内存 < 10%、磁盘使用率 > 85%、磁盘 I/O 长时间高占用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian如何监控LNMP状态
本文地址: https://pptw.com/jishu/748752.html
