如何使用Metrics数据和日志数据索引设置不同的template

优采云 发布时间: 2021-03-22 21:05

  如何使用Metrics数据和日志数据索引设置不同的template

  ElasticSearch是一个非常强大的开源搜索和分析引擎。除了搜索之外,它还可以与Kibana,Logstash和Beats等组件结合使用,以应用于近实时分析的大数据领域。在中国,阿里巴巴,腾讯,百度,滴滴和ByteDance等许多知名公司都在使用Elasticsearch。

  在3. 9节中,我讨论了Flink的Connector-ElasticSearch,还介绍了如何通过示例将Metrics数据写入ElasticSearch,因此,实际上与现在将日志数据写入ElasticSearch相同,即两种情况下的数据量非常大,区别在于两种结构不同,您可能需要为指标数据和日志数据索引设置不同的模板。所以这是一个简单的代码。

  public class LogSink2ES {

public static void sink2es(SingleOutputStreamOperator logDataStream, ParameterTool parameterTool) {

List esAddresses = ESSinkUtil.getEsAddresses(parameterTool.get(ELASTICSEARCH_HOSTS));

int bulkSize = parameterTool.getInt(ELASTICSEARCH_BULK_FLUSH_MAX_ACTIONS, 40);

int sinkParallelism = parameterTool.getInt(STREAM_SINK_PARALLELISM, 5);

ESSinkUtil.addSink(esAddresses, bulkSize, sinkParallelism, logDataStream,

(LogEvent logEvent, RuntimeContext runtimeContext, RequestIndexer requestIndexer) -> {

requestIndexer.add(Requests.indexRequest()

.index("zhisheng_log")

.type(ZHISHENG)

.source(GsonUtil.toJSONBytes(logEvent), XContentType.JSON));

},

parameterTool);

}

}

  实时日志显示

  数据已存储在ElasticSearch中,下一步是日志的显示和分析,因为ElasticSearch和Kibana可以一起使用以完成日志的显示,分析和搜索功能,并且这套技术还可以是,所以这里也是Kibana的选择。当然,如果您的公司有人力,则可以自己提供数据显示界面和页面。

  要完成日志的显示,您需要首先安装Kibana。本节将不会过多介绍如何下载和安装。读者可以访问官方网站下载安装包并进行安装。因为已经提供了所有日志数据,所以使用Kibana进行数据显示实际上只是Kibana的一种配置。下图显示了启动Kibana后打开:5601页面的效果。

  

  由于在将日志写入ElasticSearch的作业中配置的日志索引是zhisheng_log,因此有必要在Kibana左侧的“管理”页面上配置日志索引。在这里,我们使用* log模板,发现仅找到一个zhisheng_log索引,只需继续单击下一步即可。

  

  配置索引后的页面如下图所示。

  这时,如果要搜索日志,可以单击左侧的“发现”,然后将显示日志。另外,提供了一个搜索框以支持关键字搜索,并且搜索结果中的关键字将突出显示。

  

  总结与反思

  本节说明生产环境实时日志处理系统中的*敏*感*词*案例,从需求分析到架构设计,再到日志数据采集,数据清理,异常日志的实时警报和数据存储和数据的可视化显示,通过这种大型案例,您可以了解项目的完整链接,并可以对整个项目开发生命周期有一定的了解。同时,作者还希望您能从此案例中获得启发,将其一些想法应用于您自己公司的场景中,从而使您能够扮演公司骨干的角色。另外,贵公司是否有用于实时日志处理的系统?它的结构是什么?与本节内容相比,您认为您的系统需要改进和补充什么?

  本节涉及的代码地址:

  样式文件链接:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线