Koneksi ke instans aplikasi untuk pemecahan masalah

Catatan

Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara saat kami berupaya memperbarui aset seperti cuplikan layar, video, dan diagram.

Artikel ini berlaku untuk: ✔️ Basic/Standard ✔️ Enterprise

Artikel ini menjelaskan cara mengakses lingkungan shell di dalam instans aplikasi Anda untuk melakukan pemecahan masalah tingkat lanjut.

Meskipun Azure Spring Apps menawarkan berbagai pendekatan pemecahan masalah terkelola, Anda mungkin ingin melakukan pemecahan masalah tingkat lanjut menggunakan lingkungan shell. Misalnya, Anda mungkin ingin menyelesaikan tugas pemecahan masalah berikut:

  • Langsung gunakan alat Java Development Kit (JDK).
  • Mendiagnosis terhadap layanan back-end aplikasi untuk koneksi jaringan dan latensi panggilan API untuk instans jaringan virtual dan non-jaringan virtual.
  • Mendiagnosis kapasitas penyimpanan, performa, dan masalah CPU/memori.

Prasyarat

  • Azure CLI dengan ekstensi Azure Spring Apps. Gunakan perintah berikut untuk menghapus versi sebelumnya dan menginstal ekstensi terbaru. Jika sebelumnya Anda menginstal ekstensi spring-cloud, hapus instalannya untuk menghindari ketidakcocokan konfigurasi dan versi.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Aplikasi yang disebarkan di Azure Spring Apps.

  • Jika Anda telah menyebarkan kontainer kustom, program shell. Default adalah /bin/sh.

Menetapkan peran Azure

Sebelum menyambungkan ke instans aplikasi, Anda harus diberikan peran Peran Koneksi Azure Spring Apps. Koneksi ke instans aplikasi memerlukan izin Microsoft.AppPlatform/Spring/apps/deployments/connect/actiontindakan data .

Anda dapat menetapkan peran Azure menggunakan portal Azure atau Azure CLI.

Gunakan langkah-langkah berikut untuk menetapkan peran Azure menggunakan portal Azure.

  1. Buka portal Microsoft Azure.

  2. Buka instans layanan Azure Spring Apps yang sudah ada.

  3. Pilih Access Control (IAM) dari menu sebelah kiri.

  4. Pilih Tambahkan di bilah perintah, lalu pilih Tambahkan penetapan peran.

    Screenshot of the Access Control(IAM) page showing the Add role assignment command.

  5. Cari Peran Koneksi Azure Spring Apps dalam daftar, lalu pilih Berikutnya.

    Screenshot of the Add role assignment page showing the Azure Spring Apps Connect Role.

  6. Pilih Pilih anggota, lalu cari nama pengguna Anda.

  7. Pilih Tinjau + tetapkan.

Koneksi ke instans aplikasi

Anda dapat terhubung ke instans aplikasi menggunakan portal Azure atau Azure CLI.

Gunakan langkah-langkah berikut untuk menyambungkan ke instans aplikasi menggunakan portal Azure.

  1. Buka portal Microsoft Azure.

  2. Buka instans layanan Azure Spring Apps yang sudah ada.

  3. Pilih Aplikasi dari kiri menu, lalu pilih salah satu aplikasi Anda.

  4. Pilih Konsol dari menu sebelah kiri.

  5. Pilih instans aplikasi.

    Screenshot of the Azure portal Console page showing an app instance.

  6. Pilih atau masukkan shell untuk dijalankan dalam kontainer.

    Screenshot of the Azure portal Console page showing a Custom Shell entry.

  7. Pilih Sambungkan.

    Screenshot of the Azure portal Console page showing the Connect command.

Memecahkan masalah instans aplikasi Anda

Setelah terhubung ke instans aplikasi, Anda dapat memeriksa status memori timbunan.

Gunakan perintah berikut untuk menemukan ID proses Java, yang biasanya 1:

jps

Output akan terlihat seperti contoh berikut:

Screenshot showing the output of the jps command.

Kemudian gunakan perintah berikut untuk menjalankan alat JDK untuk memeriksa hasilnya:

jstat -gc 1

Output akan terlihat seperti contoh berikut:

Screenshot showing the output of the jstat command.

Memutuskan sambungan dari instans aplikasi Anda

Setelah selesai memecahkan masalah, gunakan exit perintah untuk memutuskan sambungan dari instans aplikasi, atau tekan Ctrl+d.

Alat pemecahan masalah

Daftar berikut ini menjelaskan beberapa alat yang telah diinstal sebelumnya yang bisa Anda gunakan untuk pemecahan masalah:

  • lsof - Mencantumkan file yang terbuka.
  • top - Menampilkan informasi ringkasan sistem dan pemanfaatan saat ini.
  • ps - Mendapatkan rekam jepret dari proses yang sedang berjalan.
  • netstat - Mencetak koneksi jaringan dan statistik antarmuka.
  • nslookup - Mengkueri server nama internet secara interaktif.
  • ping - Menguji apakah host jaringan dapat dicapai.
  • nc - Membaca dari dan menulis ke koneksi jaringan menggunakan TCP atau UDP.
  • wget - Memungkinkan Anda mengunduh file dan berinteraksi dengan REST API.
  • df - Menampilkan jumlah ruang disk yang tersedia.

Anda juga dapat menggunakan alat yang dibundel JDK seperti jps, jcmd, dan jstat.

Daftar berikut menunjukkan alat yang tersedia, yang bergantung pada paket layanan dan jenis penyebaran aplikasi Anda:

  • Penyebaran Kode Sumber, JAR, dan artefak:
    • Konsumsi Dasar, Standar, dan Standar & Paket Khusus:
      • Alat umum - Ya
      • Alat JDK - Ya, hanya untuk beban kerja Java.
    • Paket Perusahaan:
      • Alat umum - Bergantung pada OS Stack mana yang telah Anda pilih di penyusun Anda. Ya, untuk tumpukan OS lengkap. Tidak, untuk tumpukan OS dasar.
      • Alat JDK - Ya, hanya untuk beban kerja Java.
  • Penyebaran gambar kustom: Tergantung pada set alat yang diinstal dalam gambar Anda.

Catatan

Alat JDK tidak disertakan dalam jalur untuk jenis penyebaran kode sumber. Jalankan export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin" sebelum menjalankan perintah JDK apa pun.

Pembatasan

Menggunakan lingkungan shell di dalam instans aplikasi Anda memiliki batasan berikut:

  • Karena aplikasi berjalan sebagai pengguna non-root, Anda tidak dapat menjalankan beberapa tindakan yang memerlukan izin root. Misalnya, Anda tidak dapat menginstal alat baru dengan menggunakan manajer apt / yumpaket sistem .

  • Karena beberapa kemampuan Linux dilarang, alat yang memerlukan hak istimewa khusus, seperti tcpdump, tidak berfungsi.

Langkah berikutnya