Skip to content

SpaceWeb ​

Статус: доступен · пакет wg-flow-plugin-sweb · провайдер sweb · категория cloud.

Плагин ходит в публичный JSON-RPC api.sweb.ru и отдаёт в инвентарь VPS, домены и DNS. Логин и пароль панели остаются в YAML агента.

Сессия у SpaceWeb короткоживущая: плагин сам меняет login+password на Bearer и обновляет его при истечении.

Установка ​

Агент должен быть подключён к API.

bash
docker compose exec agent wg-flow-agent plugin install sweb
# или
wg-flow-agent plugin install sweb

Дальше — локальный UI → Connections → sweb или YAML.

Что попадает в инвентарь ​

Объект SpaceWebresource_typeЗаметки
VPSserver/vps index. Целая plan_price — рубли в месяц. Дробная (тарифы «Облако») — рубли в час, в billing_amount пишется месяц как цена × 730
Домен панелиdomainapex + поддомены из /domains; для apex ещё getDomainInfo
Hostname из A / AAAA / CNAMEdomainдочерние FQDN вроде docs.apex.ru
DNS-записьdnsMX / TXT / SRV и _*; apex/@ как поддомен не дублируется
SSL-сертификатcertificate/vh/ssl и /vps/ssl: срок valid_to, цена продления
DBaaSdatabase/dbaas index: тариф и цена
Балансировщикload_balancer/balancer index: план и цена
Тариф виртуального хостингаhosting/tariff index, один ресурс hosting на аккаунт

Если на аккаунте нет продукта (VPS без хостинга и наоборот), метод отвечает «Object not found» — этот кусок пропускается, остальные ресурсы собираются.

В кабинете домены группируются по apex, как у Prometheus.

Можно выключить кусок сбора: VPS, домены или DNS — отдельно в schema / YAML. Сертификаты, DBaaS, балансировщик и тариф хостинга запрашиваются всегда и просто не появляются, если услуги нет.

Срок и цена ​

Плагин кладёт в metadata поля, по которым потом можно сделать алерт или тариф. Сами алерты и записи затрат плагин не создаёт.

КлючКогда естьСмысл
expires_atдомен, сертификатДата YYYY-MM-DD: окончание регистрации (expired) или действия сертификата (valid_to)
billing_amountцена больше нуляСумма в рублях
billing_currencyвместе с суммойВсегда RUB
billing_periodвместе с суммойmonthly — VPS, DBaaS, балансировщик, хостинг помесячно. yearly — домен, сертификат, хостинг на год

Для домена сумма — цена продления (prolong_price, иначе цена в prolong_confirm, иначе reg_price). Нулевая и отрицательная цена не пишется. У VPS в index нет даты «оплачено до». Целая plan_price — помесячный тариф. Дробная — рубли в час (тарифы «Облако»): месяц в billing_amount считается как цена × 730, сырая ставка остаётся в plan_price_hourly. Панель управления на VPS (ISP) — отдельные isp_license, isp_price, isp_expires_at, в сумму сервера она не входит.

YAML ​

yaml
plugins:
  sweb:
    enabled: true
    sources:
      - id: account
        provider_account: "sweb-main"
        sync_interval_seconds: 300
        url: "https://api.sweb.ru"
        login: "account@example.com"
        password: "…"
        collect_vps: true
        collect_domains: true
        collect_dns: true

Несколько аккаунтов SpaceWeb — несколько sources.

Поля source ​

ПолеОбязательноОписание
idдаКлюч в логах (sweb/account)
provider_accountдаМетка аккаунта в инвентаре
urlнетПо умолчанию https://api.sweb.ru
login / passwordдаУчётная запись панели; password маскируется в UI
collect_vps / collect_domains / collect_dnsнетtrue по умолчанию
sync_interval_secondsнетМинимум 300

Проверка ​

bash
wg-flow-agent status
wg-flow-agent dry-run

В JSON — provider: sweb. Health плагина дергает pay.getBalance (только проверка сессии, баланс в инвентарь не пишется).

Частые ошибки ​

СимптомЧто проверить
JSON-RPC -32603 / sessionплагин должен сам обновить токен; если нет — login/password
Пустые доменыcollect_domains / collect_dns не выключены
Дубли с Cloudflare / Prometheusразные provider — нормально; слияние в кабинете