AI摘要
本文介绍了一个用于 Vigil 状态管理的单页面应用程序的仓库地址,并提供了使用方法和示例页面。此外,还提供了 Vigil Reporting HTTP API 和 Manager HTTP API 的详细说明,包括列表发布公告、插入新公告、撤回公告、列出探测器警报、解决探测器警报的忽略规则和更新忽略规则等内容。
我写了一个单页面用于管理
仓库地址为:https://github.com/woodchen-ink/vigil_status_manager
使用方法
将manager.html
页面放在与你status.example.com
同一个服务下,修改第109行为你自己的网址。然后打开这个网页即可。
示例页面
你需要先输入你的manager_token
,然后才能进行其他操作。
官方是有文档的,但是很不方便调用:
原文档为:https://github.com/valeriansaliou/vigil/blob/master/PROTOCOL.md#vigil-manager-http-api
Vigil Protocol
Vigil Reporter HTTP API
1️⃣ Report a replica
Endpoint URL:
HTTP POST https://status.example.com/reporter/
Where:
-
node_id
: The parent node of the reporting replica -
probe_id
: The parent probe of the node
Request headers:
- Add an
Authorization
header with aBasic
authentication where the password is your configuredreporter_token
. - Set the
Content-Type
toapplication/json; charset=utf-8
, and ensure you submit the request data as UTF-8.
Request data:
Adjust the request data to your replica context and send it as HTTP POST
:
{
"replica": "",
"interval": 30,
"load": {
"cpu": 0.30,
"ram": 0.80
}
}
Where:
-
replica
: The replica unique identifier (eg. the server LAN IP) -
interval
: The push interval (in seconds) -
load.cpu
: The general CPU load, from0.00
to1.00
(can be more than1.00
if the CPU is overloaded) -
load.ram
: The general RAM load, from0.00
to1.00
2️⃣ Flush a replica
Endpoint URL:
HTTP DELETE https://status.example.com/reporter/
Where:
-
node_id
: The parent node of the reporting replica -
probe_id
: The parent probe of the node -
replica_id
: The replica unique identifier (eg. the server LAN IP)
Request headers:
- Add an
Authorization
header with aBasic
authentication where the password is your configuredreporter_token
.
Vigil Manager HTTP API
1️⃣ List published announcements
Endpoint URL:
HTTP GET https://status.example.com/manager/announcements/
Request headers:
- Add an
Authorization
header with aBasic
authentication where the password is your configuredmanager_token
.
2️⃣ Insert a new announcement
Endpoint URL:
HTTP POST https://status.example.com/manager/announcement/
Request headers:
- Add an
Authorization
header with aBasic
authentication where the password is your configuredmanager_token
. - Set the
Content-Type
toapplication/json; charset=utf-8
, and ensure you submit the request data as UTF-8.
Request data:
Adjust the request data to your announcement and send it as HTTP POST
:
{
"title": "",
"text": "<text>"
}</code></pre><p>Where:</p><ul><li><code>title</code>: The title for the announcement</li><li><code>text</code>: The description text for the announcement (can be multi-line)</li></ul><h4>3️⃣ Retract a published announcement</h4><p><strong>Endpoint URL:</strong></p><p><code>HTTP DELETE https://status.example.com/manager/announcement/<announcement_id>/</code></p><p>Where:</p><ul><li><code>announcement_id</code>: The announcement identifier to be removed</li></ul><p><strong>Request headers:</strong></p><ul><li>Add an <code>Authorization</code> header with a <code>Basic</code> authentication where the password is your configured <code>manager_token</code>.</li></ul><h4>4️⃣ List prober alerts</h4><p><strong>Endpoint URL:</strong></p><p><code>HTTP GET https://status.example.com/manager/prober/alerts/</code></p><p><strong>Request headers:</strong></p><ul><li>Add an <code>Authorization</code> header with a <code>Basic</code> authentication where the password is your configured <code>manager_token</code>.</li></ul><h4>5️⃣ Resolve ignore rules for prober alerts</h4><p><strong>Endpoint URL:</strong></p><p><code>HTTP GET https://status.example.com/manager/prober/alerts/ignored/</code></p><p><strong>Request headers:</strong></p><ul><li>Add an <code>Authorization</code> header with a <code>Basic</code> authentication where the password is your configured <code>manager_token</code>.</li></ul><h4>6️⃣ Update ignore rules for prober alerts</h4><p><strong>Endpoint URL:</strong></p><p><code>HTTP PUT https://status.example.com/manager/prober/alerts/ignored/</code></p><p><strong>Request headers:</strong></p><ul><li>Add an <code>Authorization</code> header with a <code>Basic</code> authentication where the password is your configured <code>manager_token</code>.</li><li>Set the <code>Content-Type</code> to <code>application/json; charset=utf-8</code>, and ensure you submit the request data as UTF-8.</li></ul><p><strong>Request data:</strong></p><p>Adjust the request data to your announcement and send it as <code>HTTP PUT</code>:</p><pre><code class="lang-json">{
"reminders_seconds": 600
}</code></pre><p>Where:</p><ul><li><code>reminders_seconds</code>: The number of seconds during which downtime reminders should not be sent anymore (skipped)</li></ul><hr><p></p>
评论区