Monitoring aplikacji intranetowej na produkcji

0

Kompletuję narzędzia i kompetencje :) przed odpaleniem projektu w .net 5, który będzie backendem dla intranetowej aplikacji w przedsiębiorstwie. Wszystko we własnej serwerowni.

Komercyjne doświadczenie mam w innych technologiach i chciałem Was zapytać o dobre, standardowe dla branży rozwiązania do monitorowania i debugowania aplikacji na produkcji. Wyobrażam sobie, że takie narzędzie w przypadku .net zapewnia standardowy health-check (czy proces żyje, obciążenie CPU i zajętość pamięci), powiadamia o niewyłapanych wyjątkach i dane przydatne do debugowania.

Czytałem o Azure Application Insights, ale informacje o spięciu tej usługi z klasycznym intranetem są dość skąpe. Widziałem też, że jest Sentry dla .net, z którym mam dobre doświadczenia z innych technologii, ale nie oferuje ono chyba nic więcej poza powiadomieniami i ograniczonym zestawem informacji.

Chciałbym na maksa wykorzystać możliwości, jakie daje .net, w tym te snapshoty do debugu, bo to wydaje się się mega przydatnym ficzerem.

Dzięki za wszelkie podpowiedzi :)

6

Masz tutaj kilka możliwości. Bardzo popularny jest stack: Grafana + Prometheus. To takie minimum. Do tego możesz dorzucić jakieś centralne logowanie: Seq, Fluentd. Aktualnie korzystam z Serilog i odpowiednich wiader (ang. sinks), które wrzucają logi np. do Seq. Ale to jest opcja.

Wystawiasz 3 podstawowe endpointy:

  • /health - czy twoja aplikacja żyje
  • /ready - czy jest w stanie obsługiwać żądania (ma połączenie do DB, zewnętrznych API czy innych zasobów)
  • /metrics - metryki (obciążenie, ilość obsłużonych requestów)

Wszystko to da się dość szybko ogarnąć w ASP.NET Core. Są paczki, dokumentacja i blogi.
https://docs.microsoft.com/en-US/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-5.0
https://github.com/prometheus-net/prometheus-net

2

Dzięki @Grzegorz Kotfis, o to mi dokładnie chodziło :)

Edit: Właśnie się zorientowałem, że słucham czasem Twoich podcastów w samochodzie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1