{% extends "base.html" %} {% set active = "diagnostics" %} {% block title %}Диагностика - Ozon MCP{% endblock %} {% block content %}

Диагностика

Автопроверка каждые {{ interval_min }} мин: доступность хостов Ozon + лёгкие реальные запросы по 12 категориям Seller API + проверка ключей Performance API.

{% if degradations %}
⛔ Деградации инструментов (возможно изменение Ozon API)

Эти инструменты раньше работали, а теперь стабильно падают:

{% for d in degradations %} {% endfor %}
ИнструментПоследний успехОшибок подрядПоследняя ошибка
{{ d.tool }} {{ d.last_success }} {{ d.consecutive_errors }} {{ d.last_error }}
{% endif %} {% for shop in shops %}
{{ shop.name }} ({{ shop.id }}) {% if shop.last_check %} {% if shop.last_check.healthy %} ✅ Здоров {% else %} ⛔ Есть проблемы {% endif %} {% endif %}

Ключи: Seller API {% if shop.seller_keys_set %}заданы{% else %}НЕ заданы{% endif %} · Performance API {% if shop.perf_keys_set %}заданы{% else %}не заданы{% endif %}
Ozon-ключи не содержат срока действия — истечение видно по 401 в пробах. Не забывайте о плановой ротации ключей.

{% if shop.last_check %}
Проверка {{ shop.last_check.checked_at }}: хосты {{ shop.last_check.hosts | selectattr('ok') | list | length }}/{{ shop.last_check.hosts | length }}, пробы {{ shop.last_check.probes | selectattr('ok') | list | length }}/{{ shop.last_check.probes | length }} {% if shop.last_check.warnings %} {% for w in shop.last_check.warnings %}

{{ w }}

{% endfor %} {% endif %}
{% for h in shop.last_check.hosts %} {% endfor %}
Хостms
{{ h.host }} {{ h.latency_ms }} {% if h.ok %}OK{% else %}{{ h.error }}{% endif %}
{% for p in shop.last_check.probes %} {% endfor %}
Категория (проба)ms
{{ p.category }} {{ p.latency_ms }} {% if p.ok %}OK{% if p.note %} ({{ p.note }}){% endif %}{% elif p.skipped %}пропущено{% else %}{{ p.status_code or 'ERR' }}{% if p.hint %} — {{ p.hint }}{% endif %}{% endif %}
{% else %}

Проверок ещё не было — нажмите «Проверить сейчас».

{% endif %}
{% endfor %} {% if history %}
История проверок
{% for h in history %} {% endfor %}
ВремяМагазинСтатусХост-ошибкиПроба-ошибкиПредупреждения
{{ h.at }} {{ h.shop }} {% if h.healthy %}OK{% else %}ПРОБЛЕМЫ{% endif %} {{ h.ping_failures }} {{ h.probe_failures }} {{ h.warnings | join('; ') }}
{% endif %} {% endblock %} {% block scripts %} {% endblock %}