api-health
API Health — проверка здоровья JSON-RPC сервиса через SMD. Используй когда нужно убедиться что RPC-endpoint жив, собрать тайминги методов или диагностировать недоступность API.
- License 许可
- MIT
- 最近更新
- 2026-11-05
- Stars
- ★ 7
- Forks
- 1
01 前言 Front Matter
- name
- api-health
- description
- API Health — проверка здоровья JSON-RPC сервиса через SMD. Используй когда нужно убедиться что RPC-endpoint жив, собрать тайминги методов или диагностировать недоступность API.
03 SKILL.md 正文
API Health — проверка JSON-RPC сервисов
Проверка здоровья API и тестовые запросы к JSON-RPC (zenrpc) сервисам.
Подключение
Profile: @{api_prod_profile} (production), @{api_dev_profile} (staging)
API type: JSON-RPC 2.0 (zenrpc)
RPC endpoint: определяется при онбординге (может быть /rpc/, /v1/rpc/, /v3/rpc/ и т.д.)
Особенности:
/statusи/healthcheckобычно скрыты за firewall, недоступны снаружи- SMD (GET на RPC endpoint) может не работать через reverse proxy (фронтенд перехватывает GET)
- RPC endpoint может быть версионирован:
/v1/rpc/,/v3/rpc/— уточнять при онбординге
Команды pcurl
JSON-RPC запрос
pcurl @{profile} https://{host}/{rpc_endpoint} -s -L -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"{namespace.method}","params":{params},"id":1}'
С таймингами
pcurl @{profile} https://{host}/{rpc_endpoint} -s -L -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"{namespace.method}","params":{params},"id":1}' \
-w '\n---\nHTTP %{http_code} | Time: %{time_total}s | TTFB: %{time_starttransfer}s | Size: %{size_download}b\n'
Только тайминги
pcurl @{profile} https://{host}/{rpc_endpoint} -s -o /dev/null -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"{namespace.method}","params":{params},"id":1}' \
-w 'HTTP %{http_code} | Total: %{time_total}s | TTFB: %{time_starttransfer}s\n'
SMD (Service Mapping Description)
# SMD доступен через ?smd query parameter
pcurl @{profile} 'https://{host}/{rpc_endpoint}?smd' -s -L
# SMDBox UI (документация в браузере)
# https://{host}/{rpc_endpoint}doc/
JSON-RPC 2.0 формат
Запрос:
{"jsonrpc": "2.0", "method": "namespace.method", "params": {"key": "value"}, "id": 1}
Успех:
{"jsonrpc": "2.0", "result": {...}, "id": 1}
Ошибка (HTTP 200, но error в body!):
{"jsonrpc": "2.0", "error": {"code": -32600, "message": "Invalid Request"}, "id": 1}
Стандартные коды ошибок zenrpc
-32700— Parse error-32600— Invalid Request-32601— Method not found-32602— Invalid params-32603— Internal error400— Bad Request (валидация)401— Unauthorized (Invalid token)403— Forbidden404— Not Found500— Internal Error
04 同仓库更多 Skills
zenrpc
Zenrpc — справочник по JSON-RPC 2.0 серверу для Go. Используй при создании и редактировании RPC-сервисов.
youtrack
YouTrack — задачи через REST API и pcurl. Используй для поиска issues, создания, обновления описаний, смены assignee/stage/приоритета, логирования времени и работы с комментариями.
topsrv
topsrv — метрики, алерты, CVE и HTTP-логи серверов проекта через публичный JSON-RPC API app.topsrv.io. Используй, когда нужна загрузка CPU, памяти или диска хоста, метрики PostgreSQL/nginx/angie агента topsrv (`topsrv_*`), какие алерты горят, уязвимые пакеты на серверах или кто (боты, сети, IP) нагружает сайт.
testing
Testing — используй всегда, когда пишешь или правишь Go-тесты (*_test.go), в том числе по сценариям Given/When/Then из spec: фреймворк как в соседних файлах, префикс TestDB, фабрики pkg/db/test, реальная БД без моков. Также при настройке TestMain/test-short и когда тесты падают в gate, но проходят локально.
solve
Solve — полный цикл решения задачи из YouTrack: preflight → анализ → план → реализация → ревью → коммит. Используй при любой YouTrack-задаче (`/solve PLF-819`); флаг `--fast` сокращает HITL для тривиальных багфиксов.
skills-check
Skills Check — smoke-тесты интеграций из project-index.md. Используй для проверки что pcurl-профили и URL всех data-source скиллов ещё живы.