kibana 不加载时间序列数据

kibana not loading time series data

我正在尝试使用 kibana 和 ES 分析我的数据库中的时间序列。首先,我使用 python API 将我的数据索引到 ES 中。我使用的映射是:

data= {
    "settings":{
        "number_of_shards":1,
        "number_of_replicas":1
    },
    "mappings":{
        TYPE_NAME: {
            "properties":{
                "timestamp":{"type":"date", "format":"YYYY-MM-DD HH:mm:ss", "store":"true"},
                "current":{"type":"float", "store":"true"},
                "bid_qty":{"type":"float", "store":"true"},
                "bid":{"type":"float", "store":"true"},
                "offer":{"type":"float", "store":"true"},
                "offer_qty":{"type":"float", "store":"true"},
                "change":{"type":"float", "store":"true"},
                "value":{"type":"string", "store":"true"}
            }                                              
        }   
    }    
}   

然后我创建了一个索引并使用下面的代码转储了我的数据

es = Elasticsearch()
response = requests.put('http://127.0.0.1:9200/'+INDEX_NAME+'/', data=json.dumps(data))

row_data = ""
for row in rows:
    row_data += '{"index":{"_id": "%s"}}\n' %row[0]
    row_dict = {}
    for i in range(1, len(row)):
        row_dict[headers[i]] = str(row[i])
    row_data += json.dumps(row_dict)
    row_data += "\n"

response = requests.put('http://127.0.0.1:9200/'+INDEX_NAME+'/'+TYPE_NAME+'/_bulk', data=row_data)

加载此数据后,当我尝试在 kibana 中添加此索引时,它会询问我的时间戳字段是数据类型,然后我单击创建。但是在发现选项卡中,我根本找不到我的数据。 有趣的是,我将我的时间戳字段作为类型字符串,并在 ES 中创建一个新索引,然后它的所有内容都作为非时间序列数据加载。但这对我没有多大用处。如果我做错了什么,请建议我。谢谢。

经过一段时间的不断尝试,我猜对了一部分。所以基本上我没有给出正确的格式。 "YYYY-MM-DD" 应该是 yyyy-MM-dd。但随后在使用 kibana 可视化数据时,在时间列中,它显示逗号分隔的两个日期,一个在我的数据库中,另一个是 UTC。这里的主要问题是所有图表都使用了我不想要的 UTC 时间。因此,在进行更多研究之后,我使用了这种格式 yyyy-MM-dd HH:mm:ss Z,并在插入日期时添加了 +05:30 (IST),即 str(date) + " +05:30"。在此之后,在 kibana 中,在我的时间列中,它显示了两个逗号分隔的东西,Invalid date, 2015-08-26 09:00:49。然而,这些图表是在我当地时间制作的。我想我已经找到了一个临时解决方案,如果有人想对此进行改进,非常欢迎,并在其中添加更多内容。我认为正确的解决方案应该是 kibana 中的时间列应该只显示一个日期,那应该是我本地插入的日期。