全部产品
Search
文档中心

Serverless App Engine:Gunakan fitur webshell untuk memeriksa status kesehatan aplikasi

更新时间:Dec 15, 2025

Saat menggunakan Serverless App Engine (SAE) untuk mengelola aplikasi, kontainer digunakan sebagai lingkungan sementara tempat aplikasi berjalan tanpa memerlukan operasi dan pemeliharaan. SAE menyediakan fitur webshell ringan bawaan di konsol SAE yang memungkinkan Anda melihat dan men-debug kontainer. Dengan cara ini, Anda dapat memecahkan masalah secara efisien dalam mode online. Citra dasar kontainer aplikasi SAE dapat digunakan oleh waktu proses aplikasi, dan kontainer aplikasi yang tidak stabil hanya bersifat sementara. Anda tidak perlu mengaktifkan SSH untuk citra dasar, cukup tambahkan perintah /bin/bash yang dapat dieksekusi dalam kode Anda. Kami sarankan Anda menyiapkan semua alat O&M yang diperlukan untuk pemecahan masalah.

Batasan

Fitur webshell tidak mendukung citra Windows.

Catatan penggunaan

Eksekusi kode dan lingkungan Webshell sepenuhnya milik pengguna.

Lingkungan jaringan

SAE menerapkan aplikasi di virtual private cloud (VPC) mandiri yang mendukung fitur namespace. Anda dapat mengisolasi panggilan layanan middleware secara logis. Sebuah namespace hanya dapat dikaitkan dengan satu vSwitch dalam VPC, tetapi satu vSwitch dapat dikaitkan dengan beberapa namespace. Alamat IP sumber daya dalam VPC hanya dapat diakses di dalam VPC, dan aplikasi tidak dapat saling berinteraksi lintas VPC. Namespace digunakan untuk mengisolasi panggilan layanan middleware secara logis. Aplikasi dalam namespace berbeda diisolasi dalam panggilan layanan middleware seperti penemuan layanan dan pengiriman konfigurasi.

Catatan

Untuk informasi lebih lanjut tentang mekanisme kerja dan pengenalan produk VPC, lihat Arsitektur Layanan.

Karakteristik VPC dan SAE menentukan bahwa kontainer aplikasi SAE tidak dapat terhubung ke layanan (kecuali layanan Alibaba Cloud seperti OSS dan Container Registry) di luar VPC. Jika tidak dikonfigurasi tambahan, kontainer aplikasi SAE berjalan di jaringan terisolasi, sehingga Anda tidak dapat langsung mengakses kontainer tersebut.

Contoh kode berikut menunjukkan kegagalan akses ke kontainer aplikasi.

容器无法触达公网的代码示例

Jika Anda ingin instance aplikasi mengakses layanan di Internet, Anda harus membeli gateway NAT dan mengonfigurasi Source Network Address Translation (SNAT) untuk vSwitch dalam VPC. Untuk informasi lebih lanjut, lihat Konfigurasikan Gateway NAT untuk Aplikasi SAE untuk Mengaktifkan Akses Internet.

SNAT memungkinkan instance aplikasi dalam VPC mengakses Internet saat tidak ada alamat IP publik yang ditetapkan pada instance. Anda dapat mengonfigurasi Entri SNAT untuk instance agar menggunakan elastic IP addresses (EIPs) yang terkait dengan gateway NAT. Dengan cara ini, instance dapat memanggil layanan melalui Internet dan mendapatkan sumber daya Internet. Untuk informasi lebih lanjut, lihat Produk dengan Akses ke Internet.

Membuat citra

SAE dapat bekerja sama dengan Container Registry, memungkinkan Anda membuat dan mengelola citra. SAE menyediakan citra dasar centos:7, bahasa pemrograman, codec, zona waktu, dan lingkungan pengembangan seperti OpenJDK.

Kontainer dirancang untuk memfasilitasi aplikasi berjalan, dan SAE hanya mengintegrasikan sejumlah alat terbatas secara default. Jika SAE mengintegrasikan terlalu banyak alat, konsumsi sumber daya dari alat tersebut dapat memengaruhi status aplikasi. Jika Anda membutuhkan alat yang tidak terintegrasi dalam SAE, Anda harus membuat citra atau mendapatkan citra dari OSS. Untuk informasi lebih lanjut, lihat Buat Citra untuk Menerapkan Aplikasi Java.

Tampilkan jendela webshell dalam layar penuh

Anda dapat melakukan langkah-langkah berikut untuk menampilkan jendela webshell dalam layar penuh:

  1. Masuk ke Konsol SAE. Di panel navigasi kiri, pilih Applications > Applications. Pada halaman yang muncul, pilih wilayah di bilah navigasi atas dan namespace dari daftar drop-down Namespace, lalu klik nama aplikasi yang diinginkan.

  2. Pada halaman Basic Information, klik tab Instances.

  3. Di bagian Default Group dari tab Instances, temukan instance yang ingin Anda kelola dan klik Webshell di kolom Actions.

    webshell

  4. Opsional. Saat jendela webshell muncul, klik ikon bt_full_screen di pojok kanan atas untuk menampilkan jendela dalam layar penuh.

  5. Jalankan perintah di jendela webshell sesuai kebutuhan bisnis Anda untuk melihat dan men-debug kontainer Anda.

Dapatkan metadata instance aplikasi

Setelah menerapkan aplikasi ke SAE, Anda dapat memperoleh metadata instance aplikasi, termasuk ID grup keamanan, ID VPC, dan ID vSwitch.

Lokasi metadata

Deskripsi

/etc/podinfo/sgId

Path tempat ID grup keamanan berada.

/etc/podinfo/vpcId

Path tempat ID VPC berada.

/etc/podinfo/vswitchId

Path tempat ID vSwitch berada.

Catatan

Saat beberapa vSwitch ada, ID vSwitch dipisahkan dengan koma (,).

Anda dapat masuk ke SAE console dan menjalankan perintah berikut di jendela webshell untuk memverifikasi ID grup keamanan, ID VPC, dan ID vSwitch.

  1. Jalankan perintah berikut untuk membuka direktori podinfo:

    cd /etc/podinfo/
    Catatan

    Jika kesalahan can't cd to /etc/podinfo/ dilaporkan saat menjalankan perintah, Anda dapat restart instance atau deploy aplikasi.

  2. Jalankan perintah berikut untuk melihat semua file metadata instance:

    ls

    Output yang diharapkan:

    sgId  vpcId  vswitchId
  3. Jalankan perintah berikut sesuai kebutuhan bisnis Anda untuk memverifikasi metadata instance aplikasi:

    • Jalankan perintah berikut untuk mendapatkan ID grup keamanan:

      cat sgId

      Output yang diharapkan:

      sg-2ze4ddm2rqgenvcx****sh-4.2#
    • Jalankan perintah berikut untuk mendapatkan ID VPC:

      cat vpcId

      Output yang diharapkan:

      vpc-2zeqku2oevokwm66b****sh-4.2#
    • Jalankan perintah berikut untuk mendapatkan ID vSwitch:

      cat vswitchId

      Output yang diharapkan:

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

Salin perintah untuk menginstal komponen O&M

Anda dapat masuk ke SAE console dan melakukan langkah-langkah berikut untuk menyalin perintah di jendela webshell sesuai kebutuhan bisnis Anda. Perintah ini digunakan untuk menginstal komponen O&M.

Catatan

Perintah yang diinstal di jendela webshell tidak valid setelah kontainer dibangun ulang. Untuk perintah umum, kami sarankan Anda menginstalnya saat membuat citra.

  1. Klik ikon bt_copy_code di pojok kanan atas jendela webshell.

  2. Di kotak dialog Copy Command, pilih komponen yang diperlukan, pratinjau perintah yang ditampilkan, lalu klik Copy. Parameter Pilih Instal Komponen menyediakan opsi berikut:

    • Install openssh: OpenSSH adalah implementasi protokol SSH gratis dan open source. OpenSSH menyediakan program backend server-side dan alat klien untuk mengenkripsi data yang ditransmisikan dalam kontrol jarak jauh dan transfer file. Anda dapat menginstal OpenSSH dan kemudian menggunakan debugging jarak jauh untuk mengimplementasikan fungsi berikut: login jarak jauh melalui protokol SSH, serta unggah dan unduh file menggunakan sftp dan scp. Dengan cara ini, Anda dapat men-debug instance aplikasi SAE untuk memenuhi kebutuhan tak terduga.

    • Install net-tools (netstat): Perintah netstat digunakan untuk memantau status jaringan. Anda dapat menjalankan perintah ini untuk menampilkan tabel rute, koneksi jaringan aktif, dan status antarmuka jaringan.

    • Install iroute (ss): Statistik socket (ss) perintah digunakan untuk menampilkan statistik socket yang mirip dengan informasi yang diperoleh dengan menjalankan perintah netstat. Dibandingkan dengan menjalankan perintah netstat, Anda dapat dengan cepat mendapatkan lebih banyak informasi tentang koneksi TCP dengan menjalankan perintah ss.

  3. Tempelkan perintah yang Anda salin di jendela webshell dan tekan Enter untuk mengeksekusi perintah.

Periksa status kesehatan aplikasi

Lakukan pemeriksaan rutin pada aplikasi

Anda dapat melakukan pemeriksaan rutin atau mengunggah dan mengunduh log untuk memeriksa status kesehatan aplikasi SAE. Beberapa pemeriksaan rutin tersedia. Misalnya, Anda dapat memeriksa proses, thread, dan Java virtual machine (JVM) dari aplikasi Java. Bagian ini menjelaskan cara memeriksa proses aplikasi Java dan cara melakukan analisis online pada aplikasi Java.

  • Jalankan perintah berikut untuk memeriksa apakah aplikasi Java memiliki proses yang tersedia:

    ps -ef | grep java
    Catatan

    Dalam kontainer, proses utama digunakan untuk memulai aplikasi. Jika aplikasi dihentikan, kontainer keluar. SAE secara otomatis memulai ulang kontainer untuk mencegah gangguan layanan.

    • Jika tidak ada proses yang tersedia, jalankan perintah dmesg | grep -i kill untuk memeriksa log out of memory (OOM).

    • Jika log OOM ada, proses aplikasi dihentikan. Anda perlu memeriksa file log bernama hs_err_pid{PID}.log di direktori kerja untuk mengidentifikasi penyebabnya.

  • Anda juga dapat menggunakan perangkat lunak open source Arthas yang disediakan oleh Alibaba Cloud untuk melakukan analisis online pada aplikasi Java. Kami sarankan Anda mengintegrasikan Arthas ke dalam citra uji untuk melakukan pemeriksaan rutin. Arthas dapat menampilkan status pemuatan kelas Java secara real-time. Dengan cara ini, Anda dapat melihat parameter input dan output serta variabel lingkungan.

    1. Hubungkan aplikasi ke Internet.

      Untuk informasi lebih lanjut, lihat Konfigurasikan Gateway NAT untuk Aplikasi SAE untuk Mengaktifkan Akses Internet.

    2. Jalankan perintah berikut untuk mengunduh Arthas:

      sudo wget https://alibaba.github.io/arthas/arthas-boot.jar
    3. Jalankan perintah berikut untuk memulai Arthas:

      sudo java -jar arthas-boot.jar

Unggah dan unduh log untuk memeriksa status kesehatan aplikasi

Jika pemeriksaan rutin tidak dapat memberikan informasi yang diperlukan, Anda dapat mengunggah log yang dikumpulkan dari kontainer ke cloud, lalu mengunduh log ke mesin lokal Anda untuk analisis aplikasi.

  • Jika ukuran file log lebih kecil dari atau sama dengan 10 MB, Anda dapat menggunakan fitur webshell bawaan SAE. Untuk informasi, lihat Gunakan Fitur Webshell untuk Mengunggah dan Mengunduh File.

  • Jika ukuran file log lebih besar dari 10 MB, Anda dapat mengunggah file log ke OSS. Layanan OSS kompatibel dengan semua lingkungan jaringan di Alibaba Cloud. Anda dapat melakukan langkah-langkah berikut untuk menggunakan OSS untuk mengunggah dan mengunduh log.

  1. Instal alat baris perintah OSS ossutil di kontainer. Untuk informasi lebih lanjut, lihat Instal ossutil.

    Dalam contoh ini, pengguna CentOS 64-bit ingin mengunduh log. Jika aplikasi tidak terhubung ke Internet, pengguna root harus mengunduh file log ke mesin lokal, mengunggah file yang diunduh ke OSS, dan kemudian mendapatkan alamatinternal yang dapat diakses dalam VPC dari OSS untuk mengunduh file.

    1. Jalankan perintah berikut untuk mengunduh ossutil:

      sudo wget http://gosspublic.alicdn.com/ossutil/1.5.0/ossutil64
    2. Jalankan perintah berikut untuk memodifikasi izin eksekusi pada paket instalasi ossutil:

      sudo chmod 755 ossutil64
  2. Konfigurasikan ossutil dan tentukan titik akhir internal VPC di wilayah tempat aplikasi Anda berada. Tentukan pasangan AccessKey dari akun yang ingin Anda gunakan untuk menerima file yang diunggah, melihat bucket yang ada, dan memeriksa apakah layanan OSS Anda tersedia.

    Catatan
    • Pastikan layanan OSS diaktifkan untuk akun Alibaba Cloud Anda. Akun tersebut mungkin bukan akun yang digunakan untuk mengelola aplikasi SAE.

    • Pastikan bucket dibuat. Untuk informasi lebih lanjut, lihat Buat Bucket.

    1. Jalankan perintah berikut untuk membuat file konfigurasi yang menyimpan informasi akses OSS:

      Anda dapat mengikuti petunjuk di layar untuk menentukan pasangan AccessKey dan informasi titik akhir Anda. Anda tidak perlu menentukan Token Layanan Keamanan (STS).

      ./ossutil64 config  
    2. Jalankan perintah berikut untuk mencantumkan semua bucket:

      Periksa apakah akun dapat digunakan. Jika kesalahan dilaporkan, konfigurasi tidak valid.

      ./ossutil64 ls

      Contoh output:

      CreationTime                                 Region    StorageClass    BucketName
      2021-12-08 18:53:46 +0800 CST       oss-cn-hangzhou        Standard    oss://test-bucket
    3. Jalankan perintah berikut untuk membuat file log simulasi bernama sae-app.log.

      echo "Hello" > sae-app.log
    4. Jalankan perintah berikut untuk mengunggah file log ke bucket tertentu:

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

      Contoh kode:

      ./ossutil64 cp sae-app.log oss://test-bucket
  3. Gunakan salah satu metode berikut untuk memverifikasi hasilnya.

    • Metode 1: Jalankan perintah berikut untuk melihat file log yang diunggah:

      ./ossutil64 ls oss://test-bucket

      Contoh output:

      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
    • Metode 2: Temukan file log Anda di OSS console atau menggunakan alat. Kemudian, unduh file tersebut ke mesin lokal Anda, dan pilih alat untuk menganalisis status aplikasi.