grafana elasticsearch date类型问题

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 大致的数据格式{ "createTime": 1484967199, "ip": "localhost", "appId": "10000", "thre...
  • 大致的数据格式
{
    "createTime": 1484967199,
    "ip": "localhost",
    "appId": "10000",
    "threadName": "Thread-acceptor-1",
    "level": "info",
    "type": "error",
    "tag": "tag1",
    "module": "module1",
    "detail": "some description"
}
  • 从kafka读取数据后由storm计算后直接将es客户端写入es。

  • 使用grafana配置数据源,其中使用自定义的字段createTime。

  • 这里写图片描述

  • 配置grafana的dashboard的panel,结果报错,Invalid number format [epoch_millis#]

  • 是时间类型的错误,查下es字段的mapping,
http://132.122.252.22:9200/flume-index/_mapping
{
    "flume-index": {
        "mappings": {
            "distributed-log": {
                "properties": {
                    "appId": { "type": "string" },
                    "createTime": { "type": "long" },
                    "detail": { "type": "string" },
                    "ip": { "type": "string" },
                    "level": { "type": "string" },
                    "module": { "type": "string" },
                    "tag": { "type": "string" },
                    "threadName": { "type": "string" },
                    "type": { "type": "string" } }
            }
        }
    }
}

没有指定es的mapping,所以根据java类型,当storm推数据到es时则会当做long型,具体格式如下,这导致grafana根据createTime查询错误,需要更改createTime的mapping。

  • 先删除原来的索引,
curl -XDELETE 'localhost:9200/flume-index/?pretty'
  • 再重新建立新索引,且指定createTime字段为date类型,且格式为默认即可。
curl -XPUT 'localhost:9200/flume-index/?pretty' -d 
'
{
    "mappings": {
        "distributed-log": {
            "properties": {
                "appId": {
                    "type": "string"
                },
                "createTime": {
                    "type": "date"
                },
                "detail": {
                    "type": "string"
                },
                "ip": {
                    "type": "string"
                },
                "level": {
                    "type": "string"
                },
                "module": {
                    "type": "string"
                },
                "tag": {
                    "type": "string"
                },
                "threadName": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        }
    }
}
'
  • 再用json的字符串格式传入后,es即可以通过这个mapping进行转换。grafana也可以根据时间查出数据来。

  • 如果允许也可以直接使用es的_timestamp字段,但它并非准确的数据生成时间。es默认没有开启timestamp的记录,可以用下面开启,即有了_timestamp字段。

curl -XPOST localhost:9200/flume-index -d '
{
    "mappings": {
        "_default_": {
            "_timestamp": {
                "enabled": true
            }
        }
    }
}
'

========广告时间========

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

目录
相关文章
|
9月前
|
数据库 索引
elasticsearch中join类型数据如何进行父子文档查询?
elasticsearch中join类型数据如何进行父子文档查询?
|
1月前
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
1月前
|
搜索推荐 JavaScript Java
Elasticsearch 8.X 如何依据 Nested 嵌套类型的某个字段进行排序?
Elasticsearch 8.X 如何依据 Nested 嵌套类型的某个字段进行排序?
35 0
|
1月前
|
SQL 关系型数据库 数据库
实时计算 Flink版产品使用合集之将数据写入Elasticsearch时,若Elasticsearch中的字段类型为date,对应的SQL类型应该是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
存储 SQL 运维
Elasticsearch 查询革新:探索 Wildcard 类型的高效模糊匹配策略
Elasticsearch 查询革新:探索 Wildcard 类型的高效模糊匹配策略
55 0
|
1月前
|
SQL JSON DataWorks
DataWorks产品使用合集之DataWorks 数据集成任务中,将数据同步到 Elasticsearch(ES)中,并指定 NESTED 字段中的 properties 类型如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
35 0
|
1月前
|
存储 数据可视化 索引
Grafana 系列 - 统一展示 -7-ElasticSearch 数据源
Grafana 系列 - 统一展示 -7-ElasticSearch 数据源
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的数据类型的复杂类型
在使用搜索引擎Elasticsearch存储大数据时,了解其数据类型是非常重要的。除了基础数据类型之外,Elasticsearch还支持多种复杂数据类型,这些数据类型通常用于存储结构化数据和关联数据。在本文中,我们将会介绍Elasticsearch的复杂数据类型。
72 0
|
存储 自然语言处理 搜索推荐
大数据数据存储的搜索引擎Elasticsearch的数据类型的基础类型
在使用搜索引擎Elasticsearch存储大数据时,了解其数据类型是非常重要的。Elasticsearch支持多种数据类型,包括基础类型和复合类型。在本文中,我们将会介绍Elasticsearch的基础数据类型。
107 0
|
1月前
|
Java Maven 开发工具
【ElasticSearch 】IK 分词器安装
【ElasticSearch 】IK 分词器安装
44 1