如何监控centos的lnmp
导读:如何监控CentOS上的LNMP环境 监控CentOS上的LNMP(Linux、Nginx、MySQL、PHP)环境需覆盖系统资源、服务状态、应用性能及日志等方面,以下是具体方法: 一、基础命令行监控(快速定位问题) 服务状态检查 使用...
如何监控CentOS上的LNMP环境
监控CentOS上的LNMP(Linux、Nginx、MySQL、PHP)环境需覆盖系统资源、服务状态、应用性能及日志等方面,以下是具体方法:
一、基础命令行监控(快速定位问题)
-
服务状态检查
使用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 < 服务名>启动。 -
进程与端口监控
- 用
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) ```。
- 用
-
实时资源监控
top/htop:动态查看CPU、内存占用,按M(内存)、P(CPU)排序,快速识别高负载进程;htop需安装(sudo yum install epel-release & & sudo yum install htop),支持鼠标操作。vmstat:查看虚拟内存、CPU上下文切换、磁盘IO等系统级指标,每1秒刷新一次:vmstat 1iostat:监控磁盘I/O和CPU使用率(需安装sysstat包):sudo yum install sysstat & & iostat -x 1free:查看内存使用情况(-h表示人类可读格式):free -h ```。
-
网络与磁盘监控
iftop:实时显示网络带宽使用(按主机/连接排序,需安装):sudo yum install iftop & & sudo iftopiotop:按进程统计磁盘I/O(需安装):sudo yum install iotop & & sudo iotop ```。
二、LNMP组件专项监控(深入问题根源)
-
Nginx监控
- 检查配置文件语法:
sudo nginx -t # 若输出“syntax is ok”则表示配置正确 - 查看Nginx状态(需提前开启
stub_status模块,修改nginx.conf并添加location /nginx_status):curl http://localhost/nginx_status # 返回活动连接数、请求数等信息 ```。
- 检查配置文件语法:
-
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 ```。
- 使用
-
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 ```。
- 查看PHP-FPM状态(需在
三、日志监控(排查问题线索)
- 实时查看日志:用
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 ```。
四、第三方综合监控(长期稳定运维)
-
Prometheus + Grafana
- 原理:Prometheus(时序数据库)通过
Node Exporter(系统指标)、MySQL Exporter(MySQL指标)、Nginx Exporter(Nginx指标)采集数据,Grafana(可视化工具)将数据渲染为仪表盘。 - 步骤:
- 安装Prometheus:下载并配置
prometheus.yml,添加LNMP Exporter作为目标; - 安装Grafana:
sudo yum install grafana,启动服务并登录Web界面; - 导入Grafana Dashboard(如Nginx、MySQL官方模板),实现实时监控与告警。
- 安装Prometheus:下载并配置
- 原理:Prometheus(时序数据库)通过
-
Zabbix
- 功能:企业级开源监控工具,支持服务器、网络、应用的健康检查、告警通知(邮件/短信)、自动化巡检。
- 步骤:
- 安装Zabbix Server、MySQL、Zabbix Agent;
- 配置Zabbix前端,添加LNMP服务器为监控主机;
- 设置触发器(如CPU使用率> 80%、MySQL连接数> 100),触发告警。
-
Netdata
- 特点:开箱即用的实时监控工具,低资源消耗,提供Web仪表盘,支持系统、网络、应用等多维度监控。
- 安装:
bash < (curl -Ss https://my-netdata.io/kickstart.sh),一键安装并自动启动。
通过上述方法,可实现从基础状态检查到深度性能分析的全方位监控,确保CentOS上LNMP环境的稳定运行。根据需求选择合适的工具:简单场景用命令行,复杂环境用第三方综合监控方案。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何监控centos的lnmp
本文地址: https://pptw.com/jishu/743942.html
