Вывести logstash в AlienVault (OSSIM)

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

клиенты rsyslog -> сервер logstash -> эластичный поиск и другой logstash & alienvault и локальный файл

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

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

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

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

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

Это возможно с logstash?

Спасибо

1 ответ

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

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

PS Я думаю, вам нужно, чтобы это был tcp, потому что вам нужен тот "message_format", которого нет в выводе udp.

Другие вопросы по тегам