преобразовать строку в массив на основе шаблона в logstash - PullRequest
0 голосов
/ 30 января 2019

Мои исходные данные.

{
  message: {
      data: "["1,2","3,4","5,6"]"
  }
}

Теперь я хочу преобразовать значение поля данных в массив.Так должно получиться:

{
  message: {
      data: ["1,2", "3,4", "5,6"]
  }
}

Используя

mutate {
    gsub => ["data", "[\[\]]", ""]
  }

, я избавился от квадратных скобок.

После этого я попытался разбить на основе запятых.Но это не сработает.Поскольку мои данные также содержат запятые.

Я попытался написать блок диссекции , но это бесполезно.

Так как же мне продолжать это?

1 Ответ

0 голосов
/ 30 января 2019

Вы пробовали фильтр json?Если поле данных всегда содержит действительные данные json, вы используете фильтр json следующим образом:

json {
    source => "data"
    target => "data"
}

Использование target => "data" перезапишет поле данных.

...