Я управляю продуктом, в котором мы настраиваем полную среду для каждого клиента.
Продукт состоит из внешнего интерфейса Angular с бэкэндом API ASP.Net.Core и базой данных сервера SQL.
В результате получается архитектура, например,
https://customer1.product.com и https://customer1.product.com/api
https://customer2.product.com и https://customer1.product.com/api
и т. Д. ... Сайт для каждого клиента, но несколько сайтов клиентов совместно используют один и тот же сервер IIS.
Я пытался включить Application Insight хотя бы для API и включить проверку работоспособности.
Я заставил их обоих работать в доказательстве концепции - вопрос здесь в том, как лучше всего организовать длинный список сайтов в Application Insights.
Я хотел бы получить общее представление о сервере с суммированным общим количеством запросов по API и т. Д.
Это приводит меня к одному общему ресурсу Insight, и все API используют один и тот же инструментальный ключ.
Тем не менее, для проверки работоспособности я могу добавить только 100 тестов ping к одному ресурсу. Я думал о создании независимой службы, которая, используя список сайтов, могла бы использовать новое ядро .Net 2.2. Проверка работоспособности и проверка связи каждого сайта с внешнего сервера, а затем настройка этого параметра на .Net Core Health Check в качестве проверки связи на ресурсе Insight. (Использовал это как вдохновение: https://www.hanselman.com/blog/HowToSetUpASPNETCore22HealthChecksWithBeatPulsesAspNetCoreDiagnosticsHealthChecks.aspx). Но тогда я не получал бы пользу от региональных тестов Insights - так как все запросы приходили из моего API проверки работоспособности.
Но я не уверен, если и как я мог бы настроить это так, чтобы, как только один сайт вышел из строя, например из-за неправильной конфигурации я бы получил уведомление, что только один сайт не работает.
Так что я хотел бы получить информацию о том, как другие, если таковые имеются, реализовали подобные сценарии.
Я бы хотел
- Понимание на уровне сервера, например запросы, загрузка и т. д. для сайтов.
- Но детализация до одного сайта также будет полезна для распределения нагрузки для клиентов
- Два теста ping на каждом сайте, Angular index.html и вызов API, который подключается к базе данных.
- Простая настройка, поэтому, когда мы получаем новых клиентов, часть мониторинга будет либо самоконфигурируемой, либо скриптовой. По крайней мере, нам не следует заходить на портал Azure Insights.
Я не обязательно ищу полные детали реализации, больше архитектурных рекомендаций о том, как я мог бы структурировать установку, подобную этой.
Также приветствуются предложения по другим продуктам, кроме Application Insights. Только что посчитал, что Insights хорошо подходит для API Asp.Net.Core. Уже используете Sentry для сбора отчетов об ошибках.
С наилучшими пожеланиями
/ Anders