首页主机资讯如何监控centos的lnmp

如何监控centos的lnmp

时间2025-11-06 13:56:03发布访客分类主机资讯浏览801
导读:如何监控CentOS上的LNMP环境 监控CentOS上的LNMP(Linux、Nginx、MySQL、PHP)环境需覆盖系统资源、服务状态、应用性能及日志等方面,以下是具体方法: 一、基础命令行监控(快速定位问题) 服务状态检查 使用...

如何监控CentOS上的LNMP环境

监控CentOS上的LNMP(Linux、Nginx、MySQL、PHP)环境需覆盖系统资源、服务状态、应用性能及日志等方面,以下是具体方法:

一、基础命令行监控(快速定位问题)

  1. 服务状态检查
    使用systemctl(CentOS 7及以上默认)查看Nginx、MySQL(MariaDB)、PHP-FPM的运行状态,确保服务正常启动:

    sudo systemctl status nginx      # 检查Nginx状态
    sudo systemctl status mysqld     # 检查MySQL状态(部分系统为mariadb)
    sudo systemctl status php-fpm    # 检查PHP-FPM状态
    

    若服务未运行,可通过sudo systemctl start < 服务名> 启动。

  2. 进程与端口监控

    • ps命令确认进程是否存在:
      ps aux | grep nginx    # 检查Nginx进程
      ps aux | grep mysqld   # 检查MySQL进程
      ps aux | grep php-fpm  # 检查PHP-FPM进程
      
    • ss(替代netstat,更高效)查看服务监听端口:
      sudo ss -tulnp | grep nginx  # 检查Nginx监听端口(默认80/443)
      sudo ss -tulnp | grep mysqld # 检查MySQL监听端口(默认3306)
      sudo ss -tulnp | grep php-fpm # 检查PHP-FPM监听端口(默认9000)
      ```。  
      
      
  3. 实时资源监控

    • top/htop:动态查看CPU、内存占用,按M(内存)、P(CPU)排序,快速识别高负载进程;htop需安装(sudo yum install epel-release & & sudo yum install htop),支持鼠标操作。
    • vmstat:查看虚拟内存、CPU上下文切换、磁盘IO等系统级指标,每1秒刷新一次:
      vmstat 1
      
    • iostat:监控磁盘I/O和CPU使用率(需安装sysstat包):
      sudo yum install sysstat &
          &
           iostat -x 1
      
    • free:查看内存使用情况(-h表示人类可读格式):
      free -h
      ```。  
      
      
  4. 网络与磁盘监控

    • iftop:实时显示网络带宽使用(按主机/连接排序,需安装):
      sudo yum install iftop &
          &
           sudo iftop
      
    • iotop:按进程统计磁盘I/O(需安装):
      sudo yum install iotop &
          &
           sudo iotop
      ```。  
      
      
      

二、LNMP组件专项监控(深入问题根源)

  1. Nginx监控

    • 检查配置文件语法:
      sudo nginx -t  # 若输出“syntax is ok”则表示配置正确
      
    • 查看Nginx状态(需提前开启stub_status模块,修改nginx.conf并添加location /nginx_status):
      curl http://localhost/nginx_status  # 返回活动连接数、请求数等信息
      ```。  
      
      
  2. MySQL监控

    • 使用mysqladmin快速查看服务器状态:
      mysqladmin -u root -p status  # 输出Uptime、Threads_connected等指标
      
    • 执行SHOW STATUS查看详细状态变量(如连接数、缓存命中率):
      mysql -u root -p -e "SHOW STATUS;
          "
      
    • pt-query-digest分析慢查询日志(需安装Percona Toolkit):
      sudo yum install percona-toolkit &
          &
           pt-query-digest /var/log/mysql/slow.log
      ```。  
      
      
  3. PHP-FPM监控

    • 查看PHP-FPM状态(需在php-fpm.conf中开启pm.status_path = /status):
      curl http://localhost/status  # 返回池状态、进程数、请求处理时间等
      
    • 使用xdebug调试PHP代码(需安装),或通过error_log查看PHP错误日志:
      tail -f /var/log/php-fpm/error.log
      ```。  
      
      
      

三、日志监控(排查问题线索)

  • 实时查看日志:用tail -f跟踪Nginx访问日志、错误日志及MySQL错误日志:
    tail -f /var/log/nginx/access.log    # Nginx访问日志(记录请求信息)
    tail -f /var/log/nginx/error.log     # Nginx错误日志(记录配置/运行错误)
    tail -f /var/log/mysql/error.log     # MySQL错误日志(记录数据库错误)
    
  • 日志分析:用grep搜索关键字(如“ERROR”),或用GoAccess实时分析Nginx访问日志(生成可视化报告):
    sudo yum install goaccess &
        &
         goaccess /var/log/nginx/access.log --log-format=COMBINED
    ```。  
    
    
    

四、第三方综合监控(长期稳定运维)

  1. Prometheus + Grafana

    • 原理:Prometheus(时序数据库)通过Node Exporter(系统指标)、MySQL Exporter(MySQL指标)、Nginx Exporter(Nginx指标)采集数据,Grafana(可视化工具)将数据渲染为仪表盘。
    • 步骤
      1. 安装Prometheus:下载并配置prometheus.yml,添加LNMP Exporter作为目标;
      2. 安装Grafana:sudo yum install grafana,启动服务并登录Web界面;
      3. 导入Grafana Dashboard(如Nginx、MySQL官方模板),实现实时监控与告警。
  2. Zabbix

    • 功能:企业级开源监控工具,支持服务器、网络、应用的健康检查、告警通知(邮件/短信)、自动化巡检
    • 步骤
      1. 安装Zabbix Server、MySQL、Zabbix Agent;
      2. 配置Zabbix前端,添加LNMP服务器为监控主机;
      3. 设置触发器(如CPU使用率> 80%、MySQL连接数> 100),触发告警。
  3. Netdata

    • 特点:开箱即用的实时监控工具,低资源消耗,提供Web仪表盘,支持系统、网络、应用等多维度监控。
    • 安装bash < (curl -Ss https://my-netdata.io/kickstart.sh),一键安装并自动启动。

通过上述方法,可实现从基础状态检查深度性能分析的全方位监控,确保CentOS上LNMP环境的稳定运行。根据需求选择合适的工具:简单场景用命令行,复杂环境用第三方综合监控方案。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何监控centos的lnmp
本文地址: https://pptw.com/jishu/743942.html
centos下lnmp资源占用高吗 centos中lnmp安全吗

游客 回复需填写必要信息