API: پایش مصرف
خواندن مصرف پردازنده، حافظه، دیسک و شبکهٔ یک ماشین و مدیریت توکن عامل پایش آن.
اعداد مصرف از یک عامل پایش کوچک داخل ماشین میآیند که هر ۶۰ ثانیه آنها را با توکنی که فقط به همان ماشین تعلق دارد میفرستد. نقاط پایانی /agent/* را خود عامل استفاده میکند؛ شما معمولاً فقط نقاط پایانی /orders/{order}/metrics را صدا میزنید. پایش مصرف را ببینید.
خواندن مصرف یک ماشین
GET /orders/{order}/metrics
درصد پردازنده، حافظه و دیسک اصلی مصرفشده/کل (بایت) و ورودی/خروجی شبکه (بایت در ثانیه) را برای range برابر 1h، 24h (هر دقیقه یک نقطه)، 7d (میانگین ۵ دقیقهای) یا 30d (میانگین ساعتی) برمیگرداند، همراه با اینکه عامل در حال گزارش است یا نه. پردازنده و شبکه برای نقطهای که عامل نتوانسته حساب کند، مثلاً درست پس از راهاندازی مجدد، null هستند.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پارامترهای query
| فیلد | نوع | مقادیر |
|---|---|---|
range |
string | 1h, 24h, 7d, 30d |
پاسخها
200موفق. برمیگرداند:data(VmMetricsSeries).403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID/metrics \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
دریافت دستور نصب عامل
GET /orders/{order}/metrics/agent
وضعیت عامل و دستورهای یکخطی نصب و حذف را برای این ماشین برمیگرداند. فقط مالک ماشین میتواند آن را صدا بزند، چون دستور نصب توکن ماشین را دارد. تا وقتی توکنی وجود ندارد install_command برابر null است؛ با نقطهٔ پایانی تعویض یکی بسازید.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
200موفق. برمیگرداند:data(object).403مجاز نیست، این منبع متعلق به شما نیست
نمونه
curl -X GET https://veneshcloud.ir/api/orders/ORDER_ID/metrics/agent \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
ساخت یا تعویض توکن عامل
POST /orders/{order}/metrics/agent/rotate
توکن عامل ماشین را میسازد یا عوض میکند. توکن قبلی بلافاصله از کار میافتد، پس عاملی که با آن نصب شده تا وقتی دستور نصب جدید را روی ماشین اجرا نکنید گزارشی نمیفرستد. فقط مالک.
احراز هویت: کلید API یا توکن خود را بهصورت Bearer بفرستید.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
order |
integer |
پاسخها
200موفق. برمیگرداند:data(object).403مجاز نیست، این منبع متعلق به شما نیست422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
نمونه
curl -X POST https://veneshcloud.ir/api/orders/ORDER_ID/metrics/agent/rotate \
-H "Authorization: Bearer $VENESH_API_KEY" \
-H "Accept: application/json"
ارسال یک نمونهٔ مصرف (عامل)
POST /agent/metrics
عامل پایش داخل ماشین با توکن عامل همان ماشین بهعنوان توکن Bearer از آن استفاده میکند. فقط اعداد همان یک ماشین را ذخیره میکند (حداکثر یک نقطه در دقیقه) و چیزی برنمیگرداند. مقادیر خارج از حدود معقول پذیرفته نمیشوند.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
بدنهٔ درخواست (application/json)
| فیلد | نوع | الزامی | مقادیر |
|---|---|---|---|
v |
integer | بله | 1 |
agent_version |
string | خیر | |
cpu_percent |
number | بله | |
mem_total |
integer | بله | |
mem_used |
integer | بله | |
disk_total |
integer | بله | |
disk_used |
integer | بله | |
net_rx_bps |
number | بله | |
net_tx_bps |
number | بله |
پاسخها
204انجام شد، محتوایی برنگردانده میشود410413422خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی429درخواستهای بیش از حد
نمونه
curl -X POST https://veneshcloud.ir/api/agent/metrics \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"v":1,"cpu_percent":"string","mem_total":1,"mem_used":1,"disk_total":1,"disk_used":1,"net_rx_bps":"string","net_tx_bps":"string"}'
دریافت یک فایل عامل
GET /agent/{file}
یکی از فایلهای عامل را بهصورت متن ساده برمیگرداند تا پیش از اجرا آن را بخوانید: install.sh، uninstall.sh، venesh-metrics-agent.sh، venesh-metrics-agent.service یا venesh-metrics-agent.timer. عمومی است.
احراز هویت: ندارد، این نقطهٔ پایانی عمومی است.
پارامترهای مسیر
| فیلد | نوع |
|---|---|
file |
string |
پاسخها
200موفق404پیدا نشد
نمونه
curl -X GET https://veneshcloud.ir/api/agent/FILE_ID \
-H "Accept: application/json"
اشیاء
فهرست فیلدهای اشیایی که در بالا برگردانده میشوند.
MetricsAgentStatus
| فیلد | نوع | مقادیر |
|---|---|---|
configured |
boolean | |
status |
string | not_installed, never_seen, online, offline |
last_seen_at |
string | |
agent_version |
string | |
online_seconds |
integer |
VmMetricsPoint
| فیلد | نوع | مقادیر |
|---|---|---|
t |
integer | |
cpu |
number | |
mem_used |
integer | |
mem_total |
integer | |
disk_used |
integer | |
disk_total |
integer | |
net_rx |
integer | |
net_tx |
integer |
VmMetricsSeries
| فیلد | نوع | مقادیر |
|---|---|---|
range |
string | 1h, 24h, 7d, 30d |
step_seconds |
integer | 60, 300, 3600 |
from |
integer | |
to |
integer | |
points |
فهرستی از VmMetricsPoint |
|
agent |
MetricsAgentStatus |