Spring Cloud Data Flow 上的分析仪表板无法识别我的任何指标类型的流
Analytics dashboard on Spring Cloud Data Flow does NOT recognize my stream for ANY Metric type
我的流定义如下:-
IngestToBroker = 自定义生产者 --spring.cloud.stream.bindings.output.content-type=application/json --spring.cloud.stream.bindings.output.producer.headerMode=raw > :Kafkatopic1
DataProcessor = :Kafkatopic1> 自定义处理器--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-处理器 > 字段值计数器 --field-name=messageStatusOne
myCountsTwo = :DataProcessor.custom-处理器 > 字段值计数器 --field-name=messageStatusOne
MyFileSink = :kafkatopic2> file --directory=C:\usr\sdflogs --name=My-File-Sink2
当前情况
1) IngestToBroker 和 DataProcessor 效果很好。我得到如下所需的 JSON 输出,它被发送到 KafkaTopic1,然后通过处理器和 kafkaTopic2,最后发送到文件。
{"messageStatusOne":"RECEIVED","DateTimeOne":"2017.09.26.22.03.34","messageStatusTwo":"PROCESSED","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":"RECEIVED","DateTimeOne":"2017.09.26.21.06.52","messageStatusTwo":"PROCESSED","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"}
Custom-Producer 和 Custom-Processor 是我部署的独立应用程序,它们基本上更改数据,前者每隔几秒推送一次新的 JSON 记录。
2) 所有流定义都是如此。它们都很好用,我得到了所需的JSON。 EXCEPT 对于 field-value-counter 定义 myCountsOne 和 myCountsTwo
问题
1) Dashboard PIC for Analytics on my Local SCDF server
它似乎不活跃。指标和可视化没有下拉菜单。我真的需要这个来工作,而且我对 SCDF 还很陌生。我错过了什么?我如何让它工作?
2) 另外在旁注中,我正在尝试使用 SCDF 配置 MarkLogic,但是 SCDF 会接受 ODBC 驱动程序吗?如果我问这一切听起来很愚蠢,请原谅我。谢谢。
更新 我刚刚在我的 Spring 数据流启动控制台中注意到这个错误
"cannot get jedis connection nested exception is redis.clients.jedis.exceptions.jedisConnectionException"
我们是否需要向部署为独立应用程序的自定义处理器添加任何 redis 依赖项?这是我的 Spring 引导版本 -1.5.6.RELEASE。谢谢。
在使用 Analytics in SCDF, both the SCDF-server and the Analytics-apps 时 必须 共享一个通用的 redis-cluster 配置。
I just noticed this error in my Spring Data Flow Startup console
"cannot get jedis connection nested exception is redis.clients.jedis.exceptions.jedisConnectionException"
这个要求是enabled by default;如果 SCDF-server 无法访问 redis-cluster,您会注意到此错误。您可以根据需要选择禁用它。
Do we need to add any redis dependencies to my Custom-Processor which is deployed as a standalone application ?
如果处理器只是向下游应用程序发送聚合数据,则您不需要这样做。实际上只有分析接收器应用程序才需要它。在您的情况下,请确保 SCDF-server 和 field-value-counter
共享相同的 redis-cluster 配置。
最后,1.3 版本线正在积极开发中,里程碑版本正在进行中。具体来说,仪表板完全重写 - 可能存在错误。虽然可以使用此版本(并欢迎反馈和错误报告),但我建议您切换到最新的 GA 版本。在撰写本文时,1.2.3.RELEASE 是最新的生产版本。
为了进一步简化手头的问题,让我们在您的环境中尝试以下流。一旦你成功了,你就可以检查其他流,看看哪里出了问题。
流:
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 ACCEPTED
列表:
dataflow:>field-value-counter display --name bar
Displaying values for field value counter 'bar'
╔════════╤═════╗
║ Value │Count║
╠════════╪═════╣
║RECEIVED│ 1║
╚════════╧═════╝
我的流定义如下:-
IngestToBroker = 自定义生产者 --spring.cloud.stream.bindings.output.content-type=application/json --spring.cloud.stream.bindings.output.producer.headerMode=raw > :Kafkatopic1
DataProcessor = :Kafkatopic1> 自定义处理器--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-处理器 > 字段值计数器 --field-name=messageStatusOne
myCountsTwo = :DataProcessor.custom-处理器 > 字段值计数器 --field-name=messageStatusOne
MyFileSink = :kafkatopic2> file --directory=C:\usr\sdflogs --name=My-File-Sink2
当前情况
1) IngestToBroker 和 DataProcessor 效果很好。我得到如下所需的 JSON 输出,它被发送到 KafkaTopic1,然后通过处理器和 kafkaTopic2,最后发送到文件。
{"messageStatusOne":"RECEIVED","DateTimeOne":"2017.09.26.22.03.34","messageStatusTwo":"PROCESSED","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":"RECEIVED","DateTimeOne":"2017.09.26.21.06.52","messageStatusTwo":"PROCESSED","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"}
Custom-Producer 和 Custom-Processor 是我部署的独立应用程序,它们基本上更改数据,前者每隔几秒推送一次新的 JSON 记录。
2) 所有流定义都是如此。它们都很好用,我得到了所需的JSON。 EXCEPT 对于 field-value-counter 定义 myCountsOne 和 myCountsTwo
问题 1) Dashboard PIC for Analytics on my Local SCDF server
它似乎不活跃。指标和可视化没有下拉菜单。我真的需要这个来工作,而且我对 SCDF 还很陌生。我错过了什么?我如何让它工作?
2) 另外在旁注中,我正在尝试使用 SCDF 配置 MarkLogic,但是 SCDF 会接受 ODBC 驱动程序吗?如果我问这一切听起来很愚蠢,请原谅我。谢谢。
更新 我刚刚在我的 Spring 数据流启动控制台中注意到这个错误
"cannot get jedis connection nested exception is redis.clients.jedis.exceptions.jedisConnectionException"
我们是否需要向部署为独立应用程序的自定义处理器添加任何 redis 依赖项?这是我的 Spring 引导版本 -1.5.6.RELEASE。谢谢。
在使用 Analytics in SCDF, both the SCDF-server and the Analytics-apps 时 必须 共享一个通用的 redis-cluster 配置。
I just noticed this error in my Spring Data Flow Startup console "cannot get jedis connection nested exception is redis.clients.jedis.exceptions.jedisConnectionException"
这个要求是enabled by default;如果 SCDF-server 无法访问 redis-cluster,您会注意到此错误。您可以根据需要选择禁用它。
Do we need to add any redis dependencies to my Custom-Processor which is deployed as a standalone application ?
如果处理器只是向下游应用程序发送聚合数据,则您不需要这样做。实际上只有分析接收器应用程序才需要它。在您的情况下,请确保 SCDF-server 和 field-value-counter
共享相同的 redis-cluster 配置。
最后,1.3 版本线正在积极开发中,里程碑版本正在进行中。具体来说,仪表板完全重写 - 可能存在错误。虽然可以使用此版本(并欢迎反馈和错误报告),但我建议您切换到最新的 GA 版本。在撰写本文时,1.2.3.RELEASE 是最新的生产版本。
为了进一步简化手头的问题,让我们在您的环境中尝试以下流。一旦你成功了,你就可以检查其他流,看看哪里出了问题。
流:
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 ACCEPTED
列表:
dataflow:>field-value-counter display --name bar
Displaying values for field value counter 'bar'
╔════════╤═════╗
║ Value │Count║
╠════════╪═════╣
║RECEIVED│ 1║
╚════════╧═════╝