Alibaba Cloud Elasticsearch menyediakan fitur kueri log yang memungkinkan Anda mencari log berdasarkan kata kunci dan rentang waktu. Fitur ini membantu Anda mengidentifikasi masalah kluster dengan cepat serta menyederhanakan operasi dan pemeliharaan. Topik ini menjelaskan cara melakukan kueri log dan tipe-tipe log yang tersedia.
Batasan
-
Access Log: Fitur ini hanya tersedia untuk instans Elasticsearch yang menjalankan versi 6.7.0 (dengan versi mesin minor ≥ 1.0.2) atau versi 7.10 ke atas.
-
Audit Log: Anda hanya dapat melihat log audit di Konsol untuk instans yang menjalankan versi 7.x atau lebih baru di wilayah-wilayah berikut.
Negara atau wilayah
Wilayah
China
China (Beijing), China (Hangzhou), China (Shanghai), China (Zhangjiakou)
Asia Pasifik
Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jepang (Tokyo)
Eropa dan Amerika
AS (Virginia), AS (Silicon Valley), Jerman (Frankfurt), Inggris (London)
Prosedur
Masuk ke Konsol Alibaba Cloud Elasticsearch.
Di bilah navigasi kiri, pilih Elasticsearch Clusters.
Arahkan ke kluster target.
Di bilah navigasi atas, pilih kelompok sumber daya tempat kluster berada dan wilayah lokasi kluster tersebut.
Pada halaman Elasticsearch Clusters, temukan kluster tersebut lalu klik ID-nya.
-
Di panel navigasi sebelah kiri, klik Logs untuk melihat log waktu proses kluster.
Alibaba Cloud Elasticsearch mendukung tipe log berikut: log utama, log lambat pencarian, log lambat pengindeksan, log GC, log akses ES dan log audit. Tabel berikut menjelaskan tipe-tipe log ini beserta kasus penggunaannya. Untuk informasi selengkapnya, lihat Detail log.
Tipe log
Deskripsi
Kasus penggunaan
Cluster Log
Mencatat status kesehatan kluster dan log untuk kueri serta penulisan indeks. Misalnya, log penulisan mencakup event seperti pembuatan indeks, pembaruan mapping, dan overload antrian penulisan. Log kueri mencakup event seperti status antrian kueri dan exception kueri.
Gunakan log utama untuk memeriksa status waktu proses node, aktivitas kueri dan penulisan, konektivitas node, event Full GC, pembuatan atau penghapusan indeks, serta error kueri tingkat kluster.
PentingJika terjadi masalah di sisi client, pertama-tama periksa log utama dan Pemantauan Kluster untuk menyingkirkan bottleneck performa atau masalah konfigurasi di dalam kluster.
Search Slow Log
Mencatat kueri lambat. Ketika waktu eksekusi kueri melebihi ambang batas tertentu, informasinya akan dicatat. Ambang batas kueri lambat telah dikonfigurasi sebelumnya dalam templat indeks dari Scenario-specific Configuration Template dengan nilai default optimal. Anda hanya perlu menerapkan templat tersebut. Untuk informasi selengkapnya, lihat Konfigurasi templat indeks.
Jika kueri memakan waktu lebih lama dari yang diharapkan, periksa log lambat pencarian untuk investigasi.
Kueri lambat mengonsumsi lebih banyak resource kluster. Jika Anda melihat banyak log lambat, periksa resource dan beban kluster untuk mengidentifikasi bottleneck. Lalu tambahkan resource yang sesuai atau gunakan plugin aliyun-qos untuk menerapkan pembatasan laju dan memastikan stabilitas kluster.
Indexing Slow Log
Mencatat operasi penulisan lambat. Ketika waktu eksekusi operasi penulisan melebihi ambang batas tertentu, informasinya akan dicatat. Ambang batas penulisan lambat telah dikonfigurasi sebelumnya dalam templat indeks dari Scenario-specific Configuration Template dengan nilai default optimal. Anda hanya perlu menerapkan templat tersebut. Untuk informasi selengkapnya, lihat Konfigurasi templat indeks.
Jika operasi penulisan memakan waktu lebih lama dari yang diharapkan, periksa log lambat pengindeksan untuk investigasi.
Operasi penulisan lambat mengonsumsi lebih banyak resource kluster. Jika Anda melihat banyak log lambat, periksa resource dan beban kluster untuk mengidentifikasi bottleneck. Lalu tambahkan resource yang sesuai atau gunakan plugin aliyun-qos untuk menerapkan pembatasan laju dan memastikan stabilitas kluster.
GC Log
Mencatat event garbage collection yang dipicu oleh penggunaan memori heap JVM. Log GC memberikan informasi detail tentang berbagai mekanisme pengumpulan, termasuk Old GC, CMS GC, Full GC, dan Minor GC.
Ketika kluster mengalami bottleneck performa, periksa log GC untuk informasi detail pengumpulan serta event GC yang berjalan lama atau sering terjadi. Jika event tersebut ada, tambahkan resource kluster atau gunakan plugin aliyun-qos untuk menerapkan pembatasan laju dan memastikan stabilitas kluster.
PentingSecara default, kluster Alibaba Cloud Elasticsearch menggunakan garbage collector CMS. Untuk node data dengan memori 32 GB atau lebih, gunakan garbage collector G1 untuk meningkatkan efisiensi GC. Untuk informasi selengkapnya, lihat Konfigurasi garbage collector.
Access Log
Mencatat log akses untuk kluster. Log ini menampilkan detail permintaan terkait
restSearchActionyang diterima oleh kluster Elasticsearch, termasuk URI, ukuran body, dan waktu permintaan.Penting-
Anda hanya dapat melihat Access Log di Konsol untuk instans yang menjalankan versi 6.7.0 (dengan versi mesin minor ≥ 1.0.2) atau versi 7.10 ke atas.
-
Log akses ES tidak mendukung pencatatan untuk tipe kueri berikut: kueri SQL, kueri multi-search, kueri scroll, dan kueri yang dipicu oleh beberapa alat visualisasi Kibana.
-
Untuk mendapatkan informasi lebih komprehensif tentang permintaan kueri dan penulisan, aktifkan log audit. Untuk informasi selengkapnya, lihat Konfigurasi collector log audit.
Gunakan Access Log untuk mengidentifikasi client mana yang mengirim permintaan kueri ke kluster Elasticsearch.
Audit Log
Mencatat event terkait keamanan dalam instans Elasticsearch berdasarkan fitur audit X-Pack Security. Log ini mencatat event seperti operasi create, delete, update, dan query, serta keberhasilan dan kegagalan otentikasi pengguna dan perubahan izin.
Penting-
Anda hanya dapat melihat log audit di Konsol untuk instans yang menjalankan versi 7.x atau lebih baru di wilayah yang tercantum dalam Batasan. Untuk instans lain, Anda perlu mengaktifkan log audit dalam konfigurasi YML. Setelah diaktifkan, log audit ditulis ke indeks dalam kluster Elasticsearch saat ini. Anda dapat melihat log audit dengan melakukan kueri terhadap indeks yang dimulai dengan .security_audit_log-* di Konsol Kibana. Untuk informasi selengkapnya, lihat Konfigurasi parameter YML.
-
Untuk melihat log audit di Konsol, Anda harus terlebih dahulu mengaktifkan pengumpulan log audit dengan mengklik Log Configuration.
-
Secara default, tipe event berikut dikumpulkan: access_denied, anonymous_access_denied, authentication_failed, connection_denied, tampered_request, run_as_denied, run_as_granted. Untuk mengubah tipe event yang dikumpulkan, modifikasi parameter
xpack.security.audit.logfile.events.includedalam file YML kluster. Untuk informasi selengkapnya, lihat Konfigurasi collector log audit.
Gunakan log audit untuk meninjau keberhasilan dan kegagalan otentikasi pengguna, troubleshooting kegagalan otentikasi dan penolakan koneksi, memantau event akses data, atau menyelidiki aktivitas mencurigakan seperti perubahan otorisasi akses data dan konfigurasi keamanan pengguna.
-
-
Di halaman log, masukkan kondisi kueri Anda di kotak pencarian, pilih waktu mulai dan akhir, lalu klik Search.
Alibaba Cloud Elasticsearch mengembalikan dan menampilkan hasil log di halaman kueri log berdasarkan kueri Anda.
-
Anda dapat melakukan kueri log dari tujuh hari terakhir secara berurutan. Secara default, log ditampilkan dalam urutan kronologis terbalik.
-
Sintaks kueri didasarkan pada Lucene. Untuk informasi selengkapnya, lihat Sintaks string kueri.
-
Operator
ANDdalam kueri Anda harus ditulis dalam huruf kapital. -
Jika Anda tidak menentukan waktu akhir, waktu tersebut secara default adalah waktu saat ini. Jika Anda tidak menentukan waktu mulai, waktu tersebut secara default adalah satu jam sebelum waktu akhir.
Sebagai contoh, untuk melakukan kueri log utama di mana content berisi kata kunci health, level adalah info, dan host adalah 172.16.xx.xx, gunakan kueri berikut:
host:172.16.xx.xx AND content:health AND level:info.Penting-
Maksimal 10.000 entri log dapat dikembalikan per kueri.
Jika 10.000 entri yang dikembalikan tidak berisi informasi yang Anda butuhkan, persempit rentang waktu kueri Anda.
-
Satu entri log dapat menampilkan maksimal 10.000 karakter.
-
Detail log
Log utama
Log utama menampilkan log waktu proses kluster, termasuk waktu pembuatan, alamat IP node sumber, dan konten log.
|
Parameter |
Deskripsi |
|
Time |
Waktu saat log dibuat. |
|
Node IP Address |
Alamat IP node yang menghasilkan log. |
|
Content |
Detail log, yang terutama terdiri dari level, host, time, dan content:
|
Log lambat
Log lambat diaktifkan secara default dan menampilkan log untuk operasi pengindeksan (log lambat pengindeksan) dan kueri (log lambat pencarian) yang melebihi ambang batas waktu tertentu. Lakukan kueri terhadap log ini untuk menganalisis masalah seperti beban kluster tidak merata, exception baca/tulis, dan pemrosesan data lambat.
Secara default, log lambat Alibaba Cloud Elasticsearch mencatat operasi baca dan tulis yang memakan waktu 5 hingga 10 detik, ambang batas yang mungkin terlalu tinggi untuk troubleshooting yang efektif. Setelah membuat instans, Anda dapat menggunakan salah satu metode berikut untuk mengurangi ambang batas pencatatan dan menangkap lebih banyak data log:
-
Setelah kluster dibuat, Scenario-specific Configuration Template diaktifkan secara default dan diterapkan secara otomatis ke kluster. Konfigurasi templat indeks di dalamnya mendefinisikan pengaturan log lambat. Konfigurasi log lambat default untuk skenario umum adalah sebagai berikut:
"settings": { "index": { "search": { "slowlog": { "level": "info", "threshold": { "fetch": { "warn": "200ms", "trace": "50ms", "debug": "80ms", "info": "100ms" }, "query": { "warn": "500ms", "trace": "50ms", "debug": "100ms", "info": "200ms" } } } }, "refresh_interval": "10s", "unassigned": { "node_left": { "delayed_timeout": "5m" } }, "indexing": { "slowlog": { "level": "info", "threshold": { "index": { "warn": "200ms", "trace": "20ms", "debug": "50ms", "info": "100ms" } }, "source": "1000" } } } }CatatanJika Scenario adalah None, Anda harus mengaktifkan dan mengirimkan konfigurasi templat untuk menerapkan pengaturan log lambat default ke kluster. Untuk informasi selengkapnya, lihat Modifikasi templat konfigurasi spesifik skenario.
-
Masuk ke Konsol Kibana instans dan jalankan perintah berikut untuk memodifikasi konfigurasi log lambat. Untuk informasi selengkapnya, lihat Masuk ke Konsol Kibana.
PUT _settings{ "index.indexing.slowlog.threshold.index.warn" : "200ms", "index.indexing.slowlog.threshold.index.trace" : "20ms", "index.indexing.slowlog.threshold.index.debug" : "50ms", "index.indexing.slowlog.threshold.index.info" : "100ms", "index.search.slowlog.threshold.fetch.warn" : "200ms", "index.search.slowlog.threshold.fetch.trace" : "50ms", "index.search.slowlog.threshold.fetch.debug" : "80ms", "index.search.slowlog.threshold.fetch.info" : "100ms", "index.search.slowlog.threshold.query.warn" : "500ms", "index.search.slowlog.threshold.query.trace" : "50ms", "index.search.slowlog.threshold.query.debug" : "100ms", "index.search.slowlog.threshold.query.info" : "200ms"}
Setelah Anda melakukan perubahan ini, log untuk tugas baca atau tulis yang melebihi ambang batas yang dikonfigurasi akan muncul di tab Slow Log.
Halaman log lambat menampilkan catatan log dalam tabel dengan tiga kolom: Time, Node IP, dan Content. Kolom Content menampilkan detail log dalam format pasangan kunci-nilai terstruktur. Sebagai contoh, catatan Indexing slow log menampilkan [index.indexing.slowlog.index], nama indeks .monitoring-kibana-6-2021.10.09, durasi took[177.9ms], level info.
Log GC
Log GC diaktifkan secara default dan berisi waktu pembuatan, alamat IP node sumber, dan konten log. Untuk informasi selengkapnya, lihat Log utama.
Tampilan log menampilkan dua catatan log GC, keduanya pada 2021-10-09T11:17:18, Node IP 10.15.xxx, dengan konten berikut:
-
GC(173) Pause Young (Allocation Failure) 478M->194M(1417M) 9.591ms: Jeda Young GC, memori heap dikembalikan dari 478M ke 194M, durasi 9.591ms. -
GC(173) ParNew: 301481K->10599K(335040K): Collector ParNew mengembalikan generasi muda dari 301481K ke 10599K.
Log akses ES
Log akses menampilkan informasi detail tentang permintaan terkait restSearchAction yang diterima oleh kluster Elasticsearch, termasuk node dan alamat IP kluster, ukuran body, konten permintaan, waktu permintaan, alamat IP client, dan URI.
-
Anda hanya dapat melihat Access Log di Konsol untuk instans yang menjalankan versi 6.7.0 (dengan versi mesin minor ≥ 1.0.2) atau versi 7.10 ke atas.
-
Untuk mendapatkan informasi lebih komprehensif tentang permintaan kueri dan penulisan, aktifkan log audit. Untuk informasi selengkapnya, lihat Konfigurasi collector log audit.
Log audit
Anda hanya dapat melihat log audit di Konsol untuk instans yang menjalankan versi 7.x atau lebih baru di wilayah yang tercantum dalam Batasan.
Berdasarkan fitur audit X-Pack Security, log audit mencatat event terkait keamanan dalam kluster Elasticsearch Anda, termasuk keberhasilan dan kegagalan otentikasi pengguna, perubahan izin, otorisasi akses data, serta operasi create, delete, update, dan query. Log audit memungkinkan Anda melacak catatan otentikasi pengguna dan perilaku operasional dalam kluster. Fitur ini dinonaktifkan secara default. Ikuti langkah-langkah berikut untuk mengaktifkan dan melihat log audit:
-
Di halaman Logs, klik Log Configuration di sebelah kanan.
-
Di kotak dialog Log Configuration, aktifkan sakelar Audit Log Collection.
Penting-
Setelah Anda mengaktifkan Audit Log Collection, Anda dapat melakukan kueri log audit untuk kluster di halaman saat ini. Untuk mengubah tipe event yang dikumpulkan, buka konfigurasi kluster dan modifikasi parameter
xpack.security.audit.logfile.events.include. Untuk informasi selengkapnya, lihat Konfigurasi collector log audit. -
Mengaktifkan atau menonaktifkan Audit Log Collection memicu restart kluster. Alibaba Cloud Elasticsearch menggunakan restart bergulir. Kluster tetap tersedia selama restart jika berada dalam status green, setiap indeks memiliki setidaknya satu replica, dan pemanfaatan resource tidak berlebihan. Namun, kami merekomendasikan melakukan operasi ini selama jam sepi.
-
-
Baca prompt lalu klik OK.
Kluster akan restart setelah Anda mengonfirmasi. Anda dapat melihat progresnya di Task List. Setelah kluster restart, pengumpulan log audit diaktifkan.
PentingData log audit mengonsumsi ruang disk dan dapat memengaruhi performa. Jika Anda tidak lagi membutuhkan log audit, Anda dapat menggunakan metode yang sama untuk menonaktifkan fitur Audit Log Collection.
-
Di halaman Logs, klik tab Audit Log untuk melihat log audit.
Log audit ditampilkan dalam tabel dengan tiga kolom: Time, Node IP, dan Content. Area konten menampilkan bidang audit dalam format pasangan kunci-nilai, termasuk:
audit_user_roles: peran penggunaaudit_action: aksi auditaudit_event_action: hasil event (misalnya, access_granted)audit_origin_type: tipe origin (misalnya, transport)audit_user_name: usernameaudit_request_name: nama permintaanaudit_node_id,host,audit_hostnamedan informasi node lainnya
Referensi
FAQ
-
Dapatkah saya mengatur periode retensi untuk log .security di Elasticsearch?
-
Bagaimana cara menyimpan log Elasticsearch ke perangkat lokal?
-
Apa yang harus saya lakukan jika tidak dapat melihat log kueri dan pembaruan instans Elasticsearch?
-
Bagaimana cara mengonfigurasi dan melihat log lambat instans Elasticsearch?
-
Bagaimana cara mengambil log lambat instans Elasticsearch secara berkala melalui pemrograman?