【问题标题】:How to retrieve details from Activity Logs from rundeck如何从 rundeck 的活动日志中检索详细信息
【发布时间】:2021-03-14 07:36:40
【问题描述】:

我正在尝试为我的 Rundeck 创建仪表板

我希望没有作业已执行、通过、失败、终止,这在 Rundeck 工具的活动日志中可用。但是不能在excel表格中下载..Here is the Dashboard Format , i am Looking

我想下载每天、每周和每月的数据,然后使用 tableau 创建仪表板。告诉我

或者他们无论如何我都可以直接集成我的 rundeck 和画面并创建一个类似的仪表板

【问题讨论】:

    标签: tableau-api dashboard rundeck


    【解决方案1】:

    您可以从 API 获取所有这些数据,(例如获取 execution info):

    #!/bin/sh
    
    # protocol
    protocol="http"
    
    # basic rundeck info
    rdeck_host="localhost"
    rdeck_port="4440"
    rdeck_api="36"
    rdeck_token="nMp0uRsNUAH0w17JXxoDPqoBq6V4mB2O"
    
    # specific api call info
    execution="2"
    
    # get the job forecast
    curl -s --location --request GET "$protocol://$rdeck_host:$rdeck_port/api/$rdeck_api/execution/$execution" \
      --header "Accept: application/json" \
      --header "X-Rundeck-Auth-Token: $rdeck_token" | jq
    

    输出:

    {
      "id": 2,
      "href": "http://localhost:4440/api/36/execution/2",
      "permalink": "http://localhost:4440/project/ProjectEXAMPLE/execution/show/2",
      "status": "succeeded",
      "project": "ProjectEXAMPLE",
      "executionType": "user",
      "user": "admin",
      "date-started": {
        "unixtime": 1606853136420,
        "date": "2020-12-01T20:05:36Z"
      },
      "date-ended": {
        "unixtime": 1606853136878,
        "date": "2020-12-01T20:05:36Z"
      },
      "job": {
        "id": "900a885b-576c-4c8c-a118-4bd1bf775c7b",
        "averageDuration": 458,
        "name": "Test",
        "group": "",
        "project": "ProjectEXAMPLE",
        "description": "",
        "href": "http://localhost:4440/api/36/job/900a885b-576c-4c8c-a118-4bd1bf775c7b",
        "permalink": "http://localhost:4440/project/ProjectEXAMPLE/job/show/900a885b-576c-4c8c-a118-4bd1bf775c7b"
      },
      "description": "echo $LANG [... 2 steps]",
      "argstring": null,
      "serverUUID": "bd2d85ef-f9f9-4805-b51c-a4bbcf5875e3",
      "successfulNodes": [
        "localhost"
      ]
    }
    

    如果你想过滤,你可以使用任何 JSON 解析器工具,在我的例子中,我使用了JQjq -r .status 来获取执行状态):

    #!/bin/sh
    
    # protocol
    protocol="http"
    
    # basic rundeck info
    rdeck_host="localhost"
    rdeck_port="4440"
    rdeck_api="36"
    rdeck_token="nMp0uRsNUAH0w17JXxoDPqoBq6V4mB2O"
    
    # specific api call info
    execution="2"
    
    # get the job forecast
    curl -s --location --request GET "$protocol://$rdeck_host:$rdeck_port/api/$rdeck_api/execution/$execution" \
      --header "Accept: application/json" \
      --header "X-Rundeck-Auth-Token: $rdeck_token" | jq -r .status
    

    输出:

    succeeded
    

    因此,查看 Tableau 文档,您可以通过 Tableau API 发送您的结果。实际上,您可以使用 Server API Client (python) 来执行此操作,也许使用一些 Rundeck 作业通过 Tableau API 在任何 python script step 上将该数据发送到 Tableau 是个好主意。

    【讨论】:

    • 谢谢,能够实现上述目标,当每月或每周获取数据时,这是行不通的,你能帮忙吗? ``` #!/bin/sh 协议="http" rdeck_host="machinexyz.local" rdeck_port="4440" rdeck_api="35" rdeck_token="token" rdeck_project="projectRun" xy="1w" curl -s - -location --request GET "$protocol://$rdeck_host:$rdeck_port/api/$rdeck_api/project/$rdeck_project/$xy" \ --header "接受:应用程序/json" \ --header "X-Rundeck -Auth-Token: $rdeck_token" ```
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    相关资源
    最近更新 更多