Setelah mengumpulkan log di Simple Log Service, Anda dapat membuat peringatan berdasarkan kata kunci log.
Informasi latar belakang
Log mencatat proses operasi dan pengecualian sistem, seperti log peringatan, log kesalahan, kesalahan panic dalam Go, kesalahan java.lang.StackOverflowError dalam Java, serta log status sistem untuk kejadian seperti kegagalan pembayaran. Memantau kata kunci log untuk peringatan adalah operasi sistem yang umum. Dengan menetapkan peringatan berdasarkan kata kunci log, Anda dapat mendeteksi masalah dengan cepat. Simple Log Service menyediakan solusi peringatan tanpa pemeliharaan, berkinerja tinggi, dan fleksibel untuk membantu Anda membuat peringatan berdasarkan kata kunci log.
Skenario 1: Memicu peringatan saat kata kunci muncul
Skenario ini menjelaskan cara menetapkan pernyataan pencarian dan aturan peringatan untuk memicu peringatan ketika kata kunci tertentu muncul dalam log.
Pernyataan Pencarian
Tetapkan rentang waktu menjadi 15 Minutes (Relative). Kemudian, jalankan pernyataan berikut untuk mencari log yang mengandung kata kunci `ERROR`. Untuk informasi lebih lanjut, lihat Pengenalan Cepat untuk Kueri dan Analisis Log.
ERRORHasil Kueri
Hasil kueri menunjukkan bahwa kata kunci `ERROR` muncul sekali dalam 15 menit terakhir.

Konfigurasi Aturan Peringatan
Buat aturan peringatan berdasarkan hasil kueri. Untuk informasi lebih lanjut, lihat Buat Aturan Peringatan. Item konfigurasi utama dijelaskan sebagai berikut:
Tetapkan Trigger Condition menjadi Data Exists. Peringatan dipicu ketika kata kunci `ERROR` muncul dalam log.
Dalam bagian Annotations, tetapkan Description menjadi ${logging} dan Content Template menjadi SLS Built-in Content Template. Notifikasi peringatan akan mencakup konten dari bidang logging dari log mentah.

Notifikasi Peringatan
Setelah membuat aturan peringatan, Anda akan menerima notifikasi peringatan di grup DingTalk setiap kali kata kunci `ERROR` muncul dalam log. Anda juga dapat mengklik Details untuk melihat log yang memicu peringatan dan melacak sumbernya.
Skenario 2: Tetapkan peringatan berdasarkan jumlah kemunculan kata kunci
Skenario ini menjelaskan cara menetapkan pernyataan pencarian dan analisis serta aturan peringatan untuk memicu peringatan hanya ketika kata kunci muncul sejumlah kali tertentu dalam rentang waktu.
Pernyataan Pencarian dan Analisis
Tetapkan rentang waktu menjadi 1 Hour (Relative). Kemudian, jalankan pernyataan berikut untuk menghitung jumlah kemunculan kata kunci `ERROR` dalam satu jam. Untuk informasi lebih lanjut, lihat Pengenalan Cepat untuk Kueri dan Analisis Log.
ERROR | SELECT count(*) AS cntHasil Kueri dan Analisis
Hasil kueri dan analisis menunjukkan bahwa kata kunci `ERROR` muncul 11 kali dalam satu jam terakhir.

Konfigurasi Aturan Peringatan
Buat aturan peringatan berdasarkan hasil kueri dan analisis. Untuk informasi lebih lanjut, lihat Buat Aturan Peringatan. Item konfigurasi utama dijelaskan sebagai berikut:
Tetapkan Trigger Condition menjadi Data Matches Expression, Cnt > 5. Peringatan dipicu jika kata kunci `ERROR` muncul lebih dari 5 kali dalam satu jam.
Dalam bagian Annotations, tetapkan Description menjadi The ERROR Keyword Occurred ${cnt} Times In The Last Hour dan Content Template menjadi SLS Built-in Content Template. Notifikasi peringatan akan menampilkan jumlah kemunculan kata kunci `ERROR` dalam satu jam terakhir.

Notifikasi Peringatan
Setelah membuat aturan peringatan, Anda akan menerima notifikasi peringatan di grup DingTalk setiap kali kata kunci `ERROR` muncul lebih dari 5 kali dalam satu jam terakhir. Anda juga dapat mengklik Details untuk melihat log yang memicu peringatan dan melacak sumbernya.
Skenario 3: Tetapkan peringatan dengan membandingkan kemunculan kata kunci dengan hari sebelumnya
Kadang-kadang, sebuah kata kunci mungkin muncul secara siklus, seperti lebih sering muncul pada siang hari dibandingkan malam hari. Dalam kasus ini, menggunakan nilai absolut seperti jumlah kemunculan tidak cocok untuk menentukan apakah sistem abnormal. Anda dapat menggunakan fungsi perbandingan untuk menghitung rasio kemunculan kata kunci antara periode waktu yang sama pada hari yang berbeda dan menetapkan peringatan berdasarkan rasio tersebut.
Pernyataan Pencarian dan Analisis
Tetapkan rentang waktu menjadi 1 Hour (Relative). Kemudian, jalankan pernyataan berikut untuk menghitung rasio kemunculan kata kunci `ERROR` antara satu jam terakhir dan periode yang sama kemarin. Untuk informasi lebih lanjut, lihat Pengenalan Cepat untuk Kueri dan Analisis Log. Untuk informasi lebih lanjut tentang fungsi `compare`, lihat Fungsi Perbandingan.
ERROR | SELECT diff [1] AS today, diff [2] AS yesterday, round((diff [3]-1) * 100, 2) AS ratio FROM ( SELECT compare(cnt, 86400) AS diff FROM ( SELECT COUNT(*) AS cnt FROM log ) )Hasil Kueri dan Analisis
Hasil kueri dan analisis menunjukkan bahwa kata kunci `ERROR` muncul 11 kali dalam satu jam terakhir dan 6 kali pada periode yang sama kemarin. Laju pertumbuhan adalah 83,33%.

Konfigurasi Aturan Peringatan
Buat aturan peringatan berdasarkan hasil kueri dan analisis. Untuk informasi lebih lanjut, lihat Buat Aturan Peringatan. Item konfigurasi utama dijelaskan sebagai berikut:
Tetapkan Trigger Condition menjadi Data Matches Expression, Ratio > 10. Peringatan dipicu jika rasio kemunculan kata kunci `ERROR` antara satu jam terakhir dan periode yang sama kemarin lebih besar dari 10%.
Dalam bagian Annotations, tetapkan Description menjadi Errors In The Last Hour: ${today}. Same Period Yesterday: ${yesterday}. Growth Rate: ${ratio}% dan Content Template menjadi SLS Built-in Content Template. Notifikasi peringatan akan menampilkan jumlah kemunculan kata kunci `ERROR` dalam satu jam terakhir, jumlah dari periode yang sama kemarin, dan laju perubahan.

Notifikasi Peringatan
Setelah membuat aturan peringatan, Anda akan menerima notifikasi peringatan di grup DingTalk setiap kali rasio kemunculan kata kunci `ERROR` antara satu jam terakhir dan periode yang sama kemarin lebih besar dari 10%. Anda juga dapat mengklik Details untuk melihat log yang memicu peringatan dan melacak sumbernya.
Skenario 4: Gunakan algoritma pembelajaran mesin untuk deteksi anomali peringatan
Skenario sebelumnya mencakup peringatan kata kunci dasar. Namun, beberapa skenario khusus memerlukan penggunaan algoritma pembelajaran mesin Simple Log Service. Misalnya, frekuensi suatu kata kunci mungkin stabil sepanjang hari tetapi tiba-tiba melonjak atau turun pada saat tertentu. Jika Anda ingin mendeteksi perubahan ini dengan cepat, Anda dapat menggunakan algoritma pembelajaran mesin Simple Log Service untuk peramalan deret waktu dan deteksi anomali. Untuk informasi lebih lanjut tentang algoritma pembelajaran mesin, lihat Fungsi Pembelajaran Mesin.
Pernyataan Pencarian dan Analisis
Tetapkan rentang waktu menjadi 4 Hours (Relative). Kemudian, jalankan pernyataan berikut untuk menghitung jumlah anomali dalam kemunculan `ERROR` dalam 4 jam terakhir. Untuk informasi lebih lanjut, lihat Pengenalan Cepat untuk Kueri dan Analisis Log. Untuk informasi lebih lanjut tentang fungsi `ts_predicate_simple`, lihat ts_predicate_simple.
ERROR | SELECT ts_predicate_simple(stamp, value, 6) FROM ( select __time__-__time__ % 30 AS stamp, count(1) AS value FROM log GROUP BY stamp ORDER BY stamp )Hasil Kueri dan Analisis
Hasil kueri dan analisis menunjukkan bahwa kolom yang dikembalikan mencakup `src`, `predict`, `upper`, `lower`, dan `anomaly_prob`. Nilai `anomaly_prob` lebih besar dari 0 menunjukkan adanya anomali. Jumlah entri data dengan nilai `anomaly_prob` lebih besar dari 0 merepresentasikan jumlah titik anomali. Oleh karena itu, Anda dapat menetapkan peringatan berdasarkan jumlah ini.

Anda juga dapat menampilkan hasil kueri dan analisis sebagai grafik deret waktu, yang memvisualisasikan penurunan data secara lebih intuitif. Lingkaran merah kecil dalam grafik deret waktu mewakili titik anomali. Grafik menunjukkan bahwa 15 titik anomali terjadi dalam periode waktu saat ini.

Konfigurasi Aturan Peringatan
Buat aturan peringatan berdasarkan hasil kueri dan analisis. Untuk informasi lebih lanjut, lihat Buat Aturan Peringatan. Item konfigurasi utama dijelaskan sebagai berikut:
Tetapkan Trigger Condition menjadi Specific Number Of Data Matches, >, 5, Anomaly_prob > 0. Peringatan dipicu jika jumlah anomali dalam 4 jam terakhir melebihi 5.
Dalam bagian Annotations, tetapkan Description menjadi More Than 5 ERROR Anomalies In The Last 4 Hours dan Content Template menjadi SLS Built-in Content Template. Notifikasi peringatan akan menampilkan jumlah titik anomali yang terjadi dalam 4 jam terakhir.

Notifikasi Peringatan
Setelah membuat aturan peringatan, Anda akan menerima notifikasi peringatan di grup DingTalk setiap kali jumlah anomali dalam 4 jam terakhir melebihi 5. Anda juga dapat mengklik Details untuk melihat log yang memicu peringatan dan melacak sumbernya.