Application Insight – Node.js Configuration – Part 1

By | 03 February 2019

Application insight ile uygulamalar üzerinde derin bir şekilde performans yönetimi yapabilirsiniz. Bu işlem için application insight’a ait bileşenlerin uygulama koduna eklenmesi gerekir. Visual studio ile .net üzerinde geliştirme yaparken bu bileşenleri kolaylıkla yükleyebilirsiniz.

Ben bu makalede sizlere Node.js ve angular kullanırken bu bileşenleri nasıl ekleye bileceğinizden hızlıca bahsedeceğim.

Bu işlemi yaparken Visual Studio Code kullanacağım.

Tabi işlemler öncesinde de belli bileşenlerin makine üzerinde kurulmuş olması gerekiyor. Bunlar;

  1. Node.js SDK’sı. (Aşağıdaki linkki kullanarak download edebilirsiniz.

https://nodejs.org/en/

  1. Angular CLI

Bunun için node.js ile birlikte NPM kurulumu yapıldıktan sonra aşağıdaki komutun çalıştırılması yeterlidir.

npm install -g @angular/cli

  1. Visual Studio Code

Kurulum için aşağıdaki linkten faydalanabilirsiniz.

https://code.visualstudio.com/

Bu işlemlerin ardından test uygulamasından biraz bahsedecek olursak. Uygulamamız UI olarak angular, API olarak da node.js kullanıyor. Bu sebeple hem UI katmanı için hem de API katmanı için farklı konfigürasyonlar yaparak Application insight için gerekli olan telemetri konfigürasyonunu yapacağız.

İlk olarak node.js üzerindeki package.json üzerine application insight’ın node.js için olan sdk’sının yüklenmesi gerekir. Bu sebeple aşağıdaki komutu çalıştırarak bu işlemi gerçekleştirelim.

Komutu çalıştırmamızın ardından aşağıdaki gibi eklenen package sayısı vb. bilgiler listelenecektir.

Bu işlemin ardından package.json dosyasını kontrol ettiğimizde application insight’a ilişkin dependency’nin eklendiğini görebilirsiniz.

Application insight package’ını yüklemek için ilk olarak aşağıdaki statement’ı kodumuza ekleyelim.

Const appInsights = require(“applicationinsights”);

İkinci olarak da Azure tarafında oluşturduğumuz application insight hesabı ile iletişim kurulabilmesi için gereken instrumentation key’in environment variable olarak eklenmesi gerekir. Bu key’i Azure tarafında oluşturmuş olduğunuz Application Insight account’unun overview bölümünden kolaylıkla elde edebilirsiniz.

Ardından node.js üzerinde appInsight.Setup() ile environment variable’a ekleyeceğiniz key’i çağırmanız gerekir. Zaten kodu yazdığınızda aşağıdaki gibi environment variable’a instrumentation key’i yazmanız için gerekli bilgiyi de görebilirsiniz.

İndex.js kodunun en üst kısmında bulunan require(dotenv).config() kod parçası gerekli değişkenlerin .env dosyasından çağırılacağını belirtir.

.env isimli dosyaya aşağıdaki değişken isminde instrumentation key’ini ekleyebiliriz. Böylece app insight SDK’sı Azure üzerine telemetrik veriyi yollarken bu key’i kullanacaktır.

İlk girişte bahsettiğim node.js tabanlı API tarafı için gerekli olan telemetrik datanın Azure üzerine aktarılmasını sağlayacak konfigürasyonu tamamlamış olduk. İkinci bölümde de Angular.js tarafı için gerekli olan konfigürasyonları ele alacağım.

Bir sonrali bölümde görüşmek üzere.

Kaynak: https://app.pluralsight.com/library/courses/microsoft-azure-application-insights-web-application-instrument/

Fırat

Leave a Reply