Вывести 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.