Сервис мониторинга Linux-серверов. На сервер клиента одной командой ставится лёгкий агент, который отправляет показатели на sinichka.online, а в личном кабинете они отображаются на графиках в реальном времени. Простая альтернатива Zabbix и Prometheus, когда нужно главное о сервере сразу после установки.
В рамках проекта выполнено:
Агент sinichka-daemon на C++ без зависимостей (меньше 100 КБ): каждые 3 секунды читает /proc (CPU, память, TCP/UDP-соединения), раз в 30 секунд — заполненность дисков, и отправляет данные по UDP
Установка одной командой curl … | sh: сборка агента на сервере, systemd-юнит, персональный токен для каждого сервера
Приёмник на PHP CLI: долгоживущий процесс принимает UDP-пакеты, проверяет токен и белый список параметров, пишет историю в PostgreSQL и сам чистит устаревшие данные
Собственный WebSocket-сервер (RFC 6455) в том же процессе: новые значения сразу приходят в браузер без поллинга, доступ по подписанным HMAC-билетам
Личный кабинет на фреймворке olala: список серверов со статусом онлайн, графики Chart.js за час, сутки и неделю
Настраиваемый дашборд из плиток: добавление, скрытие и перетаскивание (SortableJS), сохранение раскладки для каждого сервера
Мониторинг PostgreSQL: подключения, долгие запросы, транзакции и запросы в секунду, ошибки и медленные запросы из лога (агент подгружает libpq динамически)
Мониторинг PHP: ошибки из логов и хук для приложений с группировкой одинаковых ошибок по отпечатку, стектрейсом и счётчиком повторов
WebStat — встраиваемый скрипт веб-аналитики: посетители, просмотры страниц, клики и источники трафика для сайтов на сервере
Режим киоска (полноэкранный дашборд для мониторов), светлая и тёмная темы
Лендинг, регистрация и вход, раздел помощи по установке и настройке агента