优化更新中英文文档-管理面板-API

This commit is contained in:
Kris
2024-05-14 03:41:08 +02:00
parent 9168bd707e
commit 4a6d3e80d0
2 changed files with 204 additions and 72 deletions
+99 -35
View File
@@ -2,37 +2,50 @@
outline: deep
---
**哪吒面板现在已经支持使用 API 接口查询面板中 Agent 的状态信息**
**哪吒监控支持使用 API 接口查询面板中 Agent 的状态信息**
## 创建 Token
哪吒面板的 API 接口允许使用 Token 认证与 Cookies 认证
要新建一个 Token,在进入管理面板后,点击右上角的头像,选择 “API Token”,进入 Token 管理页面
点击 “添加 Token”,自定义备注后,点击 “添加”
如需删除一个 Token,请选择相应的 Token,点击右侧的删除图标
::: warning
Token 是 API 接口的鉴权工具,它对你的面板的信息安全非常重要,请不要泄漏你的 Token 给他人
哪吒面板的 API 接口允许使用 Token 认证与 Cookies 认证。要新建一个 Token,在进入管理面板后,点击右上角的头像,选择 “API Token”,进入 Token 管理页面。点击 “API Token”,自定义备注后,点击 “添加”。
如需删除一个 Token,请选择相应的 Token,点击右侧的删除图标
::: warning
Token 是 API 接口的鉴权凭据,它对你的面板的信息安全非常重要,请不要泄漏你的 Token 给他人。
:::
## 认证方式
Token 认证方式:
```
Request Headers:
Authorization: Token
```
## 使用说明
::: warning
下面示例中的负数时间戳为(0000-00-00)
目前表示 Dashboard 上线后该 Agent 从未汇报过
但不建议用正负性判断状态
:::
::: tip
**请求方式为 `Get`,返回格式为 `JSON`**
:::
+ 获取服务器列表:`GET /api/v1/server/list?tag=`
query: tag (ServerTag 是服务器的分组,提供此参数则仅查询该分组中的服务器)
JSON 返回示例:
确保在请求头中包含 `Authorization: Token` 进行身份认证。
Token 认证方式:
```
Request Headers:
Authorization: Token
```
## 使用说明
::: warning
下面示例中的负数时间戳为(0000-00-00),目前表示 Dashboard 上线后该 Agent 从未汇报过,但不建议用正负性判断状态。
:::
::: tip
**请求方式为 `GET`,返回格式为 `JSON`**
:::
### 获取服务器列表
请求:
```
GET /api/v1/server/list?tag=
```
参数:
- `tag`(可选):ServerTag 是服务器的分组,提供此参数则仅查询该分组中的服务器。
返回示例:
```json
{
"code": 0,
"message": "success",
@@ -57,14 +70,21 @@ JSON 返回示例:
}
]
}
```
+ 获取服务器详情:`GET /api/v1/server/details?id=&tag=`
query: id (ServerID 多个 ID 以逗号分隔,提供此参数则查询该 ID 对应的服务器,同时无视tag参数)
query: tag (ServerTag 提供此参数则仅查询该分组下的服务器)
JSON 返回示例:
```
### 获取服务器详情
请求:
```
GET /api/v1/server/details?id=&tag=
```
参数:
- `id`(可选):ServerID,多个 ID 以逗号分隔,提供此参数则查询该 ID 对应的服务器,同时无视 `tag` 参数。
- `tag`(可选):ServerTag,提供此参数则仅查询该分组下的服务器。
返回示例:
```json
{
"code": 0,
"message": "success",
@@ -93,7 +113,7 @@ JSON 返回示例:
"Version": ""
},
"status": {
"CPU": 17.330210772540017,
"CPU": 17.33,
"MemUsed": 14013841408,
"SwapUsed": 0,
"DiskUsed": 2335048912896,
@@ -102,9 +122,9 @@ JSON 返回示例:
"NetInSpeed": 10806,
"NetOutSpeed": 5303,
"Uptime": 331080,
"Load1": 5.23486328125,
"Load5": 4.873046875,
"Load15": 3.99267578125,
"Load1": 5.23,
"Load5": 4.87,
"Load15": 3.99,
"TcpConnCount": 195,
"UdpConnCount": 70,
"ProcessCount": 437
@@ -152,3 +172,47 @@ JSON 返回示例:
]
}
```
## 使用案例
### 获取所有服务器信息
```python
import requests
url = "http://your-dashboard/api/v1/server/list"
headers = {
"Authorization": "your_token"
}
response = requests.get(url, headers=headers)
data = response.json()
for server in data['result']:
print(f"Server Name: {server['name']}, Last Active: {server['last_active']}, IP: {server['valid_ip']}")
```
### 获取特定服务器详情
```python
import requests
server_id = 1 # 替换为你的服务器ID
url = f"http://your-dashboard/api/v1/server/details?id={server_id}"
headers = {
"Authorization": "your_token"
}
response = requests.get(url, headers=headers)
data = response.json()
server = data['result'][0]
print(f"Server Name: {server['name']}")
print(f"CPU Usage: {server['status']['CPU']}%")
print(f"Memory Used: {server['status']['MemUsed']} bytes")
print(f"Disk Used: {server['status']['DiskUsed']} bytes")
print(f"Network In Speed: {server['status']['NetInSpeed']} bytes/s")
print(f"Network Out Speed: {server['status']['NetOutSpeed']} bytes/s")
```
通过以上示例代码,可以轻松获取和处理服务器的状态信息,从而实现自动化监控和管理。