Function Compute ile Simple Log Service entegredir. Bir işlev için günlük kaydını yapılandırdıktan sonra, Function Compute günlükleri otomatik olarak toplar ve bunları belirtilen bir projedeki Logstore'a iletir. Function Compute konsolunda istek başına günlükleri, örnek günlüklerini ve işlev günlüklerini görüntüleyebilirsiniz. Ayrıca, Simple Log Service konsolunda özel günlük sorguları çalıştırabilirsiniz.
Arka plan bilgileri
Simple Log Service günlük toplama, depolama, sorgulama, analiz, görselleştirme ve uyarı özellikleri sunar. İşlev günlüklerini depolamak için işlevinizde bir proje ve Logstore yapılandırın ve işleve Simple Log Service'e erişim izni verin. Yapılandırmadan sonra işlev günlükleri belirtilen Logstore'a yazılır.
Faturalandırma notları
Faturalandırma yöntemi
Function Compute günlük özelliğini etkinleştirmek için ek ücret almaz. Ancak, Simple Log Service iletilen günlükler için ücretlendirme yapar.
Logstore özellik bazlı faturalandırma yöntemini kullanıyorsa, Function Compute günlükleri ilettikten sonra Simple Log Service; depolama alanı, okuma trafiği, istek sayısı, veri dönüşümü ve veri aktarımı üzerinden ücretlendirme yapar. Daha fazla bilgi için bkz. Özellik bazlı faturalandırma yöntemi için faturalandırma öğeleri.
Logstore alınan veri bazlı faturalandırma yöntemini kullanıyorsa, Function Compute günlükleri ilettikten sonra Simple Log Service alınan ham veriler üzerinden ücretlendirme yapar. Daha fazla bilgi için bkz. Alınan veri bazlı faturalandırma yöntemi için faturalandırma öğeleri.
Logstore faturalandırma yöntemini değiştirmek için bkz. Logstore'ları yönetin.
Faturalandırmayı durdurun
Faturalandırmayı durdurmak için öncelikle Function Compute konsolunda günlük özelliğini devre dışı bırakın. Ardından Simple Log Service konsoluna giderek Logstore'u silin veya projeyi silin.
Bir Simple Log Service projesinin veya Logstore'unun silinmesi geri alınamaz. Silme işleminden sonra günlükler artık Simple Log Service'e iletilemez ve mevcut veriler kalıcı olarak silinir. Silme işleminden önce önemli günlük verilerini yedekleyin.
Bir işlev için günlüğü etkinleştirin
Function Compute konsolunu kullanarak günlüğü yapılandırın
Ön koşullar
-
Function Compute
-
İsteğe bağlı: Simple Log Service (SLS)
Yordam
Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde seçeneğini belirleyin.
Üst gezinme çubuğunda bir bölge seçin. Functions sayfasında hedef işleve tıklayın.
-
İşlev ayrıntıları sayfasında Configuration sekmesini seçin, Advanced Settings öğesinin sağındaki Advanced Settings seçeneğine tıklayın, Advanced Settings panelindeki Logs seçeneğini bulun, aşağıdaki adımları uygulayarak günlük yapılandırmasını tamamlayın ve ardından Deploy seçeneğine tıklayın.
NotBir işlev oluşturduğunuzda günlük özelliği varsayılan olarak etkindir ve sistem
serverless-<region_id>ile başlayan Log Service Project ile varsayılan Logstore öğelerini otomatik olarak seçer.Konsol, Log Rotation Rules, Request-level Metrics ve Instance-level Metrics seçeneklerini otomatik olarak etkinleştirir ve günlük sorguları için gerekli tüm dizinleri oluşturur.
Yapılandırma öğesi
Zorunlu
Açıklama
Günlük kaydı
Evet
Simple Log Service'in etkinleştirilip etkinleştirilmeyeceği. Geçerli değerler:
-
Etkinleştir: Bu özelliği etkinleştirdikten sonra Function Compute günlükleri günlük projenize aktarır. Sorunları gidermek ve tanımlamak için Function Compute konsolu ve Simple Log Service konsolunda günlükleri sorgulayabilir ve alabilirsiniz.
-
Devre dışı bırak: İşlev günlükleri kalıcı hale getirilmez ve sorunları izleyemez veya konumlandıramazsınız.
Configuration Mode
Evet
Automatic Configuration veya Custom Configuration seçin. Custom Configuration seçeneğini belirlerseniz bir Log Service Project ve Logstore belirtmeniz gerekir.
Log Service Project
Evet
İşlev çağırma günlüklerini depolamak için kullanılan proje.
Logstore
Evet
İşlev çağırma günlüklerini depolamak için kullanılan Logstore.
Log Rotation Rules
Hayır
Günlük bölümlendirme kurallarının etkinleştirilip etkinleştirilmeyeceği. Geçerli değerler:
-
Etkinleştir: Etkinleştirildiğinde Function Compute günlükleri günlük bölümlendirme kurallarına göre birden çok günlük segmentine böler ve bunları tek tek Simple Log Service'e yazar.
Varsayılan kural
^.{0,2}\d{4}-\d{2}-\d{2}şeklindedir ve bu kuralxxxx-xx-xxbiçimindeki tarihlerle eşleşir; buradaxbir rakamdır. Günlükler, bir satırın tarihle başlayıp başlamadığına göre bölünür. Örneğin, bir günlük satırı "2023-10-10" ile başlıyorsa bu satır yeni bir günlük bloğunun ilk satırı olarak kabul edilir. Bu satır ve sonrasında başında tarih olmayan satırlar tek bir günlük girişi olarak yazılır. -
Devre dışı bırak: Günlük bölümlendirme devre dışı bırakılır. Günlükler varsayılan ayırıcı olan
\nkullanılarak bölünür.
Request-level Metrics
Hayır
İstek ölçüm günlüklerinin Logstore'a iletilip iletilmeyeceği. Bu özelliği etkinleştirmenizi kesinlikle öneririz.
Geçerli değerler:
-
Etkinleştir: Her işlev çağrısına ilişkin ölçümler (örneğin yürütme süresi, bellek kullanımı, hata durumu, soğuk başlama oluşumu ve soğuk başlama adımı süreleri) günlük yapılandırması sırasında seçtiğiniz Logstore'a iletilir. Function Compute çağırma günlükleri bu ölçümlere dayalı bir istek listesi gösterir. İstekleri ölçümlere göre de filtreleyebilirsiniz; örneğin tüm hatalı istekleri veya soğuk başlamalı istekleri filtreleyebilirsiniz.
-
Devre dışı bırak: Ayrıntılı istek yürütme bilgilerini görüntüleyemezsiniz.
Instance-level Metrics
Hayır
Örnek düzeyi ölçümlerin etkinleştirilip etkinleştirilmeyeceği. Geçerli değerler:
-
Etkinleştir: Etkinleştirildiğinde işlev örneklerinden gelen ölçüm verileri günlük yapılandırması sırasında seçtiğiniz Logstore'a iletilir. CPU, bellek ve ağ G/Ç kullanımı gibi işlev örneği düzeyindeki performans ölçümlerini görüntüleyebilirsiniz. Function Compute, örnek düzeyi ölçüm verilerini kullanarak örnek granülerliğinde gözlemlenebilirlik sağlar ve size işlev örnekleri için uçtan uca izleme ve sorun giderme yolu sunar. Daha fazla bilgi için bkz. Instance-Level Metrics.
-
Devre dışı bırak: Ayrıntılı örnek ölçümlerini görüntüleyemezsiniz.
Serverless Devs kullanarak günlüğü yapılandırın
Ön koşullar
Yordam
-
Aşağıdaki yapıya sahip bir kod dizini oluşturun.
. ├── code │ └── index.js └── s.yamlÖrnekte logConfig alanı günlük kaydını yapılandırır. logstore ve project değerlerini hesabınızda bulunan mevcut bir Logstore ve proje ile değiştirin. Alternatif olarak, Function Compute'in bir proje ve Logstore'u otomatik olarak ataması için logConfig: auto olarak ayarlayabilirsiniz.
edition: 3.0.0 name: hello-world-app access: "default" vars: # Global variables region: "cn-hangzhou" resources: hello_world: component: fc3 # Component name props: region: ${vars.region} functionName: "start-nodejs-****" description: 'hello world by serverless devs' runtime: "nodejs16" code: ./code handler: index.handler memorySize: 128 timeout: 30 logConfig: # Replace logstore and project with actual values, or use logConfig: auto to auto-create project and Logstore enableInstanceMetrics: true # Enable instance-level metrics enableRequestMetrics: true # Enable request-level metrics logBeginRule: DefaultRegex # Log segmentation rule logstore: 'your-logstore' # Specify Logstore name (must exist) project: 'your-project' # Specify project name (must exist) -
Uygulamayı dağıtmak için aşağıdaki komutu çalıştırın.
sudo s deploy -yDağıtım başarılı olduktan sonra Function Compute konsoluna giriş yaparak işlevin dağıtıldığını ve günlük kaydının etkin olduğunu doğrulayın.
Günlüğü devre dışı bırakın
Günlüğü devre dışı bıraktıktan sonra işlev yürütme günlükleri artık toplanmaz veya depolanmaz. Bu durum sorun giderme ve performans analizini etkileyebilir. Dikkatli ilerleyin.
Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde seçeneğini belirleyin.
Üst gezinme çubuğunda bir bölge seçin. Functions sayfasında hedef işleve tıklayın.
İşlev ayrıntıları sayfasında Configuration sekmesini seçin, Modify öğesinin sağındaki Advanced Settings seçeneğine tıklayın, Advanced Settings panelinde Logs seçeneğini bulun, log feature geçiş anahtarını Kapalı konumuna getirin ve Deploy seçeneğine tıklayın.
Çağırma günlüklerini görüntüleyin
İşlev ayrıntıları sayfasında geçerli işlev için çağırma kayıtlarını sorgulamak üzere Logs sekmesine tıklayın.
İşlev ayrıntıları sayfasında Version Management veya Alias Management sekmesine tıklayın. Bir işlev sürümü veya takma ad seçin, ardından sürüm veya takma ad ayrıntıları sayfasındaki Logs sekmesine tıklayarak ilgili günlükleri görüntüleyin.
İşlev çağırma günlüklerini Invocation Requests sekmesinde veya Search by Keyword sekmesinde görüntüleyebilirsiniz. Farklar şunlardır:
-
Invocation Requests
Bu sekme işlev çağırma bitiş zamanlarını, istek kimliklerini, çağırma sonuçlarını, örnek kimliklerini ve işlev sürümlerini veya takma adlarını listeler.
İstek ve günlük ayrıntılarını görüntülemek için bir Request ID öğesine tıklayın.
CPU kullanımı, bellek kullanımı ve ağ trafiği gibi örnek ölçümlerini görüntülemek için bir Instance ID öğesine tıklayın.
Actions sütununda günlük ayrıntılarını görüntülemek için Request Logs seçeneğine tıklayın veya günlük sorgulama ve analizi için Simple Log Service konsoluna gitmek üzere Advanced Logs seçeneğine tıklayın.
-
Search by Keyword
Bu sekme işlev çağırma zamanlarını, günlük içeriğini ve işlev sürümlerini veya takma adlarını listeler. Actions sütununda çevresindeki günlük girdilerini görüntülemek için Log Context seçeneğine tıklayın veya günlük sorgulama ve analizi için Simple Log Service konsoluna gitmek üzere Logstore seçeneğine tıklayın.
Belirli günlükleri bulmak için arama kutusuna bir anahtar sözcük girin. Örneğin,
hello worldmetnini içeren günlükleri bulmak için arama kutusunahello worldgirin. Sonuçlar bu anahtar sözcüğü içeren tüm günlük satırlarını içerir. Sorgu sözdizimi hakkında daha fazla bilgi için bkz. Sorgu sözdizimi ve özellikleri.
Başvurular
SDK veya API'yi çağırarak da bir işlev için günlük kaydını yapılandırabilirsiniz. Daha fazla bilgi için bkz. İşlev oluşturun.