Назад | Перейти на главную страницу

Вывод Logstash в AlienVault (OSSIM)

У меня следующая топология:

клиенты rsyslog -> сервер logstash -> elasticsearch и другой logstash, alienvault и локальный файл

Проблема в том, что alienvault хочет только необработанное сообщение без каких-либо полей json. Как я мог отправить только в alienvault только значение поля «сообщение»?

До сих пор я делал что-то вроде этого: - в logstash, в фильтре я настроил clone {clones => ["alien"]}. - вся остальная фильтрация находится над этой строкой - после всех остальных фильтров у меня есть что-то вроде ... if [type] == "alien" -> mutate -> remove_field (все поля, кроме [type]; - в вывод logstash у меня if [type] == "alien" udp {host, port, etc}

Но AlienVault все равно получает что-то вроде этого:

31 августа 17:01:41 {"message": "31 августа 09:01:35 bkp1 sshd [10538]: соединение с порта", "type": "alien"}

и я хочу, чтобы AlienVault получил только «31 августа, 09:01:35 bkp1 sshd [10538]: соединение с порта»

Возможно ли это с помощью logstash?

Спасибо

Хорошо, через два дня я наконец понял (на случай, если это кому-то еще понадобится). Итак, это результат работы AlienVault:

tcp {host => "" port => "" message_format => "% {message}" codec => line {format => "% {message}"}}

P.S. Я думаю, вам нужно, чтобы это был tcp, потому что вам нужен этот "message_format", который недоступен на выходе udp.