luci-app-statistics

OpenWrt має вбудовану підтримку для відображення статистики в реальному часі, однак історичні дані за замовчуванням не зберігаються. Пакет luci-app-statistics, побудований на основі collectd і rrdtool, дозволяє створювати історичні графіки для таких показників, як:

  • ping
  • завантаження мережевого інтерфейсу
  • навантаження на CPU
  • оперативна памʼять
  • диск
  • аптайм тощо

Детальніше див. statistical.data.overview Також є чудовий блог-пост про collectd.

Інші інструменти для моніторингу трафіку описано на сторінці bwmon.

1. Встановіть пакет luci-app-statistics. Через SSH:

opkg update && opkg install luci-app-statistics

2. Встановіть потрібні плагіни:

Нижче наведено приклади, але існує багато інших. Щоб переглянути всі доступні модулі collectd:

opkg list | grep collectd-mod

Приклад встановлення популярних модулів:

opkg install collectd-mod-ethstat collectd-mod-ipstatistics collectd-mod-irq collectd-mod-load collectd-mod-ping collectd-mod-powerdns collectd-mod-sqm collectd-mod-thermal collectd-mod-wireless

3. Увімкніть демон collectd:

/etc/init.d/collectd enable
⚠️ Зверніть увагу: каталог `/tmp/rrd`, у якому зберігаються статистичні дані, розміщено в оперативній памʼяті (RAM) — тому всі дані будуть втрачені після перезавантаження.
Щоб уникнути цього, налаштуйте постійне зберігання або резервне копіювання (див. нижче).

* Перегляд конфігурації:

uci export luci_statistics

* Редагування файлу:

/etc/config/luci_statistics

Після встановлення з’явиться новий розділ Statistics → Setup. Усі встановлені плагіни collectd відображаються там, однак лише деякі активні за замовчуванням.

  • Вкладка General Plugins: оберіть, які метрики слід відстежувати
  • Вкладка Network Plugins tab: виберіть інтерфейси для моніторингу
  • Вкладка Output Plugins:
    • Підвкладка RRDtool:
      • Щоб зберегти флеш-памʼять, за замовчуванням статистика пишеться в `/tmp/rrd`, тобто в RAM. Дані втрачаються після перезавантаження. Альтернативи:
        • Увімкніть резервне копіювання при перезавантаженні чи оновленні:
          • через LuCI — увімкніть чекбокс Backup RRD statistics
          • або через CLI:
                        uci set luci_statistics.collectd_rrdtool.backup=1
                        uci commit
        • Ці дані будуть записані у флеш лише під час:
          1. вимкнення
          2. перезавантаження
          3. оновлення (sysupgrade)
          4. або при ручному створенні резервної копії
        • Для регулярніших резервних копій створіть cron-задачу:
                      service luci_statistics backu<
        • Деталі механізму: luCI statistics backups на GitHub
        • Якщо є підключений USB-накопичувач — змініть директорію зберігання на шлях на цьому диску. Не забудьте, що користувач `nobody`, який рендерить графіки, повинен мати доступ до всіх батьківських директорій і самих `.rrd`-файлів. Див. обговорення:https://forum.openwrt.org/t/trouble-with-luci-app-statistics-using-storage-directory-on-usb-drive/10683/4
        • Або ж передавайте дані на інший пристрій через вкладку Network — тобто інший маршрутизатор/сервер, який виступає collectd-слухачем.
    • Підвкладка Network: collectd може працювати або як відправник, або як слухач статистики. Важливо: на обох пристроях має бути однаковий інтервал збору даних (`Interval`).
  • Last modified: 2025/05/30 22:09
  • by vazaz