All Products
Search
Document Center

Elasticsearch:Konfigurasikan chatbot WeCom untuk menerima pemberitahuan peringatan dari X-Pack Watcher

Last Updated:Aug 20, 2026

X-Pack Watcher adalah layanan pemantauan dan peringatan yang dikembangkan untuk Elasticsearch. Jika Anda mengonfigurasi X-Pack Watcher untuk kluster Elasticsearch Anda, layanan ini dapat memicu aksi ketika kondisi tertentu terpenuhi. Misalnya, jika indeks log berisi error, X-Pack Watcher akan memicu pengiriman pemberitahuan peringatan melalui email atau pesan WeCom. Topik ini menjelaskan cara mengonfigurasi chatbot WeCom agar menerima pemberitahuan peringatan dari X-Pack Watcher.

Ikhtisar

X-Pack Watcher terdiri dari empat komponen utama: pemicu (trigger), input, kondisi (condition), dan aksi (actions). Pemicu menentukan seberapa sering sebuah watch dijalankan. Input mengambil data dari kluster. Kondisi menentukan apakah data yang diambil memenuhi ambang batas tertentu. Aksi mendefinisikan metode notifikasi—seperti webhook—yang digunakan ketika kondisi terpenuhi.

Prasyarat

  • Anda telah membuat instans Alibaba Cloud Elasticsearch. Untuk informasi selengkapnya, lihat Buat instans Alibaba Cloud Elasticsearch.

    Catatan
    • Untuk arsitektur jaringan lama, X-Pack Watcher hanya mendukung instans Elasticsearch single-availability-zone. Instans multi-availability-zone tidak didukung.

    • Untuk arsitektur jaringan baru, Anda harus mengonfigurasi koneksi PrivateLink untuk instans guna melewati pembatasan jaringan. Untuk informasi selengkapnya, lihat Konfigurasikan koneksi PrivateLink untuk instans.

    Untuk informasi lebih lanjut tentang arsitektur jaringan, lihat [Pemberitahuan] Penyesuaian arsitektur jaringan.

  • Anda telah mengaktifkan X-Pack Watcher untuk instans Elasticsearch Anda. Untuk informasi selengkapnya, lihat Konfigurasikan parameter YML.

  • Anda telah membuat instans ECS di virtual private cloud (VPC) Anda. Untuk informasi selengkapnya, lihat Buat instans menggunakan pengaturan kustom.

    Catatan

    X-Pack Watcher di Alibaba Cloud Elasticsearch tidak dapat mengakses internet publik secara langsung. Fitur ini berkomunikasi melalui titik akhir pribadi instans Anda di dalam VPC. Oleh karena itu, instans ECS di VPC Anda harus memiliki akses internet publik, baik dengan menetapkan alamat IP elastis (EIP) atau dengan mengonfigurasi terjemahan alamat jaringan sumber (SNAT). Untuk informasi selengkapnya, lihat Associate an EIP atau Configure SNAT.

  • Chatbot WeCom telah dikonfigurasi, dan URL webhook chatbot tersebut telah diperoleh.

Prosedur

Langkah 1: Konfigurasikan proxy NGINX dan aturan grup keamanan untuk instans ECS

  1. Konfigurasikan proxy NGINX pada instans ECS.

    X-Pack Watcher mengirim peringatan ke proxy NGINX pada instans ECS Anda, yang kemudian meneruskannya ke DingTalk atau WeCom.

    1. Instal NGINX pada instans ECS.

    2. Konfigurasikan file nginx.conf.

      Ganti bagian server dalam file nginx.conf dengan konfigurasi berikut.

      server {
              listen 8080;
              server_name _;
              root /usr/share/nginx/html;
              # Load configuration files for the default server block.
              include /etc/nginx/default.d/*.conf;
      
                location / {
                  proxy_pass <Webhook URL of your WeCom chatbot>;
                }
              error_page 404 /404.html;
                  location = /40x.html {
              }
              error_page 500 502 503 504 /50x.html;
                  location = /50x.html {
              }
          }

      Ganti <Webhook URL of the WeCom chatbot> dengan URL webhook chatbot WeCom yang telah Anda konfigurasi untuk menerima pemberitahuan peringatan.

    3. Muat ulang file konfigurasi dan restart NGINX.

      /usr/local/webserver/nginx/sbin/nginx -s reload            # Muat ulang file konfigurasi
      /usr/local/webserver/nginx/sbin/nginx -s reopen            # Restart NGINX
  2. Konfigurasikan grup keamanan ECS.

    Izinkan lalu lintas masuk (inbound traffic) dari instans Alibaba Cloud Elasticsearch Anda ke proxy NGINX pada instans ECS.

    1. Login ke Konsol ECS Alibaba Cloud.

    2. Pada bilah navigasi sebelah kiri, pilih Instances & Images > Cluster.

    3. Pada halaman Cluster, klik nama instans target.

    4. Klik tab Security Group.

    5. Pada tab Security Groups, klik nama grup keamanan target.

    6. Pada tab Inbound, klik Add Rule.

    7. Konfigurasikan parameter.

      Parameter

      Deskripsi

      Action

      Pilih Permitted.

      Priority

      Pertahankan nilai default.

      Protocol

      Pilih Custom TCP.

      Access Source

      Masukkan alamat IP semua node pada instans Alibaba Cloud Elasticsearch Anda.

      Catatan

      Untuk mendapatkan alamat IP node, lihat Lihat informasi dasar tentang node.

      Destination

      Masukkan port tempat NGINX dikonfigurasi untuk mendengarkan. Topik ini menggunakan port 8080 sebagai contoh.

      Description

      Masukkan deskripsi untuk aturan tersebut.

    8. Klik OK.

Langkah 2: Konfigurasikan watch untuk peringatan

  1. Login ke konsol Kibana kluster Elasticsearch Anda.

    Untuk petunjuknya, lihat Login ke konsol Kibana.

    Catatan

    Contoh di sini menggunakan Elasticsearch V6.7.0. Langkah-langkahnya mungkin sedikit berbeda untuk versi lain.

  2. Pada bilah navigasi kiri, pilih Management > Dev Tools.

  3. Pada Console, jalankan perintah berikut untuk membuat watch.

    Dalam contoh ini, watch bernama developer_count_watch dibuat untuk mencari indeks zl-testgaes berdasarkan bidang developer setiap 10 detik. Jika nilai bidang developer adalah Nintendo dan jumlah kemunculan bidang tersebut lebih dari 158,974, peringatan akan 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

    Arsitektur jaringan

    Deskripsi

    url

    Arsitektur jaringan baru

    Nama domain titik akhir (endpoint). Permintaan diteruskan berdasarkan nama domain tersebut. Untuk informasi selengkapnya tentang cara mendapatkan nama domain titik akhir, lihat Konfigurasikan koneksi privat untuk kluster Elasticsearch.

    Arsitektur jaringan asli

    Tetapkan parameter ini ke salah satu item berikut:

    • Alamat IP proxy NGINX. Dalam kasus ini, permintaan diteruskan melalui Internet menggunakan proxy NGINX yang berada di VPC yang sama dengan kluster Elasticsearch.

    • URL webhook chatbot WeCom.

    Catatan

    Jika Anda melihat error No handler found for uri [/_xpack/watcher/watch/log_error_watch_2] and method [PUT] saat menjalankan perintah, berarti X-Pack Watcher belum diaktifkan untuk instans Alibaba Cloud Elasticsearch Anda. Anda harus mengaktifkannya terlebih dahulu, lalu menjalankan perintah tersebut lagi. Untuk informasi selengkapnya, lihat Konfigurasikan parameter YML.

Langkah 3: Lihat pemberitahuan peringatan

Dalam kondisi normal, jika kondisi yang ditentukan dalam Langkah 2: Konfigurasikan watch untuk peringatan terpenuhi, pemberitahuan peringatan akan dikirim ke grup WeCom Anda, seperti yang ditunjukkan pada gambar berikut.企业微信机器人报警配置

Catatan

Jika Anda tidak lagi memerlukan watch ini, Anda dapat menjalankan perintah berikut untuk menghapus watch tersebut:

DELETE _xpack/watcher/watch/developer_count_watch