在CentOS上监控LNMP(Linux, Nginx, MySQL, PHP)环境,可以使用多种工具和方法。以下是一些常用的监控工具和方法:
1. 系统级监控
a. top
和 htop
top
是一个实时显示系统进程信息的工具。htop
是top
的增强版,提供更友好的用户界面和更多功能。
sudo yum install htop
htop
b. vmstat
- 显示虚拟内存统计信息。
vmstat 1
c. iostat
- 显示CPU和I/O设备的使用情况。
iostat -x 1
d. free
- 显示内存使用情况。
free -h
2. Nginx 监控
a. nginx -t
- 检查Nginx配置文件的语法是否正确。
sudo nginx -t
b. nginx status
- 查看Nginx的状态信息(需要配置状态模块)。
sudo netstat -tulnp | grep nginx
3. MySQL 监控
a. mysqladmin
- 提供MySQL服务器的管理功能,包括状态查询。
mysqladmin -u root -p status
b. SHOW STATUS
- 在MySQL命令行中查看状态信息。
SHOW STATUS;
c. pt-query-digest
- 分析MySQL查询日志,提供性能优化建议。
sudo yum install percona-toolkit
pt-query-digest /var/log/mysql/slow.log
4. PHP 监控
a. php-fpm
- 如果使用PHP-FPM,可以监控其状态。
sudo systemctl status php-fpm
b. xdebug
- 用于调试PHP代码,也可以用于监控。
5. 第三方监控工具
a. Prometheus + Grafana
- Prometheus 是一个开源的监控系统和时间序列数据库。
- Grafana 是一个开源的分析和监控平台,可以与Prometheus集成。
# 安装Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xvfz prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
./prometheus --config.file=prometheus.yml
# 安装Grafana
sudo yum install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
b. Zabbix
- 一个企业级的开源监控解决方案。
# 安装Zabbix服务器
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
# 配置Zabbix前端
sudo systemctl start httpd
sudo systemctl enable httpd
6. 日志监控
a. tail -f
- 实时查看日志文件。
tail -f /var/log/nginx/access.log
tail -f /var/log/mysql/error.log
b. grep
- 搜索日志文件中的特定信息。
grep "ERROR" /var/log/mysql/error.log
通过这些工具和方法,你可以全面监控你的LNMP环境,确保系统的稳定性和性能。