Использование переменных в выводе Elasticsearch Псевдоним ролика ILM - PullRequest
1 голос
/ 24 июня 2019

Я не могу получить псевдоним ролика ILM для принятия переменных. В этом конкретном случае у нас будут кластерные журналы ELK для нескольких сред. Записи журнала будут помечены с учетом их среды перед входом в конвейер logstash. Я хотел бы, чтобы записи шли на правильный псевдоним, но я получаю следующую ошибку при запуске logstash (усеченная трассировка стека):

Произошла непредвиденная ошибка! {: Ошибка => java.net.URISyntaxException: Неверно сформированная escape-пара с индексом 0:% {[fields] [Environment]} - logs

Вот мой конвейер logstash:

input { 
  rabbitmq {
    host => "rabbitmq"
    port => 5672
    user => "guest"
    password => "guest"
    subscription_retry_interval_seconds => 5
    queue => "logstash-queue"
    exchange => "logs"
    exchange_type => "direct"
    durable => true
    key => "logstash"
  }
}

filter {
  mutate {
    rename => {"Properties" => "fields"}
  }
  mutate {
    lowercase => ["[fields][Environment]"]
  }
}

output {
  elasticsearch {
      hosts => ["http://elasticsearch:9200"]
      template_name=>"app-logs"
      ilm_enabled => true
      ilm_rollover_alias => "%{[fields][Environment]}-logs"
      ilm_pattern => "{now/d}-000001"
      ilm_policy => "30_day_retention_logs_policy"
    }
}
...