Arhn - архитектура программирования

Добавление поля копирования и установка его в нижнем регистре

У меня проблема с фильтром изменения, где мне нужно установить копию поля в нижний регистр. Но когда я пытаюсь загрузить на elastic , копия поля не будет строчной.

Моя версия Logstash 5.2.

я использую конфигурацию ниже:

filter {   
    mutate {
        rename => {"desc_ufe" => "state" }
        rename => {"desc_local" => "city" }
        rename => {"desc_bairro" => "neighborhood" }
        rename => {"desc_lograd" => "streetName" }
        rename => {"desc_cep" => "postalCode" }
        rename => {"desc_lograd_complemento" => "supplement" }
        rename => {"cod_mun" => "IBGEcode" }

        convert => {"IBGEcode" => "string"}

        add_field => {"statecp" => "%{state}"}
        add_field => {"citycp" => "%{city}"}
        add_field => {"neighborhoodcp" => "%{neighborhood}"}
        add_field => {"streetNamecp" => "%{streetName}"}
        add_field => {"supplementcp" => "%{supplement}"}

        lowercase => ["statecp","citycp","neighborhoodcp","streetNamecp","supplementcp"]
    }
 }

Спасибо за любую помощь.


Ответы:


1

Вы становитесь жертвой того, что делает фильтр мутации. Это не основано на порядке в вашем конфигурационном файле — оно основано на порядке, в котором это делает код mutate.rb.

Порядок (согласно https://github.com/logstash-plugins/logstash-filter-mutate/blob/master/lib/logstash/filters/mutate.rb):

  • принуждать
  • переименовать
  • Обновить
  • заменять
  • конвертировать
  • gsub
  • верхний регистр
  • капитализировать
  • нижний регистр
  • полоска
  • удалять
  • расколоть
  • присоединиться
  • сливаться
  • копировать

Далее следует все, что относится к совпадающим событиям (например, add_field)

Просто переместите свой lowercase на второй фильтр mutate, и он должен работать правильно.

04.04.2018
  • Спасибо Альканзар, я все починил. Я переместил строчные буквы в другую мутацию. Теперь он работает нормально. 06.04.2018
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..