Share via


Azure İşlevleri'nde yürütmeleri izleme

Azure İşlevleri, işlev yürütmelerini izlemek için Azure Uygulaması Analizler ile yerleşik tümleştirme sunar. Bu makalede, Azure tarafından izleme Azure İşlevleri için sağlanan izleme özelliklerine genel bir bakış sağlanır.

Application Insights, günlük, performans ve hata verilerini toplar. Performans anomalilerini otomatik olarak algılayarak ve güçlü analiz araçlarıyla sorunları daha kolay tanılayabilir ve işlevlerinizin nasıl kullanıldığını daha iyi anlayabilirsiniz. Bu araçlar, işlevlerinizin performansını ve kullanılabilirliğini sürekli olarak geliştirmenize yardımcı olmak için tasarlanmıştır. Yerel işlev uygulaması proje geliştirme sırasında Uygulama Analizler bile kullanabilirsiniz. Daha fazla bilgi için bkz. Uygulama Analizler nedir?.

Uygulama Analizler izlemesi Azure İşlevleri yerleşik olduğundan, işlev uygulamanızı bir Uygulama Analizler kaynağına bağlamak için geçerli bir izleme anahtarına ihtiyacınız vardır. İzleme anahtarı, işlev uygulaması kaynağınızı Azure'da oluştururken uygulama ayarlarınıza eklenir. İşlev uygulamanızda bu anahtar yoksa el ile ayarlayabilirsiniz.

Ayrıca Azure İzleyici'yi kullanarak işlev uygulamasının kendisini de izleyebilirsiniz. Daha fazla bilgi edinmek için bkz. Azure İzleyici ile Azure İşlevleri izleme.

Uygulama Analizler fiyatlandırması ve sınırları

Azure İşlevleri ile Uygulama Analizler tümleştirmesini ücretsiz olarak deneyebilir ve bu da ücretsiz olarak işlenme miktarına yönelik günlük bir sınır sağlayabilir.

Geliştirme sırasında Uygulamalar Analizler etkinleştirirseniz, test sırasında bu sınıra gelebilirsiniz. Azure, günlük sınırınıza yaklaştığınızda portal ve e-posta bildirimleri sağlar. Bu uyarıları kaçırır ve sınıra ulaştıysanız Uygulama Analizler sorgularında yeni günlükler görünmez. Gereksiz sorun giderme süresinden kaçınmak için sınıra dikkat edin. Daha fazla bilgi için bkz. Uygulama Analizler faturalama.

Önemli

Uygulama Analizler, yoğun yük olduğu zamanlarda tamamlanmış yürütmelerde çok fazla telemetri verisi üretmenizi önleyebilecek bir örnekleme özelliğine sahiptir. Örnekleme varsayılan olarak etkindir. Eksik veriler gibi görünüyorsanız, örnekleme ayarlarını belirli izleme senaryonuza uyacak şekilde ayarlamanız gerekebilir. Daha fazla bilgi edinmek için bkz . Örneklemeyi yapılandırma.

İşlev uygulamanızda kullanılabilen Uygulama Analizler özelliklerinin tam listesi, desteklenen Azure İşlevleri özellik için Uygulama Analizler'nde ayrıntılı olarak açıklandı.

Application Insights tümleştirmesi

Genellikle, işlev uygulamanızı oluştururken bir Application Analizler örneği oluşturursunuz. Bu durumda, tümleştirme için gereken izleme anahtarı adlı APPINSIGHTS_INSTRUMENTATIONKEYbir uygulama ayarı olarak ayarlanmıştır. herhangi bir nedenle işlev uygulamanızda izleme anahtarı ayarlanmadıysa, Uygulama Analizler tümleştirmesini etkinleştirmeniz gerekir.

Önemli

Azure Kamu gibi bağımsız bulutlar, izleme anahtarı yerine Application Analizler bağlantı dizesi (APPLICATIONINSIGHTS_CONNECTION_STRING) kullanımını gerektirir. Daha fazla bilgi edinmek için APPLICATIONINSIGHTS_CONNECTION_STRING başvurusuna bakın.

Aşağıdaki tabloda, işlev uygulamalarınızı izlemek için kullanılabilecek Application Analizler'ın desteklenen özellikleri ayrıntılı olarak açıklenmektedir:

çalışma zamanı sürümünü Azure İşlevleri 1.x 2.x+
Otomatik toplama
•Istek
•Özel durum
• Performans Sayaçları
•Bağımlılık
   — HTTP
   — Service Bus
   — Event Hubs
   — SQL*
Desteklenen özellikler
• QuickPulse/LiveMetrics Yes Yes
   — Güvenli Denetim Kanalı Yes
•Örnekleme Yes Yes
•Sinyal Yes
Bağıntı
• Service Bus Yes
• Event Hubs Yes
Yapılandırılabilir
Tamamen yapılandırılabilir Yes

* SQL sorgu dizesi metni koleksiyonunu etkinleştirmek için bkz . SQL sorgu koleksiyonunu etkinleştirme.

Telemetri verilerini toplama

Uygulama Analizler tümleştirmesi etkinleştirildiğinde telemetri verileri bağlı Application Analizler örneğine gönderilir. Bu veriler İşlevler konağı tarafından oluşturulan günlükleri, işlev kodunuzdan yazılan izlemeleri ve performans verilerini içerir.

Not

İşlevlerinizden ve İşlevler ana bilgisayarından alınan verilere ek olarak, İşlevler ölçek denetleyicisinden de veri toplayabilirsiniz.

Günlük düzeyleri ve kategorileri

Uygulama kodunuzdan izlemeler yazdığınızda, izlemelere bir günlük düzeyi atamanız gerekir. Günlük düzeyleri, izlemelerinizden toplanan veri miktarını sınırlamanız için bir yol sağlar.

Her günlüğe bir günlük düzeyi atanır. Değer, göreli önem derecesini gösteren bir tamsayıdır:

GünlükDüzeyi Kod Description
İzleme 0 En ayrıntılı iletileri içeren günlükler. Bu iletiler hassas uygulama verileri içerebilir. Bu iletiler varsayılan olarak devre dışı bırakılır ve üretim ortamında hiçbir zaman etkinleştirilmemelidir.
Hata Ayıklama 1 Geliştirme sırasında etkileşimli araştırma için kullanılan günlükler. Bu günlükler öncelikli olarak hata ayıklama için yararlı bilgiler içermelidir ve uzun vadeli bir değere sahip olmamalıdır.
Bilgiler 2 Uygulamanın genel akışını izleyen günlükler. Bu günlükler uzun vadeli değere sahip olmalıdır.
Uyarı 3 Uygulama akışında anormal veya beklenmeyen bir olayı vurgulayan ancak uygulama yürütmenin durmasına neden olmayan günlükler.
Hata 4 Geçerli yürütme akışının bir hata nedeniyle durdurulduğunu vurgulayan günlükler. Bu hatalar, uygulama genelinde bir hata değil geçerli etkinlikte bir hata olduğunu göstermelidir.
Kritik 5 Kurtarılamayan bir uygulamayı veya sistem kilitlenmesini ya da hemen ilgilenilmesi gereken yıkıcı bir hatayı açıklayan günlükler.
Hiçbiri 6 Belirtilen kategori için günlüğe kaydetmeyi devre dışı bırakır.

host.json dosya yapılandırması, bir işlev uygulamasının Uygulama Analizler ne kadar günlük gönderdiğini belirler.

Günlük düzeyleri hakkında daha fazla bilgi edinmek için bkz . Günlük düzeylerini yapılandırma.

Günlüğe kaydedilen öğeleri bir kategoriye atayarak, işlev uygulamanızdaki belirli kaynaklardan oluşturulan telemetri üzerinde daha fazla denetime sahip olursunuz. Kategoriler, toplanan veriler üzerinde analiz çalıştırmayı kolaylaştırır. İşlev kodunuzdan yazılan izlemeler, işlev adına göre tek tek kategorilere atanır. Kategoriler hakkında daha fazla bilgi edinmek için bkz . Kategorileri yapılandırma.

Özel telemetri verileri

C#, JavaScript ve Python'da, özel telemetri verileri yazmak için Bir Uygulama Analizler SDK'sı kullanabilirsiniz.

Bağımlılıklar

application Analizler, İşlevler'in 2.x sürümünden başlayarak, belirli istemci SDK'larını kullanan bağlamalar için bağımlılıklarla ilgili verileri otomatik olarak toplar. Uygulama Analizler dağıtılmış izleme ve bağımlılık izleme şu anda yalıtılmış bir çalışan işleminde çalışan C# uygulamaları için desteklenmemekte. Uygulama Analizler aşağıdaki bağımlılıklarla ilgili verileri toplar:

  • Azure Cosmos DB
  • Azure Event Hubs
  • Azure Service Bus
  • Azure Depolama hizmetleri (Blob, Kuyruk ve Tablo)

kullanan SqlClient HTTP istekleri ve veritabanı çağrıları da yakalanır. Application Analizler tarafından desteklenen bağımlılıkların tam listesi için bkz. otomatik olarak izlenen bağımlılıklar.

Uygulama Analizler, toplanan bağımlılık verilerinin uygulama haritasını oluşturur. Aşağıda, Kuyruk depolama çıkış bağlaması olan http tetikleyici işlevinin uygulama haritası örneği verilmiştir.

Bağımlılık içeren uygulama eşlemesi

Bağımlılıklar düzeyinde yazılır Information . Veya üzerini Warning filtrelerseniz bağımlılık verilerini görmezsiniz. Ayrıca, otomatik bağımlılık koleksiyonu kullanıcı olmayan bir kapsamda gerçekleşir. Bağımlılık verilerini yakalamak için düzeyin en azından Information ana bilgisayarınızdaki kullanıcı kapsamının (Function.<YOUR_FUNCTION_NAME>.User) dışında olarak ayarlandığından emin olun.

Otomatik bağımlılık verileri toplamaya ek olarak, özel bağımlılık bilgilerini günlüklere yazmak için dile özgü Uygulama Analizler SDK'larından birini de kullanabilirsiniz. Özel bağımlılıkları yazma örneği için aşağıdaki dile özgü örneklerden birine bakın:

Performans Sayaçları

Linux üzerinde çalıştırılırken Performans Sayaçlarının otomatik olarak toplanması desteklenmez.

Günlüklere yazma

Günlüklere ve kullandığınız API'lere yazma şekliniz, işlev uygulaması projenizin diline bağlıdır.
İşlevlerinizden günlük yazma hakkında daha fazla bilgi edinmek için dilinizin geliştirici kılavuzuna bakın.

Verileri çözümleme

Varsayılan olarak, işlev uygulamanızdan toplanan veriler Uygulama Analizler'de depolanır. Azure portalında Application Analizler telemetri verilerinizin kapsamlı bir görselleştirme kümesi sağlar. Hata günlüklerinde detaya gidebilir, olayları ve ölçümleri sorgulayabilirsiniz. Toplanan verilerinizi görüntüleme ve sorgulama hakkında temel örnekler de dahil olmak üzere daha fazla bilgi edinmek için bkz. Uygulama Analizler'da telemetriyi analiz Azure İşlevleri.

Akış Günlükleri

Uygulama geliştirirken genellikle Azure'da çalışırken günlüklere yazılanları gerçek zamanlıya yakın bir şekilde görmek istersiniz.

İşlev yürütmeleriniz tarafından oluşturulan günlük verilerinin akışını görüntülemenin iki yolu vardır.

Günlük akışları hem portalda hem de çoğu yerel geliştirme ortamlarında görüntülenebilir. Günlük akışlarını etkinleştirmeyi öğrenmek için bkz. Azure İşlevleri'de akış yürütme günlüklerini etkinleştirme.

Tanılama günlükleri

Uygulama Analizler, telemetri verilerini uzun vadeli depolama alanına veya diğer analiz hizmetlerine dışarı aktarmanıza olanak tanır.

İşlevler, Azure İzleyici ile de tümleştirildiği için tanılama ayarlarını kullanarak Azure İzleyici günlükleri de dahil olmak üzere çeşitli hedeflere telemetri verileri gönderebilirsiniz. Daha fazla bilgi edinmek için bkz. Azure İzleyici Günlükleriyle Azure İşlevleri izleme.

Ölçek denetleyicisi günlükleri

Azure İşlevleri ölçek denetleyicisi, uygulamanızın çalıştığı Azure İşlevleri konağın örneklerini izler. Bu denetleyici, geçerli performansa göre örneklerin ne zaman ekleneceği veya kaldırılacağı hakkında kararlar alır. Ölçek denetleyicisinin işlev uygulamanız için aldığı kararları daha iyi anlamak için ölçek denetleyicisinin günlükleri Uygulama Analizler yaymasını sağlayabilirsiniz. Oluşturulan günlükleri başka bir hizmet tarafından analiz için Blob depolamada da depolayabilirsiniz.

Bu özelliği etkinleştirmek için işlev uygulaması ayarlarınıza adlı SCALE_CONTROLLER_LOGGING_ENABLED bir uygulama ayarı eklersiniz. Nasıl yapılacağını öğrenmek için bkz . Ölçek denetleyicisi günlüklerini yapılandırma.

Azure İzleyici ölçümleri

Application Analizler tarafından toplanan günlük tabanlı telemetri verilerine ek olarak, işlev uygulamasının Azure İzleyici Ölçümleri'nden nasıl çalıştığı hakkında da veri alabilirsiniz. Daha fazla bilgi edinmek için bkz . Azure İzleyici ile izleme.

Sorun bildirme

İşlevler'de Uygulama Analizler tümleştirmesiyle ilgili bir sorun bildirmek veya öneride bulunmak veya istekte bulunmak için GitHub'da bir sorun oluşturun.

Sonraki adımlar

Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın: