【问题标题】:Delete graphite events via API通过 API 删除石墨事件
【发布时间】:2015-08-06 08:52:49
【问题描述】:

我正在使用石墨和 grafana,我需要在石墨中创建一些事件。

我目前正在用 curl 做,效果很好:

 curl -X POST http://graphite/events/ -d '{"what": "did_stuff", "tags" : "fun,times"}'

但是,我没有找到如何删除所有事件或具体事件。

我尝试了对 /events 的 DELETE 请求或对 /events/id 的删除请求,但返回了 405 http 代码。

有谁知道如何从 API 中删除事件?

谢谢!

【问题讨论】:

    标签: curl graphite


    【解决方案1】:

    查看 Graphite 事件 source code,我没有看到删除 API。您可以通过 Django Admin Web UI(http://my.graph.ite/admin/events/event)删除事件,因此您应该能够使用 Django 管理 API 以编程方式删除事件。

    FWIW 这是我通过 Django Web UI 删除多个事件时表单的内容:

    _selected_action    52
    _selected_action    51
    _selected_action    50
    _selected_action    49
    _selected_action    48
    action     delete_selected
    csrfmiddlewaretoken  REDACTED
    index       0
    select_across       0
    Source
    csrfmiddlewaretoken=REDACTED&action=delete_selected&select_across=0&index=0&_selected_action
    =52&_selected_action=51&_selected_action=50&_selected_action=49&_selected_action=48 
    

    【讨论】:

    • 谢谢!我会看看;)
    【解决方案2】:

    您也可以直接修改 Graphite DB。

    Delete all records.
    # sqlite3 /opt/graphite/storage/graphite.db
    sqlite> DELETE FROM events_event;
    sqlite> 
    
    Delete record by ID.
    # sqlite3 /opt/graphite/storage/graphite.db
    sqlite> SELECT * FROM events_event;
    1|2016-02-26 13:55:50|STARTING REGION DEPLOYMENT 1.0.0||deployment
    
    sqlite> DELETE FROM events_event WHERE id=1;
    

    【讨论】:

    • django 管理员搞砸了为其创建用户...这仍然是一个有效的解决方案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 2020-10-05
    相关资源
    最近更新 更多