如何在Debian上监控LNMP服务
导读:在 Debian 上监控 LNMP 的实用方案 一 快速巡检与日志查看 服务状态与健康 查看服务:sudo systemctl status nginx;sudo systemctl status mysql 或 mariadb;sud...
在 Debian 上监控 LNMP 的实用方案
一 快速巡检与日志查看
- 服务状态与健康
- 查看服务:sudo systemctl status nginx;sudo systemctl status mysql 或 mariadb;sudo systemctl status php-fpm(或 php8.2-fpm 等具体版本)。
- 配置语法与优雅重载:sudo nginx -t;sudo nginx -s reload。
- 资源与连接
- 资源概览:top/htop、free、df、iostat、vmstat、ss。
- MySQL 即时状态:mysqladmin status;查看进程与锁:SHOW STATUS;SHOW PROCESSLIST。
- 日志实时查看
- Nginx:tail -f /var/log/nginx/access.log;tail -f /var/log/nginx/error.log。
- MariaDB/MySQL:tail -f /var/log/mysql/error.log。
- PHP-FPM:tail -f /var/log/php-fpm.log(路径以实际配置为准)。
- systemd 日志:journalctl -u nginx -f;journalctl -u mysql -f;journalctl -u php-fpm -f。
二 组件级监控要点与启用方法
- Nginx
- 启用状态页:在 server 块中添加
- location /status { stub_status on; allow 127.0.0.1; deny all; }
- 重载:sudo nginx -t & & sudo nginx -s reload
- 关注指标:Active connections、accepts/handled/requests、Reading/Writing/Waiting。
- 启用状态页:在 server 块中添加
- MySQL/MariaDB
- 命令行:mysqladmin status、SHOW STATUS、SHOW PROCESSLIST。
- 慢查询:开启 slow_query_log,使用 pt-query-digest 分析瓶颈。
- PHP-FPM
- 启用状态页(示例,按实际版本路径调整):
- pm.status_path = /fpm-status
- 在 Nginx 中 location /fpm-status { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php/php8.2-fpm.sock; }
- 关注指标:active processes、idle processes、requests、slow requests。
- 启用状态页(示例,按实际版本路径调整):
三 集中式监控与可视化
- Zabbix
- 安装:sudo apt-get update & & sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf。
- 思路:部署 Zabbix Server + Agent,添加主机,配置 Nginx/PHP-FPM 状态页与 MySQL 监控项/触发器,设置告警媒介。
- Prometheus + Grafana
- 安装:sudo apt-get install prometheus;可配合 grafana。
- 思路:以 Nginx/PHP-FPM 状态页、MySQL 指标端点为抓取目标,导入社区仪表盘,配置告警规则与通知渠道。
四 轻量自托管与进程守护
- 实时资源与进程
- netdata:sudo apt-get install netdata;访问 http://服务器IP:19999。
- glances:sudo apt-get install glances;支持终端与 Web。
- 进程守护与自动恢复
- Monit:sudo apt-get install monit;编辑 /etc/monit/monitrc 定义对 nginx/mysql/php-fpm 的监控与重启策略,启动:sudo systemctl start monit & & sudo systemctl enable monit。
- 日志汇总与报告
- logwatch:sudo apt-get install logwatch;可生成 HTML/邮件 日报,辅助审计与告警。
五 告警与日常巡检清单
- 建议阈值与动作
- 服务存活:任一核心进程(nginx/mysql/php-fpm)宕机即告警并尝试重启(如通过 Monit 或 systemd 服务依赖)。
- 连接与响应:Nginx Active connections 接近 worker_connections;5xx 错误率突增;MySQL Threads_connected 接近上限。
- 资源瓶颈:CPU iowait 持续偏高、内存接近耗尽、磁盘 %util 长时间接近 100%、inode 用尽。
- 数据库:慢查询数量增加、主从延迟、锁等待增多。
- 日常巡检命令示例
- 系统:top/htop、free -m、df -h、iostat -x 1、vmstat 1、ss -s
- Nginx:curl -s http://127.0.0.1/status;tail -n50 /var/log/nginx/error.log
- MySQL:mysqladmin status;SHOW PROCESSLIST;tail -n50 /var/log/mysql/error.log
- PHP-FPM:curl -s http://127.0.0.1/fpm-status;tail -n50 /var/log/php-fpm.log
- 安全与稳定建议
- 仅开放 80/443/SSH 等必要端口,使用 密钥登录、禁用 root 远程登录。
- 定期更新系统与软件包,遵循配置最佳实践,并做好 备份与恢复 策略。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian上监控LNMP服务
本文地址: https://pptw.com/jishu/778086.html
