Панель мониторинга Aspire 13.6 хранит последние десять запусков в SQLite
Aspire 13.6.0 делает панель мониторинга постоянной: снимки ресурсов и телеметрия сохраняются в базе данных SQLite, AppHost хранит до десяти запусков на приложение, а завершённые запуски остаются доступны для просмотра в режиме только чтения. Как работают режимы Run, Resume и None и как настроить автономную панель.
Aspire 13.6.0 вышел 29 сентября 2026 года, и первое, что бросается в глаза: панель мониторинга больше не забывает всё при остановке AppHost. До версии 13.5 панель хранила телеметрию в памяти: стоило нажать Ctrl+C после воспроизведения бага, и нужная трассировка пропадала. В 13.6 панель сохраняет снимки ресурсов и телеметрию в версионированную базу данных SQLite, а селектор в заголовке позволяет переключаться между текущим запуском и предыдущими.
Что AppHost делает по умолчанию
Когда панель запускается из AppHost, она использует персистентность Run без какой-либо настройки. Каждый aspire run становится отдельной записью, и для каждого приложения хранится до десяти запусков. Завершённые запуски доступны только для чтения, поэтому можно открыть запуск до исправления и сравнить его ресурсы, структурированные журналы, трассировки и метрики с текущим запуском рядом друг с другом.
Код AppHost менять не нужно. Это тот же файл, что был у вас вчера:
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddRedis("cache");
builder.AddProject<Projects.Api>("api")
.WithReference(cache);
builder.Build().Run();
По умолчанию данные попадают в <ASPIRE_HOME>/dashboard и разделяются по имени приложения.
Буферы больше, но по-прежнему ограничены
В том же релизе значения по умолчанию для сообщений журнала консоли, структурированных журналов и трассировок увеличены до 100 000 каждое. Это по-прежнему кольцевые буферы, а не архив: при превышении лимита самые старые записи отбрасываются. Если нужно больше или меньше, действуют существующие параметры, например Dashboard:TelemetryLimits:MaxLogCount, Dashboard:TelemetryLimits:MaxTraceCount и Dashboard:Frontend:MaxConsoleLogCount, или переменные окружения в стиле DASHBOARD__TELEMETRYLIMITS__MAXLOGCOUNT.
Автономная панель: None, Run, Resume
Автономная панель по умолчанию сохраняет прежнее поведение: персистентность None, то есть временная база данных, которая удаляется при остановке панели. Чтобы сохранять данные между перезапусками, используйте Resume с постоянным именем приложения:
aspire dashboard run --application-name my-app --persistence Resume
В контейнере смонтируйте каталог данных на том и каждый раз передавайте те же три значения:
docker run --rm -it -p 18888:18888 -p 4317:18889 \
-v aspire-dashboard-data:/data \
-e ASPIRE_DASHBOARD_DATA_DIRECTORY=/data \
-e ASPIRE_DASHBOARD_APPLICATION_NAME=my-app \
-e ASPIRE_DASHBOARD_PERSISTENCE_MODE=Resume \
mcr.microsoft.com/dotnet/aspire-dashboard:latest
Если имя приложения, каталог или режим меняются между перезапусками, вместо истории вы получите новую базу данных. Имя приложения также определяет имена cookie аутентификации и antiforgery в панели, поэтому выберите одно имя для каждого приложения и не меняйте его.
Относитесь к базе данных как к секрету
В примечаниях к релизу об этом сказано прямо: файл SQLite может содержать конфиденциальные значения ресурсов и телеметрии, а собственных средств шифрования или авторизации у него нет. В Unix права доступа к файлу ограничены владельцем; в Windows ACL за вас не настраиваются. Переменные окружения, которые вы передаёте ресурсам, строки подключения в снимках ресурсов и всё, что пишет в журнал ваше приложение, теперь остаются на диске после завершения запуска. Не монтируйте этот том в общие места и не добавляйте ASPIRE_HOME в образ dev-контейнера.
Изменилась и сама панель: теперь она поставляется как Native AOT и перешла на Fluent UI v5 со сворачиваемой панелью навигации. Терминалы, принадлежащие AppHost, теперь открываются в доке панели, что продолжает работу над WithTerminal из 13.5, а 13.6 дополнительно добавляет опциональные клиенты баз данных WithRepl(). Полный список, включая критические изменения, приведён в What’s new in Aspire 13.6.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.