---
title: "Filament Storage Monitor: відстежуйте використання дискового простору у Filament-панелі"
url: https://laravelukraine.com/blog/filament-storage-monitor-vidstezuite-vikoristannia-diskovogo-prostoru-u-filament-paneli
author: "Олексій Бабінцев"
date: 2026-06-17
source: https://laravel-news.com/filament-storage-monitor-track-disk-usage-from-your-filament-dashboard?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+laravelnews
---

# Filament Storage Monitor: відстежуйте використання дискового простору у Filament-панелі

Filament Storage Monitor - це плагін, який додає віджет до вашої Filament-панелі для моніторингу використання дискового простору сервера. Він зчитує статистику через нативні функції файлової системи PHP і відображає її у вигляді віджета, що органічно вписується в інтерфейс панелі. Плагін підтримує роботу з кількома розділами диска, користувацькі мітки та багато інших можливостей.

## Реєстрація дисків

Плагін реєструється в панелі, де ви вказуєте, які шляхи потрібно відстежувати. Метод `addDisk()` приймає шлях і мітку безпосередньо, тоді як `laravelDisk()` підключає диск з вашого конфігураційного файлу `config/filesystems.php`:

```php
use AchyutN\FilamentStorageMonitor\FilamentStorageMonitor;

return $panel
    ->plugins([
        FilamentStorageMonitor::make()
            ->addDisk('/mnt/data', label: 'Data Partition')
            ->laravelDisk(name: 'public', label: 'Media Storage'),
    ]);
```

Для більш детального контролю над окремим диском доступний метод `add()`, який приймає DTO `Disk`. Тут можна встановити колір, іконку Heroicon, а також шлях і мітку:

```php
use AchyutN\FilamentStorageMonitor\DTO\Disk;
use AchyutN\FilamentStorageMonitor\FilamentStorageMonitor;
use Filament\Support\Colors\Color;
use Filament\Support\Icons\Heroicon;

FilamentStorageMonitor::make()
    ->add(
        Disk::make('web-root')
            ->path('/var/www/html')
            ->label('Web Root')
            ->color(Color::Green)
            ->icon(Heroicon::ComputerDesktop),
    )
    ->addDisk(
        path: '/mnt/backup',
        label: 'Backups',
        color: Color::Blue,
        icon: Heroicon::ArchiveBox,
    );
```

## Авторизація на рівні окремих дисків

Інформація про використання диска може бути конфіденційною серверною інформацією, тому плагін дозволяє контролювати видимість на двох рівнях. Closure `visible()` на віджеті керує тим, чи відображатиметься весь віджет, а closure `isVisible` на окремому диску приховує лише цей конкретний запис:

```php
FilamentStorageMonitor::make()
    ->visible(fn () => auth()->user()->is_admin) // Приховати весь віджет
    ->addDisk(
        path: '/var/www/html',
        label: 'App Files',
        isVisible: fn () => auth()->user()->can('view_server_stats') // Приховати конкретний диск
    );
```

## Компактний режим

Для економії місця на дашборді компактний режим зменшує відображення кожного диска до його мітки та вільного простору:

```php
FilamentStorageMonitor::make()
    ->compact();
```

Віджет також надає стандартні методи керування розміщенням: `columnSpan()`, `columnStart()`, `sort()` та `lazy()` для гнучкого позиціонування на дашборді.

## Обробка помилок

За замовчуванням шлях, який неможливо розпізнати (наприклад, відсутня точка монтування), не призведе до краху панелі - віджет перехоплює помилку і продовжує рендеринг. Якщо ж ви хочете виявляти такі проблеми під час розробки, метод `throwException()` знову вмикає винятки. Він приймає closure, тому ви можете обмежити суворий режим лише локальним оточенням:

```php
FilamentStorageMonitor::make()
    ->throwException(fn () => app()->isLocal());
```

## Обмеження

Варто зазначити одне обмеження: оскільки пакет зчитує статистику на рівні розділів диска, два шляхи на одному розділі показуватимуть однаковий загальний і вільний простір. Обчислення розміру для окремих директорій заплановане в майбутніх релізах.

Вихідний код, документацію та інструкції для контрибуторів можна знайти на [GitHub](https://github.com/achyutkneupane/filament-storage-monitor).
