Tüm Ürünler
Search
Belge Merkezi

Elasticsearch:X-Pack Watcher uyarıları için DingTalk botu yapılandırın

Son Güncelleme:Oct 04, 2026

X-Pack Watcher, belirli koşullar karşılandığında Alibaba Cloud Elasticsearch örneğinizde eylemleri tetiklemenizi sağlar. Örneğin, logs dizininizde bir hata günlüğü göründüğünde otomatik olarak DingTalk mesajı gönderen bir watch (izleyici) yapılandırabilirsiniz.

Özelliklere genel bakış

X-Pack Watcher dört ana bileşenden oluşur: Watch işleminin ne sıklıkla çalışacağını tanımlayan tetikleyici, kümeden veri alan giriş, verilerin uyarı eşiğini karşılayıp karşılamadığını değerlendiren koşul ve koşul karşılandığında Webhook bildirimi gönderme gibi eylemleri gerçekleştiren aksiyonlar.

Ön koşullar

Yordam

Adım 1: DingTalk botu oluşturma ve yapılandırma

  1. Uyarıları almak için bir DingTalk grubu oluşturun.

  2. Grubun sağ üst köşesindeki 设置.png simgesine tıklayın. Group Settings panelinde Bot seçeneğine tıklayın.

  3. Robot Management iletişim kutusunda Add Robot seçeneğine tıklayın, Custom öğesini seçin ve ardından Add düğmesine tıklayın.

  4. Bir Robot Name girin, Custom Keywords seçeneğini belirleyin ve ardından anahtar kelimelerinizi girin.

    Önemli

    Anahtar kelimeler, yapılandırdığınız uyarı mesajında yer almalıdır.

  5. I have read and agree to the "Custom Robot Service and Disclaimer Terms" seçeneğini işaretleyin ve Complete düğmesine tıklayın.

  6. Webhook yanında Copy düğmesine tıklayarak botun Webhook URL'sini kopyalayın.

    Webhook URL'sini güvende tutun. Bu URL'yi harici web sitelerinde paylaşmak güvenlik riski oluşturur.

Adım 2: NGINX proxy ve ECS güvenlik grubunu yapılandırma

  1. ECS örneğinizde NGINX proxy sunucusunu yapılandırın.

    X-Pack Watcher, uyarıları ECS örneğinizdeki NGINX proxy sunucusuna gönderir; bu sunucu uyarıları DingTalk veya WeCom'a iletir.

    1. ECS örneğine NGINX yükleyin.

    2. nginx.conf dosyasını yapılandırın.

      nginx.conf dosyasındaki server bölümünü aşağıdaki yapılandırmayla değiştirin.

      server
        {
          listen 8080;# Listener port
          server_name localhost;# Domain name
          index index.html index.htm index.php;
          root /usr/local/webserver/nginx/html;# Site directory
            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;
        }

      <Webhook URL> ifadesini 1. Adımda kopyaladığınız DingTalk botunun Webhook URL'si ile değiştirin.

    3. Yapılandırma dosyasını yeniden yükleyin ve NGINX'i yeniden başlatın.

      /usr/local/webserver/nginx/sbin/nginx -s reload            # Reload the configuration file
      /usr/local/webserver/nginx/sbin/nginx -s reopen            # Restart NGINX
  2. ECS güvenlik grubunu yapılandırın.

    Alibaba Cloud Elasticsearch örneğinizden ECS örneğindeki NGINX proxy sunucusuna gelen trafiğe izin verin.

    1. Alibaba Cloud ECS konsolu üzerinde oturum açın.

    2. Sol gezinme bölmesinde Instances & Images > Cluster yolunu izleyin.

    3. Cluster sayfasında hedef örneğin adına tıklayın.

    4. Security Group sekmesine tıklayın.

    5. Security Groups sekmesinde hedef güvenlik grubunun adına tıklayın.

    6. Inbound sekmesinde Add Rule seçeneğine tıklayın.

    7. Parametreleri yapılandırın.

      Parametre

      Açıklama

      Action

      Permitted seçeneğini belirleyin.

      Priority

      Varsayılan değeri koruyun.

      Protocol

      Custom TCP seçeneğini belirleyin.

      Access Source

      Alibaba Cloud Elasticsearch örneğinizdeki tüm düğümlerin IP adreslerini girin.

      Not

      Düğüm IP adreslerini almak için bkz. Temel düğüm bilgilerini görüntüleme.

      Destination

      NGINX'in dinlemek üzere yapılandırıldığı bağlantı noktasını girin. Bu konuda örnek olarak 8080 bağlantı noktası kullanılmıştır.

      Description

      Kural için bir açıklama girin.

    8. OK seçeneğine tıklayın.

Adım 3: Watcher uyarısını yapılandırma

  1. Elasticsearch kümenizin Kibana konsolunda oturum açın.

    Talimatlar için bkz. Kibana konsolunda oturum açma.

    Not

    Buradaki örnekler Elasticsearch V6.7.0 sürümünü kullanmaktadır. İşlemler diğer sürümlerde biraz farklılık gösterebilir.

  2. Sol gezinme menüsünde Management > Dev Tools yolunu izleyin.

  3. Console alanında bir watch oluşturmak için aşağıdaki komutu çalıştırın.

    Aşağıdaki örnek log_error_watch adlı bir watch oluşturur. Her 10 saniyede bir logs dizinini sorgular ve error içeren günlükleri arar. Eşleşen günlük sayısı 0 değerinden büyükse bir uyarı tetiklenir.

    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.\"}}"
        }
      }
    }
    }

    Tablo 1. Temel parametreler

    Parametre

    Ağ türü

    Yapılandırma

    url

    Yeni ağ mimarisi

    Bu parametreyi uç nokta alan adına ayarlayın. Uç nokta alan adını almak için bkz. Alibaba Cloud Elasticsearch örneği için PrivateLink bağlantısı yapılandırma.

    Eski ağ mimarisi

    Bu parametreyi aşağıdaki adreslerden birine ayarlayın:

    • NGINX proxy sunucusunun IP adresi: İstekler aynı VPC'deki NGINX proxy sunucusu üzerinden genel internete iletilir.

    • DingTalk botunun Webhook URL'si.

    body

    • Yeni ağ mimarisi

    • Eski ağ mimarisi

    Bu parametreyi DingTalk botunun güvenlik ayarlarına göre yapılandırın.

    Örneğin, 1. Adım: DingTalk botu oluşturma ve yapılandırma bölümünde Security Settings değerini Custom Keywords olarak ayarlarsanız ve error özel anahtar kelimesini eklerseniz DingTalk botu yalnızca body içindeki content alanı error içerdiğinde uyarı mesajlarını iletir.

    Not

    Komutu çalıştırdığınızda No handler found for uri [/_xpack/watcher/watch/log_error_watch_2] and method [PUT] hatasını görürseniz Alibaba Cloud Elasticsearch örneğiniz için X-Pack Watcher etkinleştirilmemiş demektir. Özelliği etkinleştirip komutu tekrar çalıştırmanız gerekir. Daha fazla bilgi için bkz. YML parametrelerini yapılandırma.

Adım 4: Uyarıyı doğrulama

Yapılandırma tamamlandıktan sonra, 3. Adım kısmındaki uyarı koşulu karşılandığında DingTalk grubunuz An error log has appeared. Please handle it as soon as possible. benzeri bir mesaj alır.

Not

Watch işlemine artık ihtiyacınız yoksa aşağıdaki komutu çalıştırarak bunu silebilirsiniz.

DELETE _xpack/watcher/watch/log_error_watch