Tüm Ürünler
Search
Belge Merkezi

Elasticsearch:X-Pack Watcher'dan gelen uyarı bildirimlerini almak için WeCom sohbet botunu yapılandırın

Son Güncelleme:Oct 04, 2026

X-Pack Watcher, Elasticsearch için geliştirilmiş bir izleme ve uyarı hizmetidir. Elasticsearch kümeniz için X-Pack Watcher'ı yapılandırırsanız, belirli koşullar karşılandığında X-Pack Watcher eylemleri tetikleyebilir. Örneğin, günlükler dizininde hatalar varsa X-Pack Watcher, e-posta veya WeCom mesajları kullanarak uyarı bildirimleri göndermek üzere sistemi tetikler. Bu konuda, X-Pack Watcher'dan gelen uyarı bildirimlerini almak için WeCom sohbet botunun nasıl yapılandırılacağı açıklanmaktadır.

Genel Bakış

X-Pack Watcher; tetikleyici, giriş, koşul ve eylemler olmak üzere dört ana bileşenden oluşur. Tetikleyici, bir izlemanın ne sıklıkla çalıştırılacağını tanımlar. Giriş, verileri kümeden alır. Koşul, alınan verilerin belirtilen bir eşiği karşılayıp karşılamadığını belirler. Eylemler, koşul karşılandığında kullanılacak webhook gibi bildirim yöntemini tanımlar.

Ön Koşullar

  • Bir Alibaba Cloud Elasticsearch örneği oluşturdunuz. Daha fazla bilgi için bkz. Alibaba Cloud Elasticsearch örneği oluşturma.

    Not
    • Eski ağ mimarisi için X-Pack Watcher yalnızca tek kullanılabilirlik alanlı Elasticsearch örneklerini destekler. Çoklu kullanılabilirlik alanlı örnekler desteklenmez.

    • Yeni ağ mimarisi için, ağ kısıtlamalarını atlamak amacıyla örnek için bir PrivateLink bağlantısı yapılandırmanız gerekir. Daha fazla bilgi için bkz. Örnek için PrivateLink bağlantısı yapılandırma.

    Ağ mimarileri hakkında daha fazla bilgi için bkz. [[Bildirim] Ağ mimarisi ayarlaması](t2521816.xdita#).

  • Elasticsearch örneğiniz için X-Pack Watcher'ı etkinleştirdiniz. Daha fazla bilgi için bkz. YML parametrelerini yapılandırma.

  • Sanal özel bulutunuzda (VPC) bir ECS örneği oluşturdunuz. Daha fazla bilgi için bkz. Özel ayarlar kullanarak örnek oluşturma.

    Not

    Alibaba Cloud Elasticsearch'teki X-Pack Watcher doğrudan genel internete erişemez. VPC içindeki örneğinizin özel uç noktası üzerinden iletişim kurar. Bu nedenle, VPC'nizdeki ECS örneğinin esnek IP adresi (EIP) atanarak veya kaynak ağ adresi çevirisi (SNAT) yapılandırılarak genel internet erişimine sahip olması gerekir. Daha fazla bilgi için bkz. EIP ilişkilendirme veya SNAT yapılandırma.

  • Bir WeCom sohbet botu yapılandırdınız ve botun Webhook URL'sini aldınız.

Yordam

Adım 1: NGINX proxy sunucusu yapılandırma ve ECS örneği için güvenlik grubu kuralı ekleme

  1. ECS örneğinde bir NGINX proxy sunucusu yapılandırın.

    X-Pack Watcher, uyarıları ECS örneğinizdeki bir NGINX proxy sunucusuna gönderir; bu sunucu ardından 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ırma ile değiştirin.

      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 {
              }
          }

      <Webhook URL of the WeCom chatbot> ifadesini, uyarı bildirimlerini almak için yapılandırdığınız WeCom sohbet 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 seçeneğini belirleyin.

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

    4. Security Group sekmesini tıklayın.

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

    6. Inbound sekmesinde Add Rule öğesini tıklayın.

    7. Parametreleri yapılandırın.

      Parameter

      Description

      Action

      Select Permitted.

      Priority

      Keep the default value.

      Protocol

      Select Custom TCP.

      Access Source

      Enter the IP addresses of all nodes in your Alibaba Cloud Elasticsearch instance.

      Not

      To get the IP addresses of the nodes, see View basic information about nodes.

      Destination

      Enter the port that NGINX is configured to listen on. This topic uses port 8080 as an example.

      Description

      Enter a description for the rule.

    8. OK öğesini tıklayın.

Adım 2: Uyarı vermek için izleme 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 kullanır. Diğer sürümlerde işlemler biraz farklılık gösterebilir.

  2. Sol gezinme menüsünde Management > Dev Tools seçeneğini belirleyin.

  3. Console üzerinde aşağıdaki komutu çalıştırarak bir izleme oluşturun.

    Bu örnekte, developer_count_watch adlı bir izleme oluşturulur. Bu izleme, zl-testgaes dizinindeki developer alanını her 10 saniyede bir arar. Developer alanının değeri Nintendo ise ve developer alanının oluşum sayısı 158.974 değerinden fazlaysa bir uyarı tetiklenir.

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

    Tablo 1. Parametreler

    Parameter

    Network architecture

    Description

    url

    New network architecture

    The domain name of the endpoint. Requests are forwarded based on the domain name. For more information about how to obtain the domain name of an endpoint, see Configure a private connection for an Elasticsearch cluster.

    Original network architecture

    Set this parameter to one of the following items:

    • IP address of the NGINX proxy. In this case, requests are forwarded over the Internet by using the NGINX proxy that resides in the same VPC as the Elasticsearch cluster.

    • The webhook URL of the WeCom chatbot.

    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 3: Uyarı bildirimlerini görüntüleme

Normal koşullarda, Adım 2: Uyarı vermek için izleme yapılandırma bölümünde belirtilen koşullar karşılanırsa uyarı bildirimleri aşağıdaki şekilde gösterildiği gibi WeCom grubunuza gönderilir.企业微信机器人报警配置

Not

Bu izlemeye artık ihtiyacınız yoksa aşağıdaki komutu çalıştırarak izlemeyi silebilirsiniz:

DELETE _xpack/watcher/watch/developer_count_watch