Logstash: запуск сценария Python из секции inout или putput - PullRequest
1 голос
/ 19 июня 2019

У меня работает 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}

        '
    }
}

Не повезло с этим. Благодарим вас за помощь в решении этой проблемы.

Спасибо, Киран

...