在Linux中监控ThinkPHP应用可从系统性能、应用日志、请求耗时等方面入手,结合工具实现全面监控,以下是具体方法:
top/htop查看CPU和内存占用,vmstat监控内存、进程和CPU活动,iostat分析磁盘I/O负载,netstat/ss查看网络连接状态。config/log.php中设置日志级别(如error、debug)和存储路径,记录错误、SQL查询等信息。grep/awk筛选关键日志(如错误日志),统计错误频率。Log::channel('performance')写入日志,配合日志分析工具展示。// 示例:记录请求耗时中间件
public function handle($request, \Closure $next)
{
$start = microtime(true);
$response = $next($request);
$duration = round((microtime(true) - $start) * 1000, 2);
Log::channel('performance')->info('Request', [
'url' => $request->url(),
'method' => $request->method(),
'duration_ms' => $duration
]);
return $response;
}
swooletw/monitor实现轻量级监控,支持自定义指标和报警。try-catch)捕获错误,记录到日志并触发报警(如邮件、短信)。systemctl status或ps aux监控ThinkPHP服务进程,结合脚本实现异常重启。config/database.php中设置'show_sql' => true),分析慢查询并优化索引。SHOW PROCESSLIST查看当前查询,或通过Percona Toolkit分析数据库性能。cron定时执行并发送报警。工具推荐:
通过以上方法,可实现对ThinkPHP应用在Linux环境下的全面监控,及时发现并解决性能或稳定性问题。