У меня работает logstash иasticsearch, и я получаю данные из filebeats с другого сервера
У меня есть требование, где я хочу выполнить скрипт Python, когда поле равно определенному значению. например, если ([ответ] = ~ / ^ 5 \ d \ d /) {}. то есть, когда в журнале 500 ошибок, я хочу выполнить скрипт Python для дальнейших действий.
Я искал google ,asticforums и пытался подписаться, но пока не получилось.
Я использовал плагин output exec для выполнения кода
exec{command=> "/usr/bin/python3.6 /home/xxxx/xxxx.py %{message}"}
Я вижу пустые строки как вывод в журнале logstash.
обратите внимание, что когда я запускаю
exec{command=> "echo %{message}"}
Я вижу вывод. Но я не могу выполнить выше Python скрипт.
Я пытался использовать код ruby в фильтрах ввода
filter{
ruby{
code => 'require "open3"
message = event.get("message")
cmd = "python3.6 /home/xxxx/xxxx.py #{message}"
puts "some text"
puts #{message}
'
}
}
Не повезло с этим. Благодарим вас за помощь в решении этой проблемы.
Спасибо,
Киран