es发送的数据在kibana上discover不显示,但是可以query到

最近在做一个日志解析的项目,遇到一个问题,数据发送到es,返回成功。但是kibana上discover不显示,时间范围调整到一个月内也搜索不到,devtool上query可以查到。

F12查看discover里的传参,发现有时间范围以及时区的参数。怀疑跟时区有关,既然刚刚尝试了提前一个月无效,那就延后8小时看看

果然,数据可以搜索出来。

找到了问题的原因。结合我们后续需要接入kibana的图表展示,因此不能更改kibana的配置,只能从es发送数据端下手。

查找资料发现,可以给timestamp(kibana上用于时间排序的字段)加上时区,格式为2021-06-28 10:49:39.850500+08:00(普通不带时区的格式:2021-06-28 10:49:39.850500)

 

    es_client = es_send_data()
    shanghai_tz = pytz.timezone('Asia/Shanghai')
#指定时区,用于es字段timestamp的发送 week_end_tmp
= datetime.datetime.now(tz=shanghai_tz) week_end = str(week_end_tmp).split(".")[0] week_end_month = str(week_end_tmp).split("-")[0] + "-" + str(week_end_tmp).split("-")[1] week_start = str(week_end_tmp - datetime.timedelta(minutes=5)).split(".")[0] offset_data = action.get_offset_time_window(week_start, week_end) send_data = { "project_name": project, "topic_name": analyse_topic, "server_name": server_name, "offsets_five_min_ago": offset_data, "timestamp": week_end_tmp } index_name = "qa-analyse-" + analyse_topic + "-" + week_end_month print(index_name)

参考资料:https://segmentfault.com/a/1190000021445915

原文地址:https://www.cnblogs.com/to-here/p/14943663.html