Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini menunjukkan kepada Anda cara mengonfigurasi aplikasi Java klasik untuk mengirim log ke layanan Logz.io untuk penyerapan dan analisis. Logz.io menyediakan solusi pemantauan penuh berdasarkan Elasticsearch/Logstash/Kibana (ELK) dan Grafana.
Tutorial mengasumsikan Anda menggunakan Log4J atau Logback. Pustaka ini adalah dua yang paling banyak digunakan untuk pengelogan di Java, sehingga tutorial harus berfungsi untuk sebagian besar aplikasi yang berjalan di Azure. Jika Anda sudah menggunakan tumpukan Elastic untuk memantau aplikasi Java Anda, tutorial ini menunjukkan kepada Anda cara mengonfigurasi ulang untuk menargetkan titik akhir Logz.io.
Dalam tutorial ini, Anda mempelajari cara:
- Kirim log dari aplikasi Java yang ada ke Logz.io.
- Kirim log diagnostik dan metrik dari layanan Azure ke Logz.io.
Prasyarat
- Java Developer Kit, versi 11 atau yang lebih tinggi
- Akun Logz.io dari Marketplace Azure
- Aplikasi Java yang ada yang menggunakan Log4J atau Logback
Mengirim log aplikasi Java ke Logz.io
Pertama, Anda mempelajari cara mengonfigurasi aplikasi Java dengan token yang memberinya akses ke akun Logz.io Anda.
Mendapatkan token akses Logz.io Anda
Untuk mendapatkan token Anda, masuk ke akun Logz.io Anda, pilih ikon cog di sudut kiri bawah, lalu pilih Pengaturan >Kelola token dan pilih tab Token pengiriman data. Salin token akses default ditampilkan dan URL pendengar sehingga Anda dapat menggunakannya nanti.
Menginstal dan mengonfigurasi pustaka Logz.io untuk Log4J atau Logback
Pustaka Logz.io Java tersedia di Maven Central, sehingga Anda dapat menambahkannya sebagai dependensi ke konfigurasi aplikasi Anda. Periksa nomor versi di Maven Central dan gunakan versi terbaru dalam pengaturan konfigurasi berikut.
Jika Anda menggunakan Maven, tambahkan dependensi berikut ke file pom.xml Anda:
Log4J:
<dependency>
<groupId>io.logz.log4j2</groupId>
<artifactId>logzio-log4j2-appender</artifactId>
<version>2.0.0</version>
</dependency>
Logback :
<dependency>
<groupId>io.logz.logback</groupId>
<artifactId>logzio-logback-appender</artifactId>
<version>2.0.0</version>
</dependency>
Jika Anda menggunakan Gradle, tambahkan dependensi berikut ke skrip build Anda:
Log4J:
implementation 'io.logz.log4j:logzio-log4j-appender:2.0.0'
Logback :
implementation 'io.logz.logback:logzio-logback-appender:2.0.0'
Selanjutnya, perbarui file konfigurasi Log4J atau Logback Anda:
Log4J:
<Appenders>
<LogzioAppender name="Logzio">
<logzioToken><your-logz-io-token></logzioToken>
<logzioType>java</logzioType>
<logzioUrl>https://<your-logz-io-listener-host>:8071</logzioUrl>
</LogzioAppender>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Logzio"/>
</Root>
</Loggers>
Logback :
<configuration>
<!-- Use shutdownHook so that we can close gracefully and finish the log drain -->
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
<appender name="LogzioLogbackAppender" class="io.logz.logback.LogzioLogbackAppender">
<token><your-logz-io-token></token>
<logzioUrl>https://<your-logz-io-listener-host>:8071</logzioUrl>
<logzioType>java</logzioType>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<root level="debug">
<appender-ref ref="LogzioLogbackAppender"/>
</root>
</configuration>
Ganti placeholder <your-logz-io-token> dengan token akses Anda dan placeholder <your-logz-io-listener-host> dengan host pendengar di wilayah Anda - misalnya, listener.logz.io. Untuk informasi selengkapnya tentang menemukan wilayah akun Anda, lihat wilayah Akun .
Elemen logzioType mengacu pada bidang logis di Elasticsearch yang digunakan untuk memisahkan dokumen yang berbeda satu sama lain. Sangat penting untuk mengonfigurasi parameter ini dengan benar untuk mendapatkan hasil maksimal dari Logz.io.
"Jenis" Logz.io adalah format log Anda - misalnya: Apache, NGinx, MySQL - dan bukan sumber Anda - misalnya: server1, server2, server3. Untuk tutorial ini, kami memanggil jenis java karena kami mengonfigurasi aplikasi Java, dan kami mengharapkan aplikasi tersebut memiliki format yang sama.
Untuk penggunaan tingkat lanjut, Anda dapat mengelompokkan aplikasi Java Anda ke dalam berbagai jenis, yang semuanya memiliki format log spesifik mereka sendiri (dapat dikonfigurasi dengan Log4J dan Logback). Misalnya, Anda dapat memiliki jenis spring-boot-monolith dan jenis spring-boot-microservice.
Menguji konfigurasi dan analisis log Anda di Logz.io
Setelah pustaka Logz.io dikonfigurasi, aplikasi Anda sekarang harus mengirim log langsung ke pustaka tersebut. Untuk menguji bahwa semuanya berfungsi dengan benar, buka konsol Logz.io, pilih tab Log>Live tail, kemudian pilih jalankan. Anda akan melihat pesan yang mirip dengan yang berikut ini, memberi tahu Anda bahwa koneksi berfungsi:
Requesting Live Tail access...
Access granted. Opening connection...
Connected. Tailing...
Selanjutnya, mulai aplikasi Anda, atau gunakan untuk menghasilkan beberapa log. Log akan muncul langsung di layar Anda. Misalnya, berikut adalah pesan startup pertama dari aplikasi Spring Boot:
2019-09-19 12:54:40.685Z Starting JavaApp on javaapp-default-9-5cfcb8797f-dfp46 with PID 1 (/workspace/BOOT-INF/classes started by cnb in /workspace)
2019-09-19 12:54:40.686Z The following profiles are active: prod
2019-09-19 12:54:42.052Z Bootstrapping Spring Data repositories in DEFAULT mode.
2019-09-19 12:54:42.169Z Finished Spring Data repository scanning in 103ms. Found 6 repository interfaces.
2019-09-19 12:54:43.426Z Bean 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' of type [org.springframework.boot.autoconfigure.task.TaskExecutionProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Setelah Logz.io memproses log Anda, Anda dapat memperoleh manfaat dari semua layanan platform.
Mengirim data layanan Azure ke Logz.io
Selanjutnya Anda mempelajari cara mengirim log dan metrik dari sumber daya Azure Anda ke Logz.io.
Menyebarkan templat
Langkah pertama adalah menyebarkan templat integrasi Logz.io - Azure. Integrasi didasarkan pada templat penyebaran Azure siap pakai yang menyiapkan semua blok penyusun alur yang diperlukan. Templat membuat namespace Event Hub, Event Hub, dua blob penyimpanan, dan semua izin serta koneksi yang diperlukan dengan benar. Sumber daya yang disiapkan oleh penyebaran otomatis dapat mengumpulkan data untuk satu wilayah Azure dan mengirimkan data tersebut ke Logz.io.
Temukan tombol Sebarkan ke Azure yang ditampilkan di langkah pertama readme repo.
Saat Anda memilih
Anda bisa membiarkan sebagian besar bidang as-is tetapi pastikan untuk memasukkan pengaturan berikut:
- Grup sumber daya: Pilih grup yang sudah ada atau buat grup baru.
-
Logzio/Host Metrik: Masukkan URL pendengar Logz.io. Jika Anda tidak yakin apa URL ini, periksa URL masuk Anda. Jika
app.logz.io, gunakanlistener.logz.io(yang merupakan pengaturan default). Jikaapp-eu.logz.io, gunakanlistener-eu.logz.io. - Token Logzio untuk Log/Metrik: Masukkan token dari akun Logz.io yang ingin Anda gunakan untuk mengirim log atau metrik ke Azure. Anda dapat menemukan token ini di halaman akun di antarmuka pengguna Logz.io.
Setujui persyaratan di bagian bawah halaman, dan klik Beli. Azure kemudian menyebarkan templat, yang mungkin memakan waktu satu atau dua menit. Anda akhirnya melihat pesan "Penyebaran berhasil" di bagian atas portal.
Anda dapat mengunjungi grup sumber daya yang ditentukan untuk meninjau sumber daya yang disebarkan.
Untuk mempelajari cara mengonfigurasi logzio-azure-serverless untuk mencadangkan data ke Azure Blob Storage, lihat Mengirim log aktivitas Azure.
Mengalirkan log dan metrik Azure ke Logz.io
Sekarang setelah Anda menyebarkan templat integrasi, Anda perlu mengonfigurasi Azure untuk mengalirkan data diagnostik ke Pusat Aktivitas yang baru saja Anda sebarkan. Saat data masuk ke Pusat Aktivitas, aplikasi fungsi meneruskan data tersebut ke Logz.io.
Di bilah pencarian, ketikDiagnostik
, lalu pilih pengaturan Diagnostik . Pilih sumber daya dari daftar sumber daya, lalu pilih
Tambahkan pengaturan diagnostik untuk membuka panel pengaturan Diagnostikuntuk sumber daya tersebut.
Berikan pengaturan diagnostik Anda nama .
Pilih Streaming kepusat aktivitas, lalu pilih Konfigurasi untuk membuka panel Pilih Pusat Aktivitas.
Pilih Pusat Aktivitas Anda:
-
Pilih namespace layanan pusat aktivitas: Pilih namespace layanan yang dimulai dengan Logzio (
LogzioNS6nvkqdcci10p, misalnya). - Pilih nama hub peristiwa: Untuk log, pilih insights-operational-logs dan untuk metrik pilih insights-operational-metrics.
- Pilih nama kebijakan hub acara: Pilih LogzioSharedAccessKey.
-
Pilih namespace layanan pusat aktivitas: Pilih namespace layanan yang dimulai dengan Logzio (
Pilih OK untuk kembali ke panel pengaturan Diagnostik.
Di bagian Log, pilih data yang ingin Anda streaming, lalu pilih Simpan.
Data yang dipilih sekarang mengalir ke Pusat Aktivitas.
Memvisualisasikan data Anda
Selanjutnya, beri waktu sejenak agar data Anda dapat berpindah dari sistem Anda ke Logz.io, lalu buka Kibana. Anda akan melihat data (dengan jenis eventhub) mengisi dasbor Anda. Untuk informasi selengkapnya tentang cara membuat dasbor, lihat Kibana - Buat Dasbor.
Dari sana, Anda bisa mengkueri data tertentu di tab Temukan, atau membuat objek Kibana untuk memvisualisasikan data Anda di tab Visualisasikan.
Membersihkan sumber daya
Setelah selesai dengan sumber daya Azure yang Anda buat dalam tutorial ini, Anda dapat menghapusnya menggunakan perintah berikut:
az group delete --name <resource group>
Langkah berikutnya
Dalam tutorial ini, Anda mempelajari cara mengonfigurasi aplikasi Java dan layanan Azure untuk mengirim log dan metrik ke Logz.io.
Selanjutnya, pelajari selengkapnya tentang menggunakan Event Hub untuk memantau aplikasi Anda: