Tüm Ürünler
Search
Belge Merkezi

Serverless App Engine:Web kabuğu ile uygulamaları tanılama

Son Güncelleme:Oct 06, 2026

SSH kullanmadan kapsayıcıları görüntülemek ve hata ayıklamak için SAE konsolundaki hafif web kabuğunu kullanın. Bir SAE kapsayıcısının temel görüntüsü geçicidir ve uygulama çalışma zamanı için tasarlanmıştır; bu nedenle yalnızca çalıştırılabilir bir /bin/bash dosyasına ihtiyacınız vardır. Sorun gidermeyi kolaylaştırmak için gerekli tüm işletim ve bakım araçlarını görüntünüze dahil etmenizi öneririz.

Sınırlamalar

Web kabuğu Windows görüntülerini desteklemez.

Kullanım notları

Kod çalıştırma ve web kabuğu çalışma zamanı ortamından siz sorumlusunuz.

Uygulama ağ ortamı

SAE uygulamaları, kullanıcı tarafından oluşturulan bir Sanal Özel Bulut (VPC) içinde dağıtılır ve ara katmanda hizmet çağrılarını mantıksal olarak yalıtmak için ad alanlarını kullanır. Bir ad alanı, VPC içindeki bir vSwitch'e bağlıdır. Bir ad alanı yalnızca bir vSwitch'e bağlanabilir ancak bir vSwitch birden fazla ad alanını destekleyebilir. Farklı VPC'lerdeki uygulamalar birbirine erişemez çünkü VPC IP adresleri özeldir. Farklı ad alanlarındaki uygulamalar, hizmet keşfi ve yapılandırma dağıtımı gibi hizmetler açısından birbirinden yalıtılmıştır.

Not

VPC'nin ilkeleri ve ürün ayrıntıları hakkında daha fazla bilgi için bkz. Nasıl çalışır.

SAE kapsayıcıları, Object Storage Service (OSS) ve Container Registry gibi Alibaba Cloud hizmetleri hariç, VPC'lerinin dışındaki hizmetlere doğrudan erişemez. Ek yapılandırma olmadan bir kapsayıcı yalıtılmış bir ağda çalışır ve dışarıdan erişilemez.

Aşağıdaki örnek, bir kapsayıcının internete erişemediğini göstermektedir.

[root@xxx:serverlesswar-12504560-a374-4471-80c7-d799d69ba3f7-xxx admin]# ping www.taobao.com
PING www.taobao.com.danuoyi.tbcache.com (xxx.xxx.xxx.xxx) xxx bytes of data.
^C
--- www.taobao.com.danuoyi.tbcache.com ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9198ms

Bir kapsayıcının internetteki hizmetlere erişmesi gerekiyorsa bir NAT ağ geçidi satın almanız ve VPC'deki vSwitch için bir SNAT kuralı yapılandırmanız gerekir. Daha fazla bilgi için bkz. SAE uygulamasının internete erişmesine izin vermek için NAT ağ geçidi yapılandırma.

SNAT kuralı, VPC'de genel IP adresi olmayan örneklerin NAT ağ geçidine bağlı Elastik IP Adresi (EIP) üzerinden internete erişmesini sağlar. Daha fazla bilgi için bkz. İnternet yönelik ürünler.

Görüntü oluşturma

SAE , Alibaba Cloud Container Registry tabanlı entegre görüntü oluşturma ve yönetimi sağlar. Temel görüntü centos:7 olup dil ve kodlama ayarları, saat dilimi ve OpenJDK önceden yapılandırılmıştır.

SAE , çalışma zamanı kaynaklarını tüketmemek için geniş bir araç setini entegre etmez. Ek araçlara ihtiyacınız varsa özel bir görüntü oluşturun veya gerekirse araçları OSS'ten alın. Daha fazla bilgi için bkz. Java görüntüsü oluşturma.

Web kabuğu açma

Web kabuğunu kullanarak temel işletim ve bakım görevlerini gerçekleştirmek için aşağıdaki adımları izleyin:

  1. SAE Application List sayfasında üst kısımdan bir bölge ve ad alanı seçin ve hedef uygulamanın ayrıntılar sayfasını açmak için ID değerine tıklayın.

  2. Basic Information sayfasında Instances sekmesine tıklayın.

  3. Instances sekmesinde, Default Group bölümünde hedef örneği bulun ve Actions sütununda Webshell seçeneğine tıklayın.

  4. Optional: Web kabuğu açıldıktan sonra tam ekran moduna geçmek için pencerenin sağ üst köşesindeki bt_full_screen simgesine tıklayabilirsiniz.

  5. Kapsayıcınızı görüntülemek ve hata ayıklamak için gerektiğinde web kabuğu penceresinde komutları çalıştırın.

    Daha fazla bilgi için bkz. Örnek meta verilerini alma ve Uygulamayı tanılama.

Örnek meta verilerini alma

Bir uygulamayı SAE içinde dağıttıktan sonra güvenlik grubu ID değeri, VPC ID değeri ve vSwitch ID değeri dahil olmak üzere örnek hakkında temel meta verileri edinebilirsiniz.

Meta veri öğesi

Açıklama

/etc/podinfo/sgId

Güvenlik grubu ID meta verilerini depolayan dosyanın yolu.

/etc/podinfo/vpcId

VPC ID meta verilerini depolayan dosyanın yolu.

/etc/podinfo/vswitchId

vSwitch ID meta verilerini depolayan dosyanın yolu.

Not

Birden fazla vSwitch varsa vSwitch ID değerleri virgül (,) ile ayrılır.

SAE console üzerinde oturum açabilir ve güvenlik grubu ID değeri, VPC ID değeri ile vSwitch ID değeri meta verilerini doğrulamak için web kabuğu penceresinde aşağıdaki komutları çalıştırabilirsiniz.

  1. podinfo dizinine gitmek için aşağıdaki komutu çalıştırın:

    cd /etc/podinfo/
    Not

    can't cd to /etc/podinfo/ hata mesajı görünürse sorunu çözmek için örneği Restart veya Deploy Application işlemlerini uygulayabilirsiniz.

  2. Örnek meta verilerini içeren tüm dosyaları görüntülemek için aşağıdaki komutu çalıştırın:

    ls

    Beklenen çıktı:

    sgId  vpcId  vswitchId
  3. İlgili meta verileri örnek içinde doğrulamak için gerektiğinde aşağıdaki komutları çalıştırın.

    • Güvenlik grubu ID değerini alın.

      cat sgId

      Beklenen çıktı:

      sg-2ze4ddm2rqgenvcx****sh-4.2#
    • VPC ID değerini alın.

      cat vpcId

      Beklenen çıktı:

      vpc-2zeqku2oevokwm66b****sh-4.2#
    • vSwitch ID değerini alın.

      cat vswitchId

      Beklenen çıktı:

      vsw-2zewmy4ynhljytzhu****sh-4.2#

Kurulum komutlarını kopyalama

SAE console üzerinde oturum açabilir ve gerektiğinde web kabuğu penceresine komutlar yüklemek için aşağıdaki adımları izleyebilirsiniz.

Not

Bir web kabuğu oturumunda yüklenen komutlar, kapsayıcı yeniden oluşturulduktan sonra kaybolur. Sık kullanılan komutları görüntüyü oluştururken yükleyin.

  1. Web kabuğu penceresinin sağ üst köşesindeki bt_copy_code simgesine tıklayın.

  2. Açılan Copy Command iletişim kutusunda gerektiğinde yüklenecek bileşenleri seçin, komutu ön izleyin ve ardından Copy seçeneğine tıklayın.

    • Install openssh: OpenSSH, Secure Shell (SSH) protokolünün ücretsiz ve açık kaynaklı bir uygulamasıdır. OpenSSH, uzaktan kontrol ve dosya aktarımı oturumları sırasında verileri şifrelemek için bir sunucu tarafı arka plan programı ve istemci tarafı araçları sağlar. OpenSSH'yi yükleyerek SSH uzaktan oturum açma ve SFTP ile SCP kullanarak dosya yükleme veya indirme gibi uzaktan hata ayıklama yeteneklerini kullanabilir ve belirli bir SAE uygulama örneğini geçici olarak hata ayıklayabilirsiniz.

    • Install net-tools (netstat): netstat komutu ağ durumunu izler. Yönlendirme tabloları, etkin ağ bağlantıları ve her bir ağ arabirimi cihazının durumu gibi bilgileri görüntüleyebilir.

    • Install iroute (ss): Socket Statistics (ss) komutu soket istatistiklerini alır. netstat komutuna benzer bilgiler döndürse de ss komutu daha ayrıntılı TCP ve bağlantı durumu bilgilerini daha hızlı gösterebilir.

  3. Kopyalanan komutu web kabuğu penceresine yapıştırın ve çalıştırmak için Enter tuşuna basın.

Uygulamayı tanılama

Routine checks

Java uygulaması için işlemi, iş parçacıklarını ve Java Sanal Makinesi (JVM) sağlığını doğrulama gibi rutin kontroller gerçekleştirerek bir SAE uygulamasını tanılamanız mümkündür.

  • Uygulamanın Java işleminin var olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın.

    ps -ef | grep java
    Not

    Bir kapsayıcı, bir uygulamayı başlatmak için ana işlemini kullanır. Uygulama durursa kapsayıcı çıkar ve SAE hizmet kesintilerini önlemek için otomatik olarak yeniden başlatır.

    • İşlem yoksa bellek yetersizliği (OOM) günlüklerini kontrol etmek için dmesg | grep -i kill komutunu çalıştırın.

    • Bu tür günlükler varsa uygulamanın işleminin durdurulduğu anlamına gelir. Kök nedeni belirlemek için çalışma dizinindeki hs_err_pid{PID}.log dosyasını kontrol etmeniz gerekir.

  • Java uygulamalarının çevrimiçi analizi için Alibaba'nın açık kaynaklı bir tanılama aracı olan Arthas kullanabilirsiniz. Arthas'ı test görüntünüze entegre etmenizi öneririz. Java sınıf yükleme durumunu gerçek zamanlı olarak görüntüler; bu sayede yöntem giriş ve çıkış parametrelerini, ortam değişkenlerini ve daha fazlasını gözlemlemek kolaylaşır.

    1. İnternete bağlanın.

      Daha fazla bilgi için bkz. SAE uygulamasının internete erişmesine izin vermek için NAT ağ geçidi yapılandırma.

    2. Arthas'ı indirmek için aşağıdaki komutu çalıştırın.

      sudo wget https://alibaba.github.io/arthas/arthas-boot.jar
    3. Arthas'ı başlatmak için aşağıdaki komutu çalıştırın.

      sudo java -jar arthas-boot.jar

Upload and download logs

Rutin kontroller yetersiz kalırsa kapsayıcıdan buluta günlükleri yükleyin ve daha ileri analiz için yerel makinenize indirin.

  • 10 MB'a kadar dosyalar için web kabuğunun yerleşik dosya aktarma özelliklerini kullanın. Daha fazla bilgi için bkz. Dosya yüklemek ve indirmek için web kabuğu kullanma.

  • 10 MB'tan büyük dosyalar için Alibaba Cloud OSS kullanabilirsiniz. OSS hizmeti tüm Alibaba Cloud ağ ortamlarından erişilebilir olduğundan günlükleri yüklemek ve indirmek için kullanabilirsiniz. Aşağıdaki adımları izleyin:

  1. Kapsayıcı içine OSS komut satırı aracını (ossutil) yükleyin. Daha fazla bilgi için bkz. OSS komut satırı aracını yükleme.

    Bu konuda örnek olarak 64 bitlik bir CentOS sistemi kullanılmaktadır. Kapsayıcınızın internet erişimi yoksa dosyayı yerel makinenize indirebilir, OSS'e yükleyebilir ve ardından dosyayı kapsayıcı içinden indirmek için OSS'in VPC dahili uç noktasını alabilirsiniz.

    1. ossutil'i indirmek için aşağıdaki komutu çalıştırın.

      sudo wget http://gosspublic.alicdn.com/ossutil/1.5.0/ossutil64
    2. Dosya izinlerini değiştirmek için aşağıdaki komutu çalıştırın.

      sudo chmod 755 ossutil64
  2. OSS komut satırı aracını, mevcut bölgedeki VPC için uç nokta ve karşıya yüklenen dosyaları alacak hesabın AccessKey bilgileriyle yapılandırın. Ardından OSS hizmetinin kullanılabilir olduğunu doğrulamak için mevcut bir paketi kontrol edin.

    Not
    • Mevcut hesap olmak zorunda olmamakla birlikte bir Alibaba Cloud hesabı için OSS'in etkinleştirildiğinden emin olun.

    • Bir paket oluşturun. Daha fazla bilgi için bkz. Konsolda paket oluşturma.

    1. OSS erişim bilgilerini depolamak için bir yapılandırma dosyası oluşturmak üzere aşağıdaki komutu çalıştırın.

      AccessKey ve uç nokta bilgilerinizi yapılandırmak için istemleri izleyin. Bir STS belirteci girmeniz gerekmez.

      ./ossutil64 config  
    2. Tüm paketleri listelemek için aşağıdaki komutu çalıştırın.

      Hesabın kullanılabilir olup olmadığını kontrol edin. Bir hata bildirilirse yapılandırma hatalıdır.

      ./ossutil64 ls

      Örnek çıktı:

      CreationTime                                 Region    StorageClass    BucketName
      2021-12-08 18:53:46 +0800 CST       oss-cn-hangzhou        Standard    oss://test-bucket
    3. sae-app.log adlı bir örnek günlük dosyası oluşturmak için aşağıdaki komutu çalıştırın.

      echo "Hello" > sae-app.log
    4. Günlük dosyasını belirtilen pakete yüklemek için aşağıdaki komutu çalıştırın.

      ./ossutil64 cp sae-app.log {bucket-address}                                       

      Örnek:

      ./ossutil64 cp sae-app.log oss://test-bucket
  3. Sonucu doğrulayın.

    • Yöntem 1: Yüklenen örnek dosyayı görüntülemek için aşağıdaki komutu çalıştırın.

      ./ossutil64 ls oss://test-bucket

      Örnek çıktı:

      LastModifiedTime                   Size(B)  StorageClass   ETAG                                  ObjectName
      2021-12-08 19:26:18 +0800 CST            6      Standard   09F7E02F1290BE211DA707A266F1****      oss://cri-55md3gmii09m****-chart/sae-app.log
      Object Number is: 1
      0.047758(s) elapsed
    • Yöntem 2: OSS console veya diğer araçlarda günlük dosyanızı bulun, yerel makinenize indirin ve ardından analiz için tercih ettiğiniz araçları kullanın.