Рейтинг:1

Свяжите сеансы и журналы NAT почти в реальном времени

флаг br

У меня есть регистратор активности пользователей и система запросов для интернет-провайдера с очень высокой частотой событий журнала (5k-10K/sec). Он должен связать системные журналы Radius/Session и NAT на основе общего Внутренний IP поле. Каждый сеанс имеет два события Start и Stop. Примерно 24-часовые данные, созданные 3000 пользователей, могут составлять около 20 миллионов записей, и ожидается, что они будут увеличиваться.

Мое решение состоит из 2 агентов синтаксического анализа и сохранения для каждого типа журнала, написанных на Golang с бэкэндом Postgresql db. Я испытываю несколько проблем с обеих сторон. Синтаксический анализ и хранение не могут справиться с высокой скоростью передачи данных даже после (в памяти) буферизации событий системного журнала. Для экономии места я должен сгруппировать каждую сессию в одну запись и идентифицировать пользователя сессии NAT из другого журнала, реализованного через триггер. Буферы занимают системную память, и в конечном итоге процесс уничтожается. Запись в PGSQL выполняется медленно из-за идентификации пользователя и индексов в таблице.

Чтобы вернуться к моему подходу, я хотел найти предложения о том, как улучшить производительность. Независимо от того, какой подход я выберу, мне нужно идентифицировать пользователя NAT из журналов сеансов Radius, прежде чем сохранять эти данные в базе данных.

Nikita Kipriyanov avatar
флаг za
Я чувствую, что этот вопрос требует мнений, а не решений. Здесь это было бы не по теме.
iamadnan avatar
флаг br
@NikitaKipriyanov Я представил проблему, с которой столкнулся в своем текущем решении, и ищу совета эксперта. Все не должно быть ошибкой или прямым вопросом, связанным с конфигурацией/функцией. Пожалуйста, дайте мне знать, какой форум может быть более подходящим для обращения в моем случае.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.