Журнал загрузки хранится в /var/log/boot.log. Также стоит проверить записи в syslog.
К сожалению, не могу посоветовать какую-то стратегию, кроме разве что "смотреть логи на предмет ошибок" > "локализовать ошибку" > найти решение ))
$_SESSION и $_SERVER нужны для работы поверх http, а у вас голые (почти) tcp сокеты. Вот и думайте.
Обычно при установке соединения проводится аунтефикацию и все. По сути алгоритм простой
Сервер слушает входящие соединения
Клиент соединяется с сервером
Клиент отправляет данные (токен скажем)
Сервер проверят токен и определяет какому пользователю соответствует данное соединение.
Ну а дальше просто. Если нужно какому-то пользователю послать данные, находим все соответсвующие соединения и шлем данные.
$_SESSION и $_SERVER для этих целей вообще ненужны.
Это не может быть ротация логов в этот момент? Видно, что апач перезапускался.
Вообще, я бы ещё посмотрел dmesg (на предмет segfaultов и тому подобного) и общесистемные логи, там, messages, лог cron и так далее. Что вообще в системе происходило.