Bu dökümantasyon üzerinde docker üzerinde ELK + APM kaldırıp ardından ASP.NET uygulamamızı da docker üzerinde kaldırıp APM sayesinde performansını izleyeceğiz.
ASP.NET dosyalarını github'dan çekiyoruz.
git clone https://github.com/koraykutanoglu/ELK-APM-icin-ASP-NET-Kodlari
İlgili dizine gidin
cd ELK-APM-icin-ASP-NET-Kodlari
Burada appsettings.json
dosyamızı düzenlememiz gerekiyor.
nano appsettings.json
Burada bulunan IP adresini kendi ELK kurulumu sağladığınız IP adresi ile değiştirin. APM server portu 8200 bu yüzden port sabit kalacak.
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"Elastic.Apm": "Debug"
}
},
"AllowedHosts": "*",
"ElasticApm":
{
"ServerUrls": "http://10.10.10.111:8200",
"TransactionSampleRate": 1.0
}
}
Aşağıdaki komutla dosyaların arasında bulunan dockerfile dosyası sayesinde docker imajı çıkarabilirsiniz
docker build -t secops/aspnet .
Aşağıdaki komutla kontrol ettiğimde başarılı bir şekilde imajımızın oluştuğunu görüyorum.
root@rnc01:~/ELK-APM-icin-ASP-NET-Kodlari# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
secops/aspnet latest 79620478a3ed 2 hours ago 218MB
Şimdi bu imajı konteyner olarak çalıştıralım
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
secops/aspnet
80 portundan web tarayıcıdan girdiğinizde ASP uygulamasının çalışıyor olduğunu göreceksiniz.
Gereksinimler kısmında ELK kurulumunu daha öncesinde yapmıştık. Şimdi web arayüzüne gidelim.
http://10.10.10.111:5601/app/apm
İlgili kısma girdiğinizde verilerin aktif olarak geldiğini göreceksiniz.
Service detaylarına girdiğimde uygulamanın performansını detaylı olarak görebiliyorum.