Если вы еще этого не сделали, посмотрите на документы OpenWrt и посмотрите, сможет ли он сделать достаточно того, что вам нужно. Если это так, то это, вероятно, самое дешевое / простое решение.
В противном случае вам может потребоваться устройство брандмауэра коммерческого уровня, такое как SonicWall, или серьезный брандмауэр с открытым исходным кодом, такой как pfSense, работающий на выделенном оборудовании. И даже они могут не дать вам именно то, что вы хотите.
Некоторые маршрутизаторы / брандмауэры будут предоставлять общие отчеты, скажем, о 10 самых посещаемых веб-адресах, но они не обязательно будут регистрировать использование пользователями - только совокупный общий трафик через брандмауэр. А некоторые позволяют настраивать определенные журналы для определенных пользователей, но это может дать вам слишком много данных - как при каждом отдельном доступе.
Вы также можете использовать сетевой анализатор типа Wireshark для мониторинга всего сетевого трафика, но это довольно крутая кривая обучения, и для этого потребуется ПК, на котором он работает круглосуточно и без выходных.
И, несмотря на это, я не знаю ни о каких недорогих решениях, которые будут отслеживать время, проведенное на сайтах - они будут только отслеживать пропускную способность данных / пакеты / и т.д. Таким образом, кто-то может тратить на Facebook часы, в основном читая текст во вторник и только 10 минут в среду, но тратить все время на просмотр видео. С точки зрения брандмауэра, это будет показывать более высокое использование Facebook в среду. Если вы хотите отслеживать использование по времени, лучше всего установить программное обеспечение для мониторинга на каждом ПК.