Основная проблема со всей проблемой «мониторинга активных сеансов» заключается в том, что вы (сервер) не обязательно полностью контролируете сеанс. Пользовательские браузеры могут прервать сеансы в любой момент времени, поэтому вы не можете гарантировать активных пользователей в любой момент.
Если крайне важно знать текущих пользователей, добавьте столбец в их таблицу пользователей, указав метку времени, и обновляйте это поле каждый раз, когда они загружают страницу. Если этот столбец менее чем на минуту устарел, его можно считать активным.
Еще одна вещь, которую вы можете сделать (часто используется в онлайн-чатах для ведения активного списка «чата»), это опросить страницу через заданный интервал (используя AJAX), а затем, даже если они не обновляют страницу вы все еще знаете, что они там. Если ajax-запрос не приходит через указанный интервал, пользователь удалился или закрыл свой браузер.