Logstash усекает% {message} при передаче в качестве параметра в сценарий - PullRequest
0 голосов
/ 13 ноября 2018

Вопрос

Как сохранить усечение %{message} при передаче его в качестве параметра в сценарий?

Положение

У меня есть logstash, настроенный для обозначения конкретных ошибок, причины ошибки и решения проблемы (если я знаю одну). У меня есть немного в моем файле конфигурации, как показано ниже.

exec {
        command => "Powershell C:\ELK-Stack\logstash\bin\SendEmail.ps1 -source %{source} -message %{message} -error %{error_cause_} -solution %{error_troubleshoot_}"
    }

Выше работает, единственная проблема в том, что я получаю только первое слово из каждого из этих полей.

Что я попробовал

Я вспомнил, что [message] разбивается на более мелкие части, которые затем анализируются. Поэтому я попытался разрешить массив строк в качестве параметра и соединить их вместе. Мне не повезло.

1 Ответ

0 голосов
/ 13 ноября 2018

Проблема не в logstash. Проблема заключалась в том, как я называл свой скрипт Powershell. меняется

exec {
    command => "Powershell C:\ELK-Stack\logstash\bin\SendEmail.ps1 -source %{source} -message %{message} -error %{error_cause_} -solution %{error_troubleshoot_}"
}

до

exec {
    command => "Powershell -file C:\ELK-Stack\logstash\bin\SendEmail.ps1 -source %{source} -message \"%{message}\" -error \"%{error_cause_}\" -solution \"%{error_troubleshoot_}\""
}

Исправлена ​​моя проблема.

...