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 انجام شد، محتوایی برنگردانده می‌شود
  • 410
  • 413
  • 422 خطای اعتبارسنجی یا مجاز نبودن در وضعیت فعلی
  • 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