Streaming log konsol aplikasi Azure Spring Apps secara real time
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: ✔️ Java ✔️ C#
Artikel ini berlaku untuk: ✔️ Basic/Standard ✔️ Enterprise
Artikel ini menjelaskan cara mengaktifkan streaming log di Azure CLI untuk mendapatkan log konsol aplikasi real time untuk pemecahan masalah. Anda juga dapat menggunakan pengaturan diagnostik untuk menganalisis data diagnostik di Azure Spring Apps. Untuk informasi selengkapnya, lihat Menganalisis log dan metrik dengan pengaturan diagnostik. Untuk informasi selengkapnya tentang log streaming, lihat Mengalirkan log pekerjaan Azure Spring Apps secara real time dan Mengalirkan log komponen terkelola Azure Spring Apps secara real time.
Prasyarat
- Azure CLI dengan ekstensi Azure Spring Apps, versi 1.0.0 atau yang lebih tinggi. Anda dapat menginstal ekstensi dengan menggunakan perintah berikut:
az extension add --name spring
- Instans Azure Spring Apps dengan aplikasi yang berjalan. Untuk informasi selengkapnya, lihat Mulai Cepat: Sebarkan aplikasi pertama Anda ke Azure Spring Apps.
Menggunakan Azure CLI untuk menghasilkan log ekor
Bagian ini menyediakan contoh penggunaan Azure CLI untuk menghasilkan log ekor. Untuk menghindari menentukan grup sumber daya dan nama instans layanan Anda berulang kali, gunakan perintah berikut untuk mengatur nama grup sumber daya default dan nama kluster Anda:
az config set defaults.group=<service-group-name>
az config set defaults.spring=<service-instance-name>
Grup sumber daya dan nama layanan dihilangkan dalam contoh berikut.
Menampilkan log ekor untuk aplikasi dengan satu instans
Jika aplikasi bernama auth-service
hanya memiliki satu instans, Anda dapat melihat log instans aplikasi dengan perintah berikut:
az spring app logs --name <application-name>
Perintah mengembalikan log yang mirip dengan contoh berikut, di mana auth-service
adalah nama aplikasi.
...
2020-01-15 01:54:40.481 INFO [auth-service,,,] 1 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-01-15 01:54:40.482 INFO [auth-service,,,] 1 --- [main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.22]
2020-01-15 01:54:40.760 INFO [auth-service,,,] 1 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/uaa] : Initializing Spring embedded WebApplicationContext
2020-01-15 01:54:40.760 INFO [auth-service,,,] 1 --- [main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 7203 ms
...
Menampilkan log ekor untuk aplikasi dengan beberapa instans
Jika terdapat beberapa instans untuk aplikasi bernama auth-service
, Anda dapat melihat log instans tersebut menggunakan opsi -i/--instance
.
Pertama, jalankan perintah berikut untuk mendapatkan nama instans aplikasi:
az spring app show --name auth-service --query properties.activeDeployment.properties.instances --output table
Perintah menghasilkan hasil yang mirip dengan output berikut:
Name Status DiscoveryStatus
------------------------------------------- -------- -----------------
auth-service-default-12-75cc4577fc-pw7hb Running UP
auth-service-default-12-75cc4577fc-8nt4m Running UP
auth-service-default-12-75cc4577fc-n25mh Running UP
Kemudian, Anda dapat melakukan streaming log instans aplikasi menggunakan -i/--instance
opsi , sebagai berikut:
az spring app logs --name auth-service --instance auth-service-default-12-75cc4577fc-pw7hb
Anda juga bisa mendapatkan detail instans aplikasi dari portal Azure. Setelah memilih Aplikasi di panel navigasi kiri layanan Azure Spring Apps Anda, pilih Instans Aplikasi.
Streaming log baru secara berkelanjutan
Secara default, az spring app logs
hanya mencetak log yang ada yang di-streaming ke konsol aplikasi kemudian keluar. Jika Anda ingin melakukan streaming log baru, tambahkan argumen, seperti yang -f/--follow
diperlihatkan dalam contoh berikut:
az spring app logs --name auth-service --follow
Saat Anda menggunakan --follow
argumen untuk membuntuti log instan, layanan streaming log Azure Spring Apps mengirimkan log heartbeat ke klien setiap menit kecuali aplikasi Anda menulis log terus-menerus. Pesan log heartbeat menggunakan format berikut: 2020-01-15 04:27:13.473: No log from server
.
Gunakan perintah berikut untuk memeriksa semua opsi pengelogan yang didukung:
az spring app logs --help
Log terstruktur format JSON
Catatan
Memformat log terstruktur JSON memerlukan ekstensi spring versi 2.4.0 atau yang lebih baru.
Log aplikasi terstruktur ditampilkan dalam format JSON, yang mungkin sulit dibaca. Anda dapat menggunakan --format-json
argumen untuk memformat log dalam format JSON ke dalam format yang lebih mudah dibaca. Untuk informasi selengkapnya, lihat Log aplikasi terstruktur untuk Azure Spring Apps.
Contoh berikut menunjukkan cara menggunakan --format-json
argumen:
# Raw JSON log
$ az spring app logs --name auth-service
{"timestamp":"2021-05-26T03:35:27.533Z","logger":"com.netflix.discovery.DiscoveryClient","level":"INFO","thread":"main","mdc":{},"message":"Disable delta property : false"}
{"timestamp":"2021-05-26T03:35:27.533Z","logger":"com.netflix.discovery.DiscoveryClient","level":"INFO","thread":"main","mdc":{},"message":"Single vip registry refresh property : null"}
# Formatted JSON log
$ az spring app logs --name auth-service --format-json
2021-05-26T03:35:27.533Z INFO [ main] com.netflix.discovery.DiscoveryClient : Disable delta property : false
2021-05-26T03:35:27.533Z INFO [ main] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null
Argumen --format-json
juga menerima format yang dikustomisasi opsional menggunakan sintaks string format. Untuk informasi selengkapnya, lihat Format Sintaks String.
Contoh berikut menunjukkan cara menggunakan sintaks string format:
# Custom format
$ az spring app logs --name auth-service --format-json="{message}{n}"
Disable delta property : false
Single vip registry refresh property : null
Format default yang digunakan adalah:
{timestamp} {level:>5} [{thread:>15.15}] {logger{39}:<40.40}: {message}{n}{stackTrace}
Melakukan streaming log aplikasi Azure Spring Apps dalam instans injeksi jaringan virtual
Untuk instans Azure Spring Apps yang disebarkan di jaringan virtual kustom, Anda dapat mengakses streaming log secara default dari jaringan privat. Untuk informasi selengkapnya, lihat Menyebarkan Azure Spring Apps dalam jaringan virtual
Azure Spring Apps juga memungkinkan Anda mengakses log aplikasi real time dari jaringan publik menggunakan portal Azure atau Azure CLI.
Catatan
Mengaktifkan titik akhir streaming log di jaringan publik menambahkan IP masuk publik ke jaringan virtual Anda. Pastikan untuk berhati-hati jika ini menjadi perhatian Anda.
Gunakan langkah-langkah berikut untuk mengaktifkan titik akhir streaming log di jaringan publik:
Pilih instans layanan Azure Spring Apps yang disebarkan di jaringan virtual Anda lalu pilih Jaringan di menu navigasi.
Pilih tab injeksi Vnet.
Alihkan status sumber daya Dataplane di jaringan publik untuk mengaktifkan mengaktifkan titik akhir streaming log di jaringan publik. Proses ini memakan waktu beberapa menit.
Setelah mengaktifkan titik akhir publik aliran log, Anda dapat mengakses log aplikasi dari jaringan publik sama seperti Anda akan mengakses instans normal.
Mengamankan lalu lintas ke titik akhir publik streaming log
Streaming log menggunakan kunci yang sama dengan titik akhir pengujian yang dijelaskan dalam Menyiapkan lingkungan penahapan di Azure Spring Apps untuk mengautentikasi koneksi ke penyebaran Anda. Akibatnya, hanya pengguna yang memiliki akses baca ke kunci pengujian yang dapat mengakses streaming log.
Untuk memastikan keamanan aplikasi saat Mengekspos titik akhir publik untuk aplikasi tersebut, amankan titik akhir dengan memfilter lalu lintas jaringan ke layanan Anda dengan grup keamanan jaringan. Untuk informasi selengkapnya, lihat Tutorial: Memfilter lalu lintas jaringan dengan grup keamanan jaringan menggunakan portal Azure. Kelompok keamanan jaringan berisi aturan keamanan yang memungkinkan atau menolak lalu lintas jaringan masuk ke, atau, lalu lintas jaringan keluar dari, beberapa jenis sumber daya Azure. Untuk setiap aturan, Anda dapat menentukan sumber dan tujuan, port, dan protokol.
Catatan
Jika Anda tidak dapat mengakses log aplikasi di instans injeksi jaringan virtual dari internet setelah mengaktifkan titik akhir publik aliran log, periksa grup keamanan jaringan Anda untuk melihat apakah Anda mengizinkan lalu lintas masuk tersebut.
Tabel berikut ini memperlihatkan contoh aturan dasar yang kami rekomendasikan. Anda dapat menggunakan perintah seperti nslookup
dengan titik <service-name>.private.azuremicroservices.io
akhir untuk mendapatkan alamat IP target layanan.
Prioritas | Nama | Port | Protokol | Sumber | Tujuan | Tindakan |
---|---|---|---|---|---|---|
100 | Nama aturan | 80 | TCP | Internet | Alamat IP layanan | Izinkan |
110 | Nama aturan | 443 | TCP | Internet | Alamat IP layanan | Izinkan |
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk