在Linux下,有多种工具和方法可以用来监控LNMP(Linux, Nginx, MySQL, PHP)堆栈的资源使用情况。以下是一些常用的工具和方法:
top/htop:
top 是一个实时显示系统进程信息的工具,可以查看当前系统中各个进程的资源占用情况,包括CPU、内存等。htop 是 top 的增强版本,提供了一个更加友好的用户界面和更多的功能。
使用方法:
top
# 或者
htop
vmstat:
vmstat 可以报告关于进程、内存、分页、块IO、陷阱和CPU活动的信息。
使用方法:
vmstat 1
这将每秒更新一次信息。
iostat:
iostat 用于显示CPU和I/O统计信息。
使用方法:
iostat -x 1
这将每秒更新一次扩展统计信息。
free:
free 命令用于显示Linux系统中的内存使用情况。
使用方法:
free -h
-h 选项将以易读的格式显示信息。
df:
df 命令用于报告文件系统的磁盘空间使用情况。
使用方法:
df -h
du:
du 命令用于估计文件和目录占用的磁盘空间。
使用方法:
du -sh /path/to/directory
netstat/ ss:
netstat 和 ss 命令用于显示网络连接、路由表、接口统计等网络相关信息。
使用方法:
netstat -tulnp
# 或者
ss -tulnp
MySQL监控工具:
对于MySQL,可以使用 mysqladmin 工具或者 SHOW STATUS 和 SHOW PROCESSLIST 命令来监控数据库的性能。
使用方法:
mysqladmin -u root -p status
mysql -u root -p -e "SHOW STATUS;"
mysql -u root -p -e "SHOW PROCESSLIST;"
Nginx监控:
Nginx提供了 ngx_http_stub_status_module 模块,可以用来获取Nginx的状态信息。
在Nginx配置文件中添加:
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1; # 只允许本地访问
deny all;
}
然后使用浏览器或者curl命令访问 http://your_server_ip/nginx_status。
日志分析: 通过分析Nginx、MySQL等的日志文件,可以了解访问模式、慢查询等信息,从而间接监控资源使用情况。
第三方监控工具: 还有许多第三方监控工具,如Zabbix、Nagios、Prometheus等,它们提供了更全面的监控解决方案,包括图形界面、报警功能等。
选择合适的工具取决于你的具体需求和环境。通常,结合使用这些工具可以提供一个全面的资源使用情况监控。