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
* Перегляд конфігурації:
uci export luci_statistics
* Редагування файлу:
/etc/config/luci_statistics
Через LuCI
Після встановлення з’явиться новий розділ 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
- Ці дані будуть записані у флеш лише під час:
- вимкнення
- перезавантаження
- оновлення (sysupgrade)
- або при ручному створенні резервної копії
- Для регулярніших резервних копій створіть 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`).