使用Laravel Horizon时如何让监控标签持久化?标签丢失原因是什么
监控标签自动丢失的原因
- Laravel Horizon 默认将通过GUI临时添加的监控标签存储在Redis的临时缓存键中,未写入持久化配置
- 触发Horizon服务重启、Redis缓存键过期、Redis数据清空操作时,这些临时存储的标签就会被清除,这也是你本地重启Horizon后标签直接消失的根本原因
监控标签持久化方案
你可以直接在Horizon配置文件中预定义所有需要监控的标签,配置后永久生效,不需要再依赖GUI手动添加:
- 打开项目根目录下的
config/horizon.php配置文件 - 找到
monitored配置项,将你需要长期监控的10-20个标签全部填入该数组中,示例配置如下:
/* |-------------------------------------------------------------------------- | Monitored Job Tags |-------------------------------------------------------------------------- | | The following tags are monitored so that you may view metrics for all | jobs with these tags in the Horizon dashboard. You may add your own | tags to this list as required for your own application's needs. | */ 'monitored' => [ 'tag-1', 'tag-2', 'tag-3', // 剩余需要监控的标签依次添加到此处即可 ],
- 配置修改完成后,执行
php artisan horizon:terminate终止当前运行的Horizon进程,Horizon会自动重启加载新配置,配置中定义的标签将永久显示在GUI监控列表中,不会再因重启或缓存清理丢失。
内容的提问来源于stack exchange,提问作者amurrell
相关产品推荐
相关产品推荐

