如何在 Windows Apache Minifi 安装上获取 flowStatus
How to get the flowStatus on a Windows Apache Minifi Installation
答案是否定的 - 但 Apache 团队正在按照下面@apiri 的回答寻求开发此功能。
我有一个 Apache NiFi 服务器,用于从多个源 (Windows/Linux) 收集数据,我在其中设置了 minifi。
在每个边缘 minifi 流配置上,我都有一个自我控制的 PG,用于收集 minifi 内部统计信息,例如 instance:health、stats、bulletins。
调用的地方是这样的
如
#/bin/bash
/opt/minifi/bin/minifi.sh flowStatus instance:health,stats,bulletins | tail -2 | head -1
到目前为止一切顺利 - 我得到这个数据提取 json -> 创建一个 Influx Call 并将其推送到一个 InfluxDb 中,然后显示到 Grafana 中,当一个 Egde 关闭或那里时它会发出警报是高队列,甚至是 minifi edge stats bla bla 上的垃圾收集器。
问题:
我如何在 Windowzzzzz 中执行此操作?我快疯了。
.bat 可执行文件没有响应任何 flowStatus 选项
我设法通过 Cygwin 做到了,但我不想在所有环境中设置 Cygwin。
这里有关于我如何实现这一目标的任何想法吗?
谢谢
这是我正在尝试做的小演示:
所有操作都在Windows服务器
上完成
正在工作 - 这是通过安装在 Windows 服务器上的 MobaXterm 客户端完成的。
─
[2018-01-24 11:50.51] /drives/d/minifi/bin
[adrian.oprea.PRODMSTR06] ➤ ./minifi.sh flowStatus connection:all:health,stats | tail -2 | head -1
{"controllerServiceStatusList":null,"processorStatusList":null,"connectionStatusList":[{"name":"OUT Run Script/Extract//2e326e86-0160-1000-7b13-90d03f15b46e","connectionHealth":{"queuedCount":0,"queuedBytes":0},"connectionStats":{"inputCount":30,"inputBytes":2996,"outputCount":30,"outputBytes":2996}},{"name":"OUT Generate Scripts//IN Run Script/Extract","connectionHealth":{"queuedCount":0,"queuedBytes":0},"connectionStats":{"inputCount":10,"inputBytes":12360,"outputCount":10,"outputBytes":12360}}],"remoteProcessGroupStatusList":null,"instanceStatus":null,"systemDiagnosticsStatus":null,"reportingTaskStatusList":null,"errorsGeneratingReport":[]}
不工作
- 这是使用 PowerShell 作为管理员并使用 运行-minifi.bat
完成的
PS D:\minifi\bin> ls
Directory: D:\minifi\bin
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 12/12/2017 11:47 AM 1939 dump-minifi.bat
-a--- 12/12/2017 11:47 AM 1130 minifi-env.bat
-a--- 12/12/2017 11:47 AM 1120 minifi-env.sh
-a--- 12/12/2017 11:47 AM 10999 minifi.sh
-a--- 12/12/2017 11:47 AM 1938 run-minifi.bat
-a--- 12/12/2017 11:47 AM 1909 status-minifi.bat
PS D:\minifi\bin> .\run-minifi.bat flowStatus connection:all:health,stats
The JAVA_HOME environment variable is not defined correctly.
Instead the PATH will be used to find the java executable.
2018-01-24 11:54:55,117 INFO [main] org.apache.nifi.minifi.bootstrap.Command Apache MiNiFi is already running, listening
to Bootstrap on port 49227
2018-01-24 11:54:55,120 INFO [main] org.apache.nifi.minifi.bootstrap.Command Start method returned null, ending start co
mmand.
PS D:\minifi\bin>
我认为问题在于您正在调用 run-minifi.bat
而不是 status-minifi.bat
。 run-minifi.bat
工具用于 start/stop Apache MiNiFi。
这当然是代表我们的疏忽,我们没有明确支持从其中一个 bat 文件调用 flowStatus。
我创建了一个问题以确保在我们的下一个版本中解决这个问题,位于 https://issues.apache.org/jira/browse/MINIFI-430。
临时的解决方法,也在工单中列出:
The current workaround would be to edit/duplicate one of the bat files
and modify the BOOTSTRAP_ACTION to be flowStatus and support handling
additional arguments. For example, this line in run-minifi.bat
(https://github.com/apache/nifi-minifi/blob/e9e9179f8d359bc30aa61c60f5a35441bfb7513a/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/bin/run-minifi.bat#L48)
感谢您提醒我们注意此事。
Update:这已被合并到 repo (https://github.com/apache/nifi-minifi/commit/a08bc9a23e7274fce18ae4e281e1105d97962f99) 的 master 分支中,并将在 0.5.0 版本中提供。
答案是否定的 - 但 Apache 团队正在按照下面@apiri 的回答寻求开发此功能。
我有一个 Apache NiFi 服务器,用于从多个源 (Windows/Linux) 收集数据,我在其中设置了 minifi。
在每个边缘 minifi 流配置上,我都有一个自我控制的 PG,用于收集 minifi 内部统计信息,例如 instance:health、stats、bulletins。
调用的地方是这样的
如
#/bin/bash
/opt/minifi/bin/minifi.sh flowStatus instance:health,stats,bulletins | tail -2 | head -1
到目前为止一切顺利 - 我得到这个数据提取 json -> 创建一个 Influx Call 并将其推送到一个 InfluxDb 中,然后显示到 Grafana 中,当一个 Egde 关闭或那里时它会发出警报是高队列,甚至是 minifi edge stats bla bla 上的垃圾收集器。
问题:
我如何在 Windowzzzzz 中执行此操作?我快疯了。
.bat 可执行文件没有响应任何 flowStatus 选项
我设法通过 Cygwin 做到了,但我不想在所有环境中设置 Cygwin。
这里有关于我如何实现这一目标的任何想法吗?
谢谢
这是我正在尝试做的小演示:
所有操作都在Windows服务器
上完成正在工作 - 这是通过安装在 Windows 服务器上的 MobaXterm 客户端完成的。 ─
[2018-01-24 11:50.51] /drives/d/minifi/bin
[adrian.oprea.PRODMSTR06] ➤ ./minifi.sh flowStatus connection:all:health,stats | tail -2 | head -1
{"controllerServiceStatusList":null,"processorStatusList":null,"connectionStatusList":[{"name":"OUT Run Script/Extract//2e326e86-0160-1000-7b13-90d03f15b46e","connectionHealth":{"queuedCount":0,"queuedBytes":0},"connectionStats":{"inputCount":30,"inputBytes":2996,"outputCount":30,"outputBytes":2996}},{"name":"OUT Generate Scripts//IN Run Script/Extract","connectionHealth":{"queuedCount":0,"queuedBytes":0},"connectionStats":{"inputCount":10,"inputBytes":12360,"outputCount":10,"outputBytes":12360}}],"remoteProcessGroupStatusList":null,"instanceStatus":null,"systemDiagnosticsStatus":null,"reportingTaskStatusList":null,"errorsGeneratingReport":[]}
不工作 - 这是使用 PowerShell 作为管理员并使用 运行-minifi.bat
完成的 PS D:\minifi\bin> ls
Directory: D:\minifi\bin
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 12/12/2017 11:47 AM 1939 dump-minifi.bat
-a--- 12/12/2017 11:47 AM 1130 minifi-env.bat
-a--- 12/12/2017 11:47 AM 1120 minifi-env.sh
-a--- 12/12/2017 11:47 AM 10999 minifi.sh
-a--- 12/12/2017 11:47 AM 1938 run-minifi.bat
-a--- 12/12/2017 11:47 AM 1909 status-minifi.bat
PS D:\minifi\bin> .\run-minifi.bat flowStatus connection:all:health,stats
The JAVA_HOME environment variable is not defined correctly.
Instead the PATH will be used to find the java executable.
2018-01-24 11:54:55,117 INFO [main] org.apache.nifi.minifi.bootstrap.Command Apache MiNiFi is already running, listening
to Bootstrap on port 49227
2018-01-24 11:54:55,120 INFO [main] org.apache.nifi.minifi.bootstrap.Command Start method returned null, ending start co
mmand.
PS D:\minifi\bin>
我认为问题在于您正在调用 run-minifi.bat
而不是 status-minifi.bat
。 run-minifi.bat
工具用于 start/stop Apache MiNiFi。
这当然是代表我们的疏忽,我们没有明确支持从其中一个 bat 文件调用 flowStatus。
我创建了一个问题以确保在我们的下一个版本中解决这个问题,位于 https://issues.apache.org/jira/browse/MINIFI-430。
临时的解决方法,也在工单中列出:
The current workaround would be to edit/duplicate one of the bat files and modify the BOOTSTRAP_ACTION to be flowStatus and support handling additional arguments. For example, this line in run-minifi.bat (https://github.com/apache/nifi-minifi/blob/e9e9179f8d359bc30aa61c60f5a35441bfb7513a/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/bin/run-minifi.bat#L48)
感谢您提醒我们注意此事。
Update:这已被合并到 repo (https://github.com/apache/nifi-minifi/commit/a08bc9a23e7274fce18ae4e281e1105d97962f99) 的 master 分支中,并将在 0.5.0 版本中提供。