【问题标题】:Dashing set status of widget using curl使用 curl 快速设置小部件的状态
【发布时间】:2015-10-13 10:31:33
【问题描述】:

我不确定这是否可能,但我正在尝试使用 curl 更新 Dashing 中文本小部件的状态。

我要更新的状态是“警告”或“危险”,以反映服务器是否出现故障或无响应。我的想法是仪表板将在仪表板初始化时填充几个绿色文本小部件,所有这些小部件都在线显示。定期在其他机器上运行的服务会将请求发布到仪表板以更改小部件的状态。

我尝试使用 curl 来模拟来自其他机器的发布消息,并且我能够更新文本小部件的文本和标题,但没有更新状态。

我一直在使用:

curl -d "{ \"auth_token\": \"YOUR_AUTH_TOKEN\", \"status\": \"danger\" }" -H "Content-Type: application/json" http://localhost:3030/widgets/frontend11

但小部件不会改变颜色。我已经看到了修改咖啡脚本代码以包含这种可能性的示例,但我认为这个功能包含在所有小部件中?

【问题讨论】:

    标签: ruby curl dashboard dashing


    【解决方案1】:

    我们这样做 - 通过 curl 更改状态 - 效果很好。这是我们的代码片段:

        json='{ "auth_token": "'$dashing_auth_token'", "current": '$widget_value', "value": '$widget_value', "status": "'$widget_status'" }'
    
        curl -H Content-Type:application/json -d "${json}" "${dashing_url}widgets/${widget_id}"
    

    上面是一个函数,它传递了所有变量,但希望变量名很容易在那里阅读,你可以理解它。如果对您有帮助,我可以写更多(或发送整个功能),但我认为仅这两行就足以让您到达那里,而不会产生所有其他混乱。让我知道是否有更多帮助。

    【讨论】:

    • 感谢您的回复。当我从 Windows 命令行使用 curl 时,我现在使用的行会更改小部件的文本,但它不会改变小部件的颜色: curl -d "{ \"auth_token\": \"YOUR_AUTH_TOKEN\" , \"text\": \"TEST\", \"status\": \"danger\" }" -H "Content-Type: application/json" localhost:3030/widgets/frontend11
    • 这看起来是足够合理的代码。你对scss进行了任何更改吗?例如,我们将“危险”作为一种状态删除。 '危险' 和 '警告' 并没有立即明显哪个更“糟糕”,因此我们更改了它们以将我们的 nagios 服务器与“警告”和“关键”相匹配,这似乎也更容易识别它们的区别。
    • 我无法让它工作,所以作为替代方案,我使用了执行类似解决方案的“服务器状态广场”小部件。谢谢。
    猜你喜欢
    • 2019-12-27
    • 2021-02-16
    • 1970-01-01
    • 2019-06-26
    • 2021-08-03
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多