Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 分布式跟踪日志记录并与Logstash、Kibana和ElasticSearch集成_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Logstash_Kibana - Fatal编程技术网 elasticsearch 分布式跟踪日志记录并与Logstash、Kibana和ElasticSearch集成,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" /> elasticsearch 分布式跟踪日志记录并与Logstash、Kibana和ElasticSearch集成,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" />

elasticsearch 分布式跟踪日志记录并与Logstash、Kibana和ElasticSearch集成

elasticsearch 分布式跟踪日志记录并与Logstash、Kibana和ElasticSearch集成,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,我已经实现了一个具有树状结构的分布式事务日志库,如Google Dapper()和eBay CAL Transaction Logging Framework()中提到的 日志格式 TIMESTAMP HOSTNAME DATACENTER ENVIRONMENT EVENT_GUID PARENT_GUID TRACE_GUID APPLICATION_ID TREE_LEVEL TRANSACTION_TYPE TRANSACTION_NAME STATUS_CODE DURATI

我已经实现了一个具有树状结构的分布式事务日志库,如Google Dapper()和eBay CAL Transaction Logging Framework()中提到的

日志格式

TIMESTAMP   HOSTNAME  DATACENTER  ENVIRONMENT  EVENT_GUID PARENT_GUID TRACE_GUID APPLICATION_ID TREE_LEVEL TRANSACTION_TYPE TRANSACTION_NAME STATUS_CODE DURATION(in ms) PAYLOAD(key1=value2,key2=value2)
GUID十六进制数格式

MURMER_HASH(HOSTNAME + DATACENTER + ENVIRONMENT)-JVM_THREAD_ID-(TIME_STAMP+Atomic Counter)
我想做的是将此格式与Kibana UI集成,当用户想要搜索并单击TRACE_GUID时,它将显示类似于分布式调用图的内容,显示时间花在哪里。这里是UI。这将是伟大的。我不是UI开发人员,如果有人能告诉我如何做这将是伟大的

另外,我想知道如何索引弹性搜索有效负载数据,以便用户指定一些表达式,如有效负载(持续时间>1000),然后,弹性搜索将带来满足条件的所有日志线。另外,我希望将有效负载作为Name=Value对进行索引,以便用户可以查询(key3=value2或key4=exception)某种正则表达式。请让我知道这是否可以实现。任何帮助都会很好

谢谢,
Bhavesh

在elasticsearch中进行良好搜索的第一步是根据数据创建字段。对于日志,logstash是合适的工具。grok{}过滤器使用模式(现有或用户定义的regexp)将输入拆分为字段

您需要确保它被映射到一个整数(例如模式中的%{INT:duration:INT})。然后,您可以查询elasticsearch“duration:>1000”以获得结果


Elasticsearch使用lucene查询引擎,因此您可以在此基础上查找示例查询。

通过logstash将该格式的日志加载到Elasticsearch将很容易。查看grok{}。如果将跟踪GUID拆分为单独的字段,则可以在kibana中搜索、浏览或筛选该值。@AlainCollins,谢谢提供信息。虽然,我不能使用logstash,我必须使用ApacheKafka进行传输和定制。而且所有日志都已传播和索引跟踪GUID。唯一的事情是能够定制Kibana以像zipkin一样显示调用图。我只是想将JSON提供给Ziptkin用户界面,并将其显示为Kinbana插件之一。谢谢您的帮助!!您可以拥有的唯一名称-值对的最大数量是多少?我已经陷入了名称=值对的问题中了?随着唯一名称-值对的#增加,索引需要更长的时间,例如,(int i 0->1百万)索引(“键”+i,i)的索引。下一个问题,相同的键是否具有不同的内容类型?“key”=“text value”和“key”=1(int值),“key”=true?为同一字段的不同内容类型的日志行文档编制索引时,它是如何工作的?据我所知,动态推断指数和(第一名获胜)?请让我知道它的行为。我们有一个包含7000多个字段的索引,所以我不能对1M进行评论。字段得到一个映射,该映射对于索引是固定的。它们可以是string、int等。如果在字符串中插入int,它将强制转换它。显然,不能在int字段中插入字符串。