Rundeck : 如何检查 Rundeck 健康状态?
Rundeck : How to check Rundeck health status?
我们在生产 rundeck 中有一些工作,由于其他应用程序 运行 和节流 CPU,rundeck 有时会变慢,有时会滞后几乎死了,但 rundeckd 进程仍然 运行.我想设置 cron(我知道)来查询 rundeck 健康检查并报告它是否缓慢,直到我们将 rundeck 迁移到专用 VM。我发现 rundeck3.3 默认启用了 api,我可以在浏览器中查询 http://rundesckhost:4440/metrics/ping
,这将 return pong
。显然 http://rundeckhost:4440/metrics/healthcheck
显示 json
{"dataSource.connection.time":{"healthy":true,"message":"Datasource connection healthy with timeout 5 seconds"},"quartz.scheduler.threadPool":{"healthy":true}}
我已生成 API 管理员用户令牌,用于脚本目的身份验证。我只想知道如何使用 API 与令牌一起卷曲以获得结果?我尝试了以下但无法获得所需的结果。
curl --location --request GET 'http://rundeckhost:4440/metrics/ping' \
--header 'Accept: application/json' \
--header 'X-Rundeck-Auth-Token: <generated token here>'
我的环境规范:
OS:Centos 8 |
Java:8 |
Rundeck:3.3 社区版 |
脚本语言:curl,bash
你的 ping API 调用是错误的,下面的调用是有效的:
curl --location --request GET 'http://rundeckhost:4440/api/35/metrics/ping' \
--header 'Accept: application/json' \
--header 'X-Rundeck-Auth-Token: <your-token-here>'
以防万一,您也可以使用 RD CLI 工具,使用命令:
$ rd metrics ping
结果:
# [2020-07-31T09:09:37.200] Pinging server...
# [2020-07-31T09:09:37.503] pong
对我自己的问题的更深入的回答:
如果有人在使用 URL http://rundeckhost:4440/api/35/metrics/ping 时遇到问题,那么它就是错误的 api 版本,不同版本的 rundeck 可能会有所不同.所以你可以通过访问你自己的 rundeck http://rundeckhostIP:4440/api/ 找到正确的版本,它将显示 xml 和 api 版本如下:
在查询 URL 中使用该版本号,在我的例子中是 35.
我们在生产 rundeck 中有一些工作,由于其他应用程序 运行 和节流 CPU,rundeck 有时会变慢,有时会滞后几乎死了,但 rundeckd 进程仍然 运行.我想设置 cron(我知道)来查询 rundeck 健康检查并报告它是否缓慢,直到我们将 rundeck 迁移到专用 VM。我发现 rundeck3.3 默认启用了 api,我可以在浏览器中查询 http://rundesckhost:4440/metrics/ping
,这将 return pong
。显然 http://rundeckhost:4440/metrics/healthcheck
显示 json
{"dataSource.connection.time":{"healthy":true,"message":"Datasource connection healthy with timeout 5 seconds"},"quartz.scheduler.threadPool":{"healthy":true}}
我已生成 API 管理员用户令牌,用于脚本目的身份验证。我只想知道如何使用 API 与令牌一起卷曲以获得结果?我尝试了以下但无法获得所需的结果。
curl --location --request GET 'http://rundeckhost:4440/metrics/ping' \
--header 'Accept: application/json' \
--header 'X-Rundeck-Auth-Token: <generated token here>'
我的环境规范: OS:Centos 8 | Java:8 | Rundeck:3.3 社区版 | 脚本语言:curl,bash
你的 ping API 调用是错误的,下面的调用是有效的:
curl --location --request GET 'http://rundeckhost:4440/api/35/metrics/ping' \
--header 'Accept: application/json' \
--header 'X-Rundeck-Auth-Token: <your-token-here>'
以防万一,您也可以使用 RD CLI 工具,使用命令:
$ rd metrics ping
结果:
# [2020-07-31T09:09:37.200] Pinging server...
# [2020-07-31T09:09:37.503] pong
对我自己的问题的更深入的回答:
如果有人在使用 URL http://rundeckhost:4440/api/35/metrics/ping 时遇到问题,那么它就是错误的 api 版本,不同版本的 rundeck 可能会有所不同.所以你可以通过访问你自己的 rundeck http://rundeckhostIP:4440/api/ 找到正确的版本,它将显示 xml 和 api 版本如下:
在查询 URL 中使用该版本号,在我的例子中是 35.