ELK - дата, определенная в logsta sh, отображается как строка в кибане - PullRequest
0 голосов
/ 30 января 2020

У меня есть следующий конфигурационный файл для logsta sh:

input {
    file {
        path => "/home/elk/data/visits.csv"
        start_position => "beginning"
        sincedb_path => "NUL"
    }
}

filter {
    csv {
        separator => ","
        columns => ["estado","tiempo_demora","poblacion","id_poblacion","edad_valor","cp","latitude_corregida","longitud_corregida","patologia","Fecha","id_tipo","id_personal","nasistencias","menor","Geopoint_corregido"]
    }
    date {
        match => ["Fecha","dd-MM-YYYY HH:mm"]
        target => "Fecha"
    }
    mutate {convert => ["nasistencias", "integer"]}
    mutate {convert => ["id_poblacion", "integer"]}
    mutate {convert => ["id_personal", "integer"]}
    mutate {convert => ["id_tipo", "integer"]}
    mutate {convert => ["cp", "integer"]}
    mutate {convert => ["edad_valor", "integer"]}
    mutate {
        convert => { "longitud_corregida" => "float" }
        convert => { "latitude_corregida" => "float" }
    }
    mutate {
      rename => {
          "longitud_corregida" => "[location][lon]"
          "latitude_corregida" => "[location][lat]"
      }
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "medicalvisits-%{+dd.MM.YYYY}"
    }
    stdout {
        codec => json_lines
        codec => rubydebug
    }
}

Оттуда Fecha должно быть отправлено наasticsearch как date, но в кибане, когда я пытаюсь установить его как отметка времени, она не отображается и отображается в виде строки:

enter image description here

Есть идеи, что я здесь не так делаю?

1 Ответ

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

Типы в ваших индексных шаблонах не совпадают с типами в ваших индексных шаблонах (информация на самом деле хранится).

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

С учетом сказанного, почему вы просто не сохраните свою " Fecha "прямо в" @timestamp "с помощью фильтра" date "в logsta sh. Например:

    date {
    match => ["Fecha","dd-MM-YYYY HH:mm"]
    target => "@timestamp"
    tag_on_failure => ["fallo_filtro_fecha"]

Еще один вариант, если вам действительно нужен этот «Fecha» с @timestamp (не самая лучшая идея) и Fecha типа «date», - это изменить отображение индекса для изменения. этот тип поля на сегодняшний день. Вот так (скорректируйте при необходимости):

PUT /nombre_de_tu_indice/_mapping
{
  "properties": {
    "Fecha": {
      "type": "date",
    }
  }
}

Конечно, это изменение будет влиять только на новые индексированные индексы или реиндексированные.

...