2015-03-06 1 views
0

Я новичок в стеке ELK и реализовал его с версией el.41.41, logstash версии 1.4.2 и kibana версии 4. Я способный вытащить файл csv в elasticsearch с помощью logstash и отобразить его в кибане.Получение ошибки в Kibana 4 при использовании ввода json при визуализации при попытке настроить панель управления

При отображении даты из файла значения в дате выделяются, как если бы тире содержалось внутри разделителя (например, значение в поле 01-01-2015, когда это отображается в кибане (независимо от того, типа отображения) будут три поля, 01, 01 и 2015). Кибана дает сообщение, что это связано с тем, что это анализируемое поле.

Kibana 4 имеет функцию, позволяющую использовать json непосредственно из создателя панели инструментов Visualization, чтобы изменить это на непроанализированное поле, чтобы вся строка использовалась, а не разделяла ее.

Я попробовал несколько форматов, но это тот, который, кажется, он должен работать как kibana распознает его как действительный синтаксис:

{ "index" : "not_analyzed" } 

, но при попытке применить изменения, приборная панель не меняет свою структуру и kibana генерирует следующее исключение:

Visualize: Request to Elasticsearch failed: {"error":"SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[ftpEMbcOTxu0Tdf0e8i-Ig][csvtest][0]: SearchParseException[[csvtest][0]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":{\"bool\":{\"must\":[{\"range\":{\"@timestamp\":{\"gte\":1420092000000,\"lte\":1451627999999}}}],\"must_not\":[]}}}},\"size\":0,\"aggs\":{\"2\":{\"terms\":{\"field\":\"Conn Dt\",\"size\":100,\"order\":{\"1\":\"desc\"},\"index\":\"not_analyzed\"},\"aggs\":{\"1\":{\"cardinality\":{\"field\":\"Area Cd\"}}}}}}]]]; nested: SearchParseException[[csvtest][0]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Unknown key for a VALUE_STRING in [2]: [index].]]; }{[ftpEMbcOTxu0Tdf0e8i-Ig][csvtest][1]: SearchParseException[[csvtest][1]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":{\"bool\":{\"must\":[{\"range\":{\"@timestamp\":{\"gte\":1420092000000,\"lte\":1451627999999}}}],\"must_not\":[]}}}},\"size\":0,\"aggs\":{\"2\":{\"terms\":{\"field\":\"Conn Dt\",\"size\":100,\"order\":{\"1\":\"desc\"},\"index\":\"not_analyzed\"},\"aggs\":{\"1\":{\"cardinality\":{\"field\":\"Area Cd\"}}}}}}]]]; nested: SearchParseException[[csvtest][1]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Unknown key for a VALUE_STRING in [2]: [index].]]; }{[ftpEMbcOTxu0Tdf0e8i-Ig][csvtest][2]: SearchParseException[[csvtest][2]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":{\"bool\":{\"must\":[{\"range\":{\"@timestamp\":{\"gte\":1420092000000,\"lte\":1451627999999}}}],\"must_not\":[]}}}},\"size\":0,\"aggs\":{\"2\":{\"terms\":{\"field\":\"Conn Dt\",\"size\":100,\"order\":{\"1\":\"desc\"},\"index\":\"not_analyzed\"},\"aggs\":{\"1\":{\"cardinality\":{\"field\":\"Area Cd\"}}}}}}]]]; nested: SearchParseException[[csvtest][2]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Unknown key for a VALUE_STRING in [2]: [index].]]; }{[ftpEMbcOTxu0Tdf0e8i-Ig][csvtest][3]: SearchParseException[[csvtest][3]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":{\"bool\":{\"must\":[{\"range\":{\"@timestamp\":{\"gte\":1420092000000,\"lte\":1451627999999}}}],\"must_not\":[]}}}},\"size\":0,\"aggs\":{\"2\":{\"terms\":{\"field\":\"Conn Dt\",\"size\":100,\"order\":{\"1\":\"desc\"},\"index\":\"not_analyzed\"},\"aggs\":{\"1\":{\"cardinality\":{\"field\":\"Area Cd\"}}}}}}]]]; nested: SearchParseException[[csvtest][3]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Unknown key for a VALUE_STRING in [2]: [index].]]; }{[ftpEMbcOTxu0Tdf0e8i-Ig][csvtest][4]: SearchParseException[[csvtest][4]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":{\"bool\":{\"must\":[{\"range\":{\"@timestamp\":{\"gte\":1420092000000,\"lte\":1451627999999}}}],\"must_not\":[]}}}},\"size\":0,\"aggs\":{\"2\":{\"terms\":{\"field\":\"Conn Dt\",\"size\":100,\"order\":{\"1\":\"desc\"},\"index\":\"not_analyzed\"},\"aggs\":{\"1\":{\"cardinality\":{\"field\":\"Area Cd\"}}}}}}]]]; nested: SearchParseException[[csvtest][4]: query[ConstantScore(BooleanFilter(+cache(@timestamp:[1420092000000 TO 1451627999999])))],from[-1],size[0]: Parse Failure [Unknown key for a VALUE_STRING in [2]: [index].]]; }]"} less

Это можно увидеть в где индекс: был изменен на not_analyzed от проанализирован; также параметр, который проанализировал подстановочный знак: true также был изменен на false с настройкой расширенного объекта с тем же результатом.

ответ

0

У меня была аналогичная проблема сегодня со следующим сообщением:

Parse Failure [Unknown key for a VALUE_STRING in [logTime]: [offset].]]; }] 

я отправлял запрос агрегации гистограмм дату против Elasticsearch 1.4.5 со следующей полезной нагрузки:

['logTime'].forEach(function (field) { 
    body.aggregations[field] = { 
     date_histogram: { 
      field: field, 
      interval: 'week', 
      time_zone: '+00:00', 
      offset: '15h', 
      min_doc_count: 0, 
      extended_bounds: { 
       min: 1440946800000, 
       max: 1441551599999 
      } 
     } 
    }; 
}); 

Примечание использование параметра offset для date_histogram. Этот параметр вводится только в Elasticsearch версии 1.5.0. Таким образом, мой 1.4.5 ES жалуется, что этот ключ offset был Unknown.

Замена post_offset следующим образом решена проблема, хотя мне пришлось также отрегулировать значение параметра time_zone. В качестве примечания стороны, post_offset устарел и заменен offset, поскольку v1.5.

['logTime'].forEach(function (field) { 
    body.aggregations[field] = { 
     date_histogram: { 
      field: field, 
      interval: 'week', 
      time_zone: '+09:00', 
      post_offset: '-9h', 
      min_doc_count: 0, 
      extended_bounds: { 
       min: 1440946800000, 
       max: 1441551599999 
      } 
     } 
    }; 
}); 
1

Проверочный указатель Сопоставьте и поместите поле даты как неанализированное.

Для примера:

"<index name>": { 
     "mappings": { 
     "<Mapping type>": { 
      "properties": { 
       "City": { 
        "type": "string", 
        "index": "not_analyzed" 
       }, 
       "Date": { 
        "type": "string", 
        "index": "not_analyzed" 
       } 
      } 
     }