Когда программа Solana запущена, ее транзакции рассказывают подробную историю. Инструкция может завершиться ошибкой, событие может сигнализировать о крупном переводе, или мультисиг может одобрить изменение в программе. Чтобы находить важную активность и знать, исправен ли сам конвейер мониторинга, недостаточно простого потока необработанных логов.
Microscope — это инструмент мониторинга и оповещений с открытым исходным кодом для самостоятельного хостинга программ Solana. Он декодирует инструкции и события программы с помощью ее IDL, превращает эту активность в дашборды Grafana и отправляет оповещения в Slack, Telegram или PagerDuty. Он также может отслеживать мультисиг Squads, который управляет программой. Исходный код доступен на GitHub под лицензией MIT.
От транзакций к сигналам
Microscope считывает подтвержденные транзакции через поток Yellowstone gRPC или конечную точку Solana RPC. Его индексатор декодирует инструкции и события, связанные с программой, а затем отправляет структурированные записи в Loki, а метрики — в Prometheus. Grafana использует эти записи и метрики для отображения активности программы с течением времени и оценки правил оповещений. Один экземпляр развертывания отслеживает одну программу и, опционально, один мультисиг Squads.
Эти декодированные данные делают оповещения более точными. Команда может написать правило для конкретной инструкции или события, проверить поле, например сумму, и выбрать, какой канал получит уведомление. Правило также может отслеживать действия мультисига, включая одобрение предложений. Оповещения основаны на декодированной активности, а не на сопоставлении с текстом необработанных логов.
Дашборд предоставляет командам дополнительный способ проведения расследований. Он показывает показатели ошибок транзакций и инструкций, декодированные инструкции по типу, недавние события программы и активность мультисига. Если в качестве источника данных используется опрос RPC, он также отображает работоспособность опроса. Неудачная инструкция в блокчейне отображается как активность программы; это не означает сбой индексатора.
Знайте, когда конвейер мониторинга требует внимания
Пустой дашборд может означать, что программа неактивна, но он также может означать, что поток данных прекратился. Microscope включает оповещения о работоспособности для собственного конвейера, охватывающие такие условия, как остановленный поток, устаревшие запросы RPC, поврежденная контрольная точка или записи, которые декодируются, но не доходят до Loki. Это помогает командам проверить систему мониторинга, прежде чем делать выводы о программе.
Оповещения содержат метку signal_kind. Оповещения об активности идентифицируют инструкцию, событие или действие мультисига; оповещение об источнике данных указывает на проблему с конвейером мониторинга. Проект также включает рабочий процесс диагностики и руководство по эксплуатации для работы с инцидентами.
Начало работы с Microscope
Microscope может работать как стек Docker Compose на компьютере или сервере, либо на виртуальной машине AWS или GCP с использованием Terraform. Команды, использующие Grafana Cloud, могут подключить индексатор и Alloy к существующему стеку. Проект также предоставляет эталонные манифесты Kubernetes для команд, которые уже используют собственную инфраструктуру наблюдаемости.
Чтобы настроить развертывание, укажите ID и IDL программы, выберите источник транзакций и определите активность, которая должна вызывать оповещения. Мультисиг Squads не является обязательным. Репозиторий включает сквозную функцию настройки развертывания (skill), чтобы помочь ИИ-агенту подготовить и проверить конфигурацию, а также пошаговое руководство по Jupiter Lend, которое демонстрирует стек с набором примеров оповещений.
Ознакомьтесь со страницей продукта Microscope, чтобы узнать о вариантах развертывания, примерах дашбордов и подробнее рассмотреть настройку его оповещений. В репозитории на GitHub находятся код и инструкции по установке.










