Rundeck:如何检查Rundeck的健康状况?

时间:2020-07-31 06:51:04

标签: api rundeck

由于其他应用程序正在运行且CPU处于节流状态,因此在生产Rundeck中有一些工作,Rundeck有时会变慢,时滞有时会快要死了,但Rundeckd进程仍会运行。我想设置cron(我知道)以查询rundeck运行状况检查并报告它是否缓慢,直到我们将rundeck迁移到专用VM为止。我发现rundeck3.3默认情况下启用了api,并且我能够在类似http://rundesckhost:4440/metrics/ping的浏览器中查询,它将返回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}}

我已经生成了admin用户的API令牌,以用于脚本编写目的的身份验证。我只想知道如何使用API​​来卷曲令牌以获得结果?我尝试了以下操作,但无法获得所需的结果。

curl --location --request GET 'http://rundeckhost:4440/metrics/ping' \
--header 'Accept: application/json' \
--header 'X-Rundeck-Auth-Token: <generated token here>'

我的ENV规范: 操作系统:Centos 8 | Java:8 | Rundeck:3.3社区版| 脚本语言:curl,bash

2 个答案:

答案 0 :(得分:1)

您的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

答案 1 :(得分:0)

对我自己的问题有更多见解的答案:

如果任何人在使用URL http:// rundeckhost:4440 / api / 35 / metrics / ping时遇到问题,那么api版本将是错误的,对于不同版本的rundeck可能会有所不同。因此,您可以通过访问自己的rundeck http:// rundeckhostIP:4440 / api /来找到正确的版本,它将在其中显示具有api版本的xml,如下所示:

api version

在查询URL中使用该版本号,在本例中为 35