Парсер и дашборд для анализа логов VPN-агента в формате syslog.
- Backend: Node.js, TypeScript, Fastify, PostgreSQL
- Frontend: Next.js 15, TypeScript
- Инфраструктура: Docker Compose
docker-compose up -dcp .env.example .envnpm install
cd dashboard && npm install && cd ..npm run parsenpm run dev- API: http://localhost:3000
- Дашборд: http://localhost:3001
src/
parseUtils.ts — парсинг строк syslog (фильтрация, regex, типы событий)
parse.ts — чтение файла и запись в БД
server.ts — Fastify API (sessions, events, stats)
db.ts — подключение к PostgreSQL, схема БД
dashboard/ — Next.js дашборд
system.log — имитация логов VPN-агента
| Команда | Описание |
|---|---|
npm run parse |
Парсинг логов и запись в БД |
npm run dev |
Запуск сервера и дашборда |
npm run server |
Только API сервер |
npm run dashboard |
Только дашборд |
npm test |
Запуск тестов |
npm run test:frontend |
Тесты фронтенда |
npm run test:all |
Все тесты (backend + frontend) |
npm run format |
Форматирование кода |
| Метод | Путь | Описание |
|---|---|---|
| GET | /api/sessions | Список сессий с длительностью |
| GET | /api/events | Все события VPN-агента |
| GET | /api/stats | Сводная статистика |
