Spring Cloud Data Flow上的分析仪表板无法识别任何度量标准类型

时间:2017-09-28 06:15:44

标签: java spring spring-cloud-stream spring-cloud-dataflow spring-kafka

我的流定义如下: -

IngestToBroker = custom-producer --spring.cloud.stream.bindings.output.content-type = application / json --spring.cloud.stream.bindings.output.producer.headerMode =原始> :Kafkatopic1

DataProcessor =:Kafkatopic1> custom-processor - spring.cloud.stream.bindings.output.content-type = application / json --spring.cloud.stream.bindings.input.consumer.headerMode = raw --spring.cloud.stream.bindings.output .producer.headerMode = raw> :kafkatopic2

myCountsOne =:DataProcessor.custom-processor> field-value-counter --field-name = messageStatusOne

myCountsTwo =:DataProcessor.custom-processor> field-value-counter --field-name = messageStatusOne

MyFileSink =:kafkatopic2> file --directory = C:\ usr \ sdflogs --name = My-File-Sink2

当前情景

1) IngestToBroker DataProcessor 效果很好。我得到如下所需的JSON输出,它被发送到KafkaTopic1,然后通过处理器和kafkaTopic2,最后发送到文件。

{ “messageStatusOne”: “收到”, “DateTimeOne”: “2017.09.26.22.03.34”, “messageStatusTwo”: “处理过的”, “DateTimeTwo”: “2017.09.26.22.03.34”} {“messageStatusOne”:“ERROR”,“DateTimeOne”:“2017.09.26.21.06.45”,“messageStatusTwo”:“NOT AVAILABLE”,“DateTimeTwo”:“2017.09.26.21.06.45”} { “messageStatusOne”: “收到”, “DateTimeOne”: “2017.09.26.21.06.52”, “messageStatusTwo”: “处理过的”, “DateTimeTwo”: “2017.09.26.21.06.52”} { “messageStatusOne”: “REVIEW”, “DateTimeOne”: “2017.09.26.21.06.59”, “messageStatusTwo”: “HOLD”, “DateTimeTwo”: “2017.09.26.21.06.59”}

自定义生产者和自定义处理器是我部署的独立应用程序,它基本上改变了数据,前者每隔几秒就推送一个新的JSON记录。

2)所有流定义都是如此。它们都运行良好,我得到了所需的JSON。 字段值计数器定义的 EXCEPT myCountsOne和myCountsTwo

问题 1)Dashboard PIC for Analytics on my Local SCDF server

似乎不活跃。度量和可视化没有下降。我真的需要这个工作,我对SCDF很新。我错过了什么?我该怎么做到这个?

2)另外在sideNote上我试图用SCDF配置MarkLogic但是SCDF会接受ODBC驱动程序吗?如果我在问这一切时听起来很愚蠢,请原谅我。谢谢。

更新我刚刚在Spring Data Flow Startup控制台中发现了这个错误

“无法获取jedis连接嵌套异常是redis.clients.jedis.exceptions.jedisConnectionException”

我们是否需要将任何redis依赖项添加到我的自定义处理器中,该处理器部署为独立应用程序?这是我的Spring Boot版本 - 1.5.6.RELEASE 。谢谢。

2 个答案:

答案 0 :(得分:0)

使用Analytics in SCDF时,SCDF服务器和Analytics-apps 都必须共享一个共同的redis-cluster配置。

  

我刚刚在Spring Data Flow Startup控制台中发现了这个错误   "无法获取jedis连接嵌套异常是redis.clients.jedis.exceptions.jedisConnectionException"

此要求为enabled by default;如果SCDF服务器无法访问redis-cluster,您会注意到此错误。您可以根据需要选择禁用它。

  

我们是否需要将任何redis依赖项添加到我的自定义处理器中,该处理器部署为独立应用程序?

如果处理器只是向下游应用程序发送汇总数据,则您不需要。实际上只需要分析 - 接收器应用程序。在您的情况下,请确保SCDF服务器和field-value-counter共享相同的redis-cluster配置。

最后,1.3版本系列正在积极开发中,里程碑版本正在进行中。具体来说,仪表板完全重写 - 可能存在错误。虽然可以使用此版本(并欢迎反馈和错误报告),但我建议您切换到最新的GA版本。在撰写本文时,1.2.3.RELEASE是最新的发布版本。

答案 1 :(得分:0)

为了进一步简化手头的问题,让我们在您的环境中尝试以下流。一旦您成功使用它,您就可以查看其他可能出错的流。

流:

  

dataflow:> stream create foo --definition“http --port = 9000 | field-value-counter --fieldName = messageStatusOne --name = bar”--deploy

数据:

  

dataflow:> http post --target http://localhost:9000 --data {“messageStatusOne”:“RECEIVED”,“DateTimeOne”:“2017.09.26.22.03.34”,“messageStatusTwo”:“PROCESSED”,“ DateTimeTwo “:” 2017.09.26.22.03.34" }   POST(text / plain)http://localhost:9000 {“messageStatusOne”:“RECEIVED”,“DateTimeOne”:“2017.09.26.22.03.34”,“messageStatusTwo”:“PROCESSED”,“DateTimeTwo”:“2017.09.26.22.03.34 “}   202接受

列表:

dataflow:>field-value-counter display --name bar Displaying values for field value counter 'bar' ╔════════╤═════╗ ║ Value │Count║ ╠════════╪═════╣ ║RECEIVED│ 1║ ╚════════╧═════╝