X-Pack Watcher adalah layanan pemantauan dan peringatan yang dikembangkan untuk Elasticsearch. Jika Anda mengonfigurasi X-Pack Watcher untuk kluster Elasticsearch Anda, X-Pack Watcher dapat memicu tindakan ketika kondisi tertentu terpenuhi. Sebagai contoh, jika indeks log berisi kesalahan, X-Pack Watcher memicu sistem untuk mengirimkan notifikasi peringatan melalui email atau pesan WeCom. Topik ini menjelaskan cara mengonfigurasi chatbot WeCom untuk menerima notifikasi peringatan dari X-Pack Watcher.
Prasyarat
Sebuah kluster Elasticsearch Alibaba Cloud telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster Elasticsearch Alibaba Cloud.
CatatanDalam arsitektur jaringan asli, X-Pack Watcher hanya tersedia untuk kluster Elasticsearch zona tunggal.
Dalam arsitektur jaringan baru, Anda perlu mengonfigurasi koneksi pribadi untuk kluster Elasticsearch agar kluster tersebut dapat terhubung ke Internet. Untuk informasi lebih lanjut, lihat Konfigurasikan Koneksi Pribadi untuk Kluster Elasticsearch.
Untuk informasi lebih lanjut tentang arsitektur jaringan, lihat [Pemberitahuan] Penyesuaian Arsitektur Jaringan.
X-Pack Watcher diaktifkan untuk kluster Elasticsearch. Secara default, X-Pack Watcher dinonaktifkan. Untuk informasi lebih lanjut, lihat Konfigurasikan File YML.
Sebuah instance Elastic Compute Service (ECS) dibuat di virtual private cloud (VPC) Anda. Untuk informasi lebih lanjut, lihat Buat Instance pada Tab Peluncuran Kustom.
CatatanX-Pack Watcher tidak dapat langsung mengakses Internet dan harus menggunakan titik akhir internal kluster Elasticsearch Anda untuk mengakses Internet. Dalam hal ini, Anda dapat mengaktifkan source network address translation (SNAT) atau mengaitkan alamat IP elastis (EIP) dengan instance ECS yang ditempatkan di VPC Anda. Dengan cara ini, Anda dapat menggunakan instance ECS sebagai proxy untuk meneruskan permintaan. Untuk informasi lebih lanjut, lihat Kaitkan EIP atau Konfigurasikan SNAT.
Chatbot WeCom dikonfigurasi, dan URL webhook chatbot tersebut diperoleh.
Prosedur
Langkah 1: Konfigurasikan proxy NGINX dan atur aturan grup keamanan untuk instance ECS
Konfigurasikan proxy NGINX pada instance ECS.
Proxy NGINX digunakan untuk meneruskan notifikasi peringatan. X-Pack Watcher mengirimkan notifikasi peringatan ke proxy, yang kemudian meneruskan notifikasi tersebut ke DingTalk atau WeCom.
Instal NGINX pada instance ECS.
Konfigurasikan file nginx.conf.
Ganti konfigurasi
serverdalam file nginx.conf dengan kode berikut:server { listen 8080; server_name _; root /usr/share/nginx/html; # Muat file konfigurasi untuk blok server default. include /etc/nginx/default.d/*.conf; location / { proxy_pass <URL Webhook chatbot WeCom>; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }Ganti <URL Webhook chatbot WeCom> dengan URL webhook chatbot WeCom yang Anda konfigurasikan untuk menerima notifikasi peringatan.
Muat ulang file konfigurasi NGINX dan mulai ulang NGINX.
/usr/local/webserver/nginx/sbin/nginx -s reload # Muat ulang file konfigurasi NGINX. /usr/local/webserver/nginx/sbin/nginx -s reopen # Mulai ulang NGINX.
Konfigurasikan aturan grup keamanan untuk instance ECS.
Aturan grup keamanan digunakan untuk mengizinkan proxy NGINX pada instance ECS menerima notifikasi peringatan dari kluster Elasticsearch.
Masuk ke Konsol ECS.
Di panel navigasi sebelah kiri, pilih Instance & Images > Instances.
Di halaman Instances, temukan instance ECS dan klik namanya.
Di halaman detail instance, klik tab Security Groups.
Pada tab Security Groups, klik nama grup keamanan yang diinginkan.
Di tab Inbound bagian Access Rule, klik Add Rule.
Konfigurasikan parameter.
Parameter
Deskripsi
Action
Pilih Allow.
Priority
Gunakan nilai default.
Protocol Type
Pilih Custom TCP.
Port Range
Atur parameter ini ke port yang sering Anda gunakan. Dalam contoh ini, port 8080 digunakan.
Authorization Object
Masukkan alamat IP semua node dalam kluster Elasticsearch.
CatatanUntuk informasi lebih lanjut tentang cara mendapatkan alamat IP node, lihat Lihat informasi dasar node.
Description
Deskripsi aturan.
Klik Save.
Langkah 2: Konfigurasikan watch untuk peringatan
Masuk ke konsol Kibana kluster Elasticsearch Anda dan buka halaman utama konsol Kibana sesuai petunjuk.
Untuk informasi lebih lanjut tentang cara masuk ke konsol Kibana, lihat Masuk ke Konsol Kibana.
CatatanDalam contoh ini, kluster Elasticsearch V6.7.0 digunakan. Operasi pada kluster versi lain mungkin berbeda. Operasi aktual di konsol yang berlaku.
Di panel navigasi sebelah kiri halaman yang muncul, klik Dev Tools.
Di tab Console halaman yang muncul, jalankan perintah berikut untuk membuat watch.
Dalam contoh ini, sebuah watch bernama developer_count_watch dibuat untuk mencari indeks zl-testgaes untuk bidang developer setiap 10 detik. Jika nilai bidang developer adalah Nintendo dan jumlah kemunculan bidang developer lebih dari 158,974, peringatan dipicu.
PUT _xpack/watcher/watch/developer_count_watch { "trigger": { "schedule": { "interval": "10s" } }, "input": { "search": { "request": { "indices": ["zl-testgaes"], "body": { "query": { "bool": { "must": [ {"match": { "developer" : "Nintendo" } }, { "range": { "year_of_release": { "gte": "2011-09-20T16:00:00.000Z", "lte": "2011-12-31T16:00:00.000Z" } } } ] } } } } } }, "condition": { "compare": { "ctx.payload.hits.total": { "gt": 158974 } } }, "actions" : { "test_issue" : { "webhook" : { "method" : "POST", "url" : "http://<yourAddress>:8080", "body" : "{\"msgtype\": \"text\", \"text\": { \"content\": \"developer is Nintendo, More than 158974\"}}" } } } }Tabel 1. Parameter
Parameter
Network architecture
Deskripsi
url
New network architecture
Nama domain titik akhir. Permintaan diteruskan berdasarkan nama domain. Untuk informasi lebih lanjut tentang cara mendapatkan nama domain titik akhir, lihat Konfigurasikan koneksi pribadi untuk kluster Elasticsearch.
Original network architecture
Atur parameter ini ke salah satu item berikut:
Alamat IP proxy NGINX. Dalam hal ini, permintaan diteruskan melalui Internet menggunakan proxy NGINX yang berada di VPC yang sama dengan kluster Elasticsearch.
URL webhook chatbot WeCom.
CatatanJika kesalahan
No handler found for uri [/_xpack/watcher/watch/log_error_watch_2] and method [PUT]dikembalikan setelah Anda menjalankan perintah di atas, X-Pack Watcher dinonaktifkan untuk kluster Elasticsearch. Dalam hal ini, aktifkan X-Pack Watcher dan jalankan perintah lagi. Untuk informasi lebih lanjut, lihat Konfigurasikan File YML.
Langkah 3: Lihat notifikasi peringatan
Dalam kondisi normal, jika kondisi yang ditentukan di Langkah 2: Konfigurasikan Watch untuk Peringatan terpenuhi, notifikasi peringatan akan dikirim ke grup WeCom Anda, seperti yang ditunjukkan pada gambar berikut.
Jika Anda tidak lagi memerlukan watch ini, Anda dapat menjalankan perintah berikut untuk menghapus watch:
DELETE _xpack/watcher/watch/developer_count_watch