信息发布→ 登录 注册 退出

Laravel Telescope?调试工具如何安装使用?

发布时间:2025-09-06

点击量:
Laravel Telescope通过简单安装即可监控应用运行状态,支持配置watchers筛选数据、手动记录信息,并建议开发环境使用以避免性能影响,生产环境需谨慎启用并限制访问权限。

Laravel Telescope 是 Laravel 官方提供的优雅的调试助手,它能让你深入了解应用程序的运行情况,从请求、异常到数据库查询,应有尽有。安装和使用都非常简单,能极大地提升开发效率。

首先,安装 Telescope 只需要一条 Composer 命令:

composer require laravel/telescope

然后,发布 Telescope 的资源文件:

php artisan telescope:install

这条命令会创建 Telescope 的配置文件

config/telescope.php
和数据库迁移文件。接下来,运行迁移:

php artisan migrate

最后,访问

/telescope
路由,就能看到 Telescope 的界面了。默认情况下,只有本地环境才能访问,可以通过修改
config/telescope.php
中的
middleware
配置来调整访问权限。

Telescope 默认会记录很多信息,但有时我们只想关注特定类型的数据,或者排除一些不重要的信息。

如何配置 Telescope 监控特定数据?

Telescope 的配置非常灵活。你可以通过修改

config/telescope.php
文件来控制哪些数据被记录。例如,如果你只想监控慢查询,可以调整
watchers
配置:

'watchers' => [
    Telescope\Watchers\QueryWatcher::class => [
        'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
        'slow' => 100, // 毫秒,超过这个时间的查询会被标记为慢查询
    ],
    // 其他 watchers...
],

这里的

QueryWatcher
负责监控数据库查询。
slow
选项定义了慢查询的阈值。你还可以禁用其他不需要的 watchers,以减少 Telescope 的资源消耗。

除了配置文件,你还可以在代码中使用 Facades 来手动记录信息:

use Illuminate\Support\Facades\Log;
use Laravel\Telescope\Facades\Telescope;

// 记录调试信息
Telescope::info('这是一个调试信息');

// 记录异常
try {
    // ...
} catch (\Exception $e) {
    Telescope::exception($e);
    Log::error($e);
}

这种方式可以让你更精细地控制哪些信息被 Telescope 记录。

Telescope 对性能有什么影响?如何优化?

Telescope 作为一个调试工具,不可避免地会对性能产生一定的影响,尤其是在生产环境中。默认情况下,Telescope 会记录大量的请求、查询、日志等信息,这会增加 CPU 和内存的开销。

为了优化 Telescope 的性能,可以采取以下措施:

  • 仅在开发环境中使用: 这是最简单有效的方法。在生产环境中禁用 Telescope,可以避免性能问题。可以通过环境变量来控制 Telescope 的启用状态。
  • 禁用不必要的 watchers: 禁用那些你不需要的 watchers,可以减少 Telescope 的数据收集量。
  • 调整采样率: Telescope 允许你设置采样率,控制记录数据的比例。例如,你可以设置只记录 10% 的请求。
  • 使用 Redis 队列: Telescope 默认使用数据库队列来处理数据。如果数据量很大,可以考虑使用 Redis 队列,以提高处理速度。
  • 定期清理数据: Telescope 会将数据存储在数据库中。随着时间的推移,数据量会越来越大。定期清理旧数据,可以释放磁盘空间,提高查询效率。可以使用
    php artisan telescope:prune
    命令来清理数据。
php artisan telescope:prune --hours=48 # 删除 48 小时前的数据

如何在生产环境中使用 Telescope 进行问题排查?

虽然通常建议在生产环境中禁用 Telescope,但在某些情况下,你可能需要在生产环境中使用 Telescope 来排查问题。这时,需要特别注意安全性和性能。

以下是一些建议:

  • 限制访问权限: 确保只有授权的开发人员才能访问 Telescope 界面。可以使用 IP 地址限制、HTTP 认证等方式来保护 Telescope。
  • 启用身份验证: Telescope 允许你配置身份验证,只有通过身份验证的用户才能访问 Telescope。
  • 监控资源消耗: 在生产环境中启用 Telescope 时,密切关注服务器的 CPU、内存、磁盘 I/O 等资源消耗情况。如果发现性能问题,及时调整配置或禁用 Telescope。
  • 使用采样率: 为了减少数据量,可以使用采样率,只记录一部分请求。
  • 及时禁用: 问题排查完毕后,立即禁用 Telescope,避免长时间运行带来的风险。
  • 配置报警: 针对 Telescope 记录的异常、慢查询等信息,配置报警系统,及时发现和解决问题。

总的来说,在生产环境中使用 Telescope 需要谨慎,需要权衡安全性和性能。只有在必要的时候才启用,并采取相应的措施来保护系统。

标签:# http  # 配置文件  # 只想  # 情况下  # 可以通过  # 你还  # 访问权限  # 身份验证  # 你可以  # 采样率  # 可以使用  # php  # 数据库  # red  # 环境变量  # 路由  # 工具  # cad  # composer  # redis  # laravel  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!