首页主机资讯如何在Debian上监控LNMP服务

如何在Debian上监控LNMP服务

时间2025-12-23 02:19:04发布访客分类主机资讯浏览1129
导读:在 Debian 上监控 LNMP 的实用方案 一 快速巡检与日志查看 服务状态与健康 查看服务:sudo systemctl status nginx;sudo systemctl status mysql 或 mariadb;sud...

在 Debian 上监控 LNMP 的实用方案

一 快速巡检与日志查看

  • 服务状态与健康
    • 查看服务:sudo systemctl status nginx;sudo systemctl status mysqlmariadb;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。
  • 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
Debian系统中如何解决LNMP冲突 Debian系统中如何更新LNMP组件

游客 回复需填写必要信息