Filament Storage Monitor 是一款插件,它会在 Filament 面板中添加一个仪表盘小部件,用于监控服务器磁盘使用情况。它使用原生 PHP 文件系统函数读取存储统计信息,并将其渲染成一个与面板其他部分完美融合的小部件,支持多分区、自定义标签等功能。

注册磁盘
您需要在控制面板中注册该插件,并告诉它要监视哪些路径。
addDisk()
该方法直接接受路径和标签,而
laravelDisk()
从您的磁盘中解析磁盘
config/filesystems.php
:
使用
AchyutN\FilamentStorageMonitor\FilamentStorageMonitor
;返回
面板
->
插件
([
丝材存储监视器
::
制作
()
->
添加磁盘
(
'/mnt/data'
,
标签
:
数据分区
)
->
Laravel磁盘
(
姓名
:
'民众'
,
标签
:
“媒体存储”
),]);
为了更好地控制单个磁盘,
add()
方法接受一个
Disk
DTO(数据对象对象),您可以在其中设置颜色、图标以及路径和标签:
使用
AchyutN\FilamentStorageMonitor\DTO\磁盘
;使用
AchyutN\FilamentStorageMonitor\FilamentStorageMonitor
;使用
耗材\支撑\颜色\颜色
;使用
线材\支持\图标\英雄图标
;丝材存储监视器
::
制作
()
->
添加
(
磁盘
::
制作
(
'web-root'
)
->
小路
(
'/var/www/html'
)
->
标签
(
“网站根目录”
)
->
颜色
(
颜色
::
绿色的
)
->
图标
(
英雄之书
::
电脑桌面
),)
->
添加磁盘
(
小路
:
'/mnt/backup'
,
标签
:
“备份”
,
颜色
:
颜色
::
蓝色的
,
图标
:
英雄之书
::
ArchiveBox
,(英文):
按磁盘授权
磁盘使用情况可能属于敏感的服务器信息,因此该插件允许您在两个级别上控制其可见性。
visible()
小部件的闭包控制着整个小部件是否渲染,以及一个
isVisible
对单个磁盘的关闭操作只会隐藏该条目:
丝材存储监视器
::
制作
()
->
可见的
(
fn
() =>
授權
()
->
用户
()
->
is_admin)
// 隐藏整个组件
->
添加磁盘
(
小路
:
'/var/www/html'
,
标签
:
“应用程序文件”
,
isVisible
:
fn
() =>
授權
()
->
用户
()
->
能
(
'查看服务器统计信息'
)
// 隐藏特定磁盘(英文):
紧凑模式
为了减少在仪表板上的占用空间,紧凑模式会将每个磁盘缩小到只剩下标签和可用空间:
丝材存储监视器
::
制作
()
->
袖珍的
();
该组件还公开了常用的布局控件,
columnSpan()
,
columnStart()
,
sort()
, 和
lazy()
以便将其放置在仪表板上。
错误处理
默认情况下,无法解析的路径(例如缺少挂载点)不会导致面板崩溃,小部件会捕获错误并继续渲染。如果您希望在开发过程中发现这些问题,
throwException()
重新启用异常处理,并且接受闭包,因此您可以将严格行为限定在本地环境中:
丝材存储监视器
::
制作
()
->
throwException
(
fn
() =>
应用程序
()
->
是本地的
());
需要注意的一点限制是:由于该软件包读取的是分区级别的统计信息,因此同一分区上的两个路径会报告相同的总空间和可用空间。针对特定目录的大小计算功能计划在未来的版本中推出。
您可以在以下位置找到源代码、文档和贡献指南: GitHub 。







