全部产品
Search
文档中心

Elasticsearch:Konfigurasi robot DingTalk untuk menerima peringatan X-Pack Watcher

更新时间:Nov 25, 2025

Anda dapat menggunakan X-Pack Watcher dengan instans Elasticsearch Alibaba Cloud untuk menjalankan aksi ketika kondisi tertentu terpenuhi. Misalnya, ketika log error muncul di indeks log, sistem dapat secara otomatis mengirim pesan DingTalk. Topik ini menjelaskan cara mengonfigurasi robot DingTalk untuk menerima peringatan X-Pack Watcher.

Prasyarat

  • Instans Alibaba Cloud Elasticsearch telah dibuat. Untuk informasi selengkapnya, lihat Buat instans Alibaba Cloud Elasticsearch.

    Catatan
    • Fitur X-Pack Watcher hanya mendukung instans Elasticsearch single-zone yang menggunakan arsitektur jaringan lama. Fitur ini tidak mendukung instans multi-zona.

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

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

  • Fitur X-Pack Watcher telah diaktifkan untuk instans Elasticsearch. Untuk informasi selengkapnya, lihat Konfigurasi parameter YML.

  • Instans ECS telah dibuat di VPC Anda. Untuk informasi selengkapnya, lihat Buat instans menggunakan pengaturan kustom.

    Catatan

    Fitur X-Pack Watcher Alibaba Cloud Elasticsearch tidak dapat langsung mengakses Internet. Fitur ini harus berkomunikasi menggunakan titik akhir pribadi (private endpoint) instans dalam virtual private cloud (VPC). Oleh karena itu, instans ECS di VPC Anda harus dikaitkan dengan alamat IP elastis (EIP) atau dikonfigurasi dengan source network address translation (SNAT) untuk mengakses Internet. Untuk informasi selengkapnya, lihat Kaitkan EIP atau Konfigurasi SNAT.

Prosedur

Langkah 1: Buat dan konfigurasi robot DingTalk

  1. Buat grup DingTalk untuk menerima peringatan.

  2. Di pojok kanan atas grup, klik ikon 设置.png. Pada panel Group Settings, klik Robot.

  3. Pada kotak dialog Robot Management, klik Add Robot, pilih Custom, lalu klik Add.

  4. Masukkan Robot Name, pilih Custom Keywords, lalu tentukan kata kunci tersebut.

    Penting

    Kata kunci tersebut harus disertakan dalam pesan peringatan yang Anda atur.

  5. Pilih Terms Of Service And Disclaimer For Custom Robots lalu klik Done.

  6. Untuk menyalin URL webhook robot, klik Copy di samping Webhook.

    Jaga kerahasiaan URL webhook untuk penggunaan di masa mendatang. Jangan memposting URL tersebut di situs web eksternal. Kebocoran URL webhook menimbulkan risiko keamanan.

Langkah 2: Konfigurasi proxy Nginx dan security group ECS

  1. Konfigurasikan proxy Nginx pada instans ECS.

    Proxy Nginx meneruskan pesan peringatan. Layanan X-Pack Watcher Elasticsearch mengirim pesan peringatan ke Nginx, yang kemudian meneruskan pesan tersebut ke DingTalk atau WeCom.

    1. Instal Nginx pada instans ECS.

    2. Konfigurasikan file nginx.conf.

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

      server
        {
          listen 8080; # Port listener
          server_name localhost; # Nama domain
          index index.html index.htm index.php;
          root /usr/local/webserver/nginx/html; # Folder situs
            location ~ .*\.(php|php5)?$
          {
            #fastcgi_pass unix:/tmp/php-cgi.sock;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
          }
          location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
          {
            expires 30d;
            # access_log off;
          }
          location / {
            proxy_pass <Webhook URL>;
          }
          location ~ .*\.(js|css)?$
          {
            expires 15d;
            # access_log off;
          }
          access_log off;
        }

      Ganti <Webhook URL> dengan URL webhook robot DingTalk yang menerima pesan peringatan.

    3. Muat file konfigurasi yang telah dimodifikasi 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 security group ECS.

    Izinkan proxy Nginx pada instans ECS untuk menerima pesan peringatan dari instans Elasticsearch.

    1. Login ke Konsol ECS Alibaba Cloud.

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

    3. Pada halaman Instances, klik nama instans target.

    4. Klik tab Security Groups.

    5. Pada tab Security Group List, klik nama security group tersebut.

    6. Pada tab Inbound, klik Add Rule.

    7. Masukkan parameter yang diperlukan.

      Parameter

      Deskripsi

      Authorization Policy

      Pilih Allow.

      Priority

      Pertahankan nilai default.

      Protocol

      Pilih Custom TCP.

      Source

      Tambahkan alamat IP semua node di instans Alibaba Cloud Elasticsearch Anda.

      Catatan

      Lihat Lihat informasi dasar tentang node untuk mendapatkan alamat IP semua node di instans Elasticsearch.

      Purpose of Access

      Masukkan port yang umum digunakan. Port ini diperlukan saat Anda mengonfigurasi Nginx. Topik ini menggunakan port 8080 sebagai contoh.

      Description

      Masukkan deskripsi untuk aturan tersebut.

    8. Klik OK.

Langkah 3: Konfigurasi peringatan Watcher

  1. Login ke konsol Kibana kluster Elasticsearch Anda dan buka halaman utama konsol Kibana sesuai petunjuk.

    Untuk informasi selengkapnya tentang cara login ke konsol Kibana, lihat Login ke konsol Kibana.

    Catatan

    Pada contoh ini, digunakan kluster Elasticsearch V6.7.0. Operasi pada kluster versi lain mungkin berbeda. Ikuti operasi aktual di konsol.

  2. Pada panel navigasi sebelah kiri halaman yang muncul, klik Dev Tools.

  3. Pada Console, jalankan perintah berikut untuk membuat dokumen peringatan.

    Contoh berikut menunjukkan cara membuat dokumen log_error_watch. Sistem melakukan kueri terhadap indeks logs untuk mencari log error setiap 10 detik. Jika ditemukan lebih dari 0 log error, peringatan akan dipicu.

    PUT _xpack/watcher/watch/log_error_watch
    {
      "trigger": {
        "schedule": {
          "interval": "10s"
        }
      },
      "input": {
        "search": {
          "request": {
            "indices": ["logs"],
            "body": {
              "query": {
                "match": {
                  "message": "error"
                }
              }
            }
          }
        }
      },
      "condition": {
        "compare": {
          "ctx.payload.hits.total": {
            "gt": 0
          }
        }
      },
      "actions" : {
      "test_issue" : {
        "webhook" : {
          "method" : "POST",
          "url" : "http://<yourAddress>:8080",
          "body" : "{\"msgtype\": \"text\", \"text\": { \"content\": \"An error log has appeared. Please handle it as soon as possible.\"}}"
        }
      }
    }
    }

    Tabel 1. Deskripsi parameter utama

    Parameter

    Jenis jaringan

    Deskripsi konfigurasi

    url

    Arsitektur jaringan baru

    Atur parameter ini ke nama domain titik akhir. Permintaan diteruskan melalui nama domain titik akhir. Untuk mendapatkan nama domain titik akhir, lihat Konfigurasi peering jaringan pribadi untuk Alibaba Cloud Elasticsearch.

    Arsitektur jaringan lama

    Atur parameter ini ke salah satu alamat berikut:

    • Alamat IP proxy Nginx: Permintaan diteruskan melalui internet oleh proxy Nginx dalam VPC yang sama.

    • URL webhook robot DingTalk.

    body

    • Arsitektur jaringan baru

    • Arsitektur jaringan lama

    Konfigurasikan parameter ini berdasarkan pengaturan keamanan robot DingTalk.

    Sebagai contoh, pada Langkah 1: Buat dan konfigurasi robot DingTalk, jika Anda mengatur Security Settings ke Custom Keywords dan menambahkan kata kunci kustom: error, maka body harus berisi bidang content yang menyertakan error agar robot DingTalk dapat mendorong pesan peringatan.

    Catatan

    Jika muncul error No handler found for uri [/_xpack/watcher/watch/log_error_watch_2] and method [PUT] saat menjalankan perintah, hal ini menunjukkan bahwa fitur X-Pack Watcher belum diaktifkan untuk instans Alibaba Cloud Elasticsearch Anda. Aktifkan fitur tersebut lalu jalankan perintah lagi. Untuk informasi selengkapnya, lihat Konfigurasi parameter YML.

Langkah 4: Lihat hasil peringatan

Jika konfigurasi benar, ketika data di kluster memenuhi kondisi peringatan yang dikonfigurasi di Langkah 3: Konfigurasi peringatan Watcher, Anda akan menerima pesan peringatan seperti An error log has appeared. Please handle it as soon as possible. di grup DingTalk Anda.

Catatan

Jika Anda tidak lagi memerlukan tugas berbasis peristiwa tersebut, Anda dapat menjalankan perintah berikut untuk menghapusnya.

DELETE _xpack/watcher/watch/log_error_watch