Tous les produits
Search
Centre de documentation

Elasticsearch:Configurer un chatbot WeCom pour recevoir des notifications d'alerte de X-Pack Watcher

Dernière mise à jour :Aug 19, 2026

X-Pack Watcher est un service de surveillance et d'alerte développé pour Elasticsearch. Une fois configuré sur votre cluster Elasticsearch, il peut déclencher des actions lorsque des conditions spécifiques sont remplies. Par exemple, si l'index des journaux contient des erreurs, X-Pack Watcher envoie des notifications d'alerte par e-mail ou via des messages WeCom. Cette rubrique explique comment configurer un chatbot WeCom pour recevoir les notifications d'alerte de X-Pack Watcher.

Vue d'ensemble

X-Pack Watcher se compose de quatre composants principaux : un déclencheur, une entrée, une condition et des actions. Le déclencheur définit la fréquence d'exécution d'une watch (règle de surveillance). L'entrée récupère les données du cluster. La condition détermine si les données récupérées atteignent un seuil spécifié. Les actions définissent la méthode de notification à utiliser lorsque la condition est remplie, telle qu'un webhook.

Prérequis

  • Vous avez créé une instance Alibaba Cloud Elasticsearch. Pour plus d'informations, consultez la rubrique Créer une instance Alibaba Cloud Elasticsearch.

    Remarque
    • Pour l'ancienne architecture réseau, X-Pack Watcher prend uniquement en charge les instances Elasticsearch situées dans une seule zone de disponibilité. Les instances multi-zones ne sont pas prises en charge.

    • Pour la nouvelle architecture réseau, vous devez configurer une connexion PrivateLink pour l'instance afin de contourner les restrictions réseau. Pour plus d'informations, consultez la rubrique Configurer une connexion PrivateLink pour une instance.

    Pour plus d'informations sur les architectures réseau, consultez la rubrique [[Avis] Ajustement de l'architecture réseau](t2521816.xdita#).

  • Vous avez activé X-Pack Watcher pour votre instance Elasticsearch. Pour plus d'informations, consultez la rubrique Configurer les paramètres YML.

  • Vous avez créé une instance ECS dans votre cloud privé virtuel (VPC). Pour plus d'informations, consultez la rubrique Créer une instance à l'aide de paramètres personnalisés.

    Remarque

    X-Pack Watcher dans Alibaba Cloud Elasticsearch ne peut pas accéder directement à Internet public. Il communique via le point de terminaison privé de votre instance au sein d'un VPC. Par conséquent, l'instance ECS de votre VPC doit disposer d'un accès à Internet public, soit en attribuant une adresse IP élastique (EIP), soit en configurant la traduction d'adresse source (SNAT). Pour plus d'informations, consultez les rubriques Associer une EIP ou Configurer SNAT.

  • Un chatbot WeCom est configuré et vous avez obtenu l'URL du webhook du chatbot.

Procédure

Étape 1 : Configurer un proxy NGINX et une règle de groupe de sécurité pour l'instance ECS

  1. Configurez un proxy NGINX sur l'instance ECS.

    X-Pack Watcher envoie les alertes à un proxy NGINX hébergé sur votre instance ECS, qui les transfère ensuite vers DingTalk ou WeCom.

    1. Installez NGINX sur l'instance ECS.

    2. Configurez le fichier nginx.conf.

      Remplacez la section server du fichier nginx.conf par la configuration suivante.

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

      Remplacez <Webhook URL of the WeCom chatbot> par l'URL du webhook du chatbot WeCom que vous avez configuré pour recevoir les notifications d'alerte.

    3. Rechargez le fichier de configuration et redémarrez NGINX.

      /usr/local/webserver/nginx/sbin/nginx -s reload            # Reload the configuration file
      /usr/local/webserver/nginx/sbin/nginx -s reopen            # Restart NGINX
  2. Configurez le groupe de sécurité de l'ECS.

    Autorisez le trafic entrant depuis votre instance Alibaba Cloud Elasticsearch vers le proxy NGINX sur l'instance ECS.

    1. Connectez-vous à la console Alibaba Cloud ECS.

    2. Dans le volet de navigation de gauche, choisissez Instances & Images > Cluster.

    3. Sur la page Cluster, cliquez sur le nom de l'instance cible.

    4. Cliquez sur l'onglet Security Group.

    5. Sous l'onglet Security Groups, cliquez sur le nom du groupe de sécurité cible.

    6. Sous l'onglet Inbound, cliquez sur Add Rule.

    7. Configurez les paramètres.

      Paramètre

      Description

      Action

      Sélectionnez Permitted.

      Priority

      Conservez la valeur par défaut.

      Protocol

      Sélectionnez Custom TCP.

      Access Source

      Saisissez les adresses IP de tous les nœuds de votre instance Alibaba Cloud Elasticsearch.

      Remarque

      Pour obtenir les adresses IP des nœuds, consultez la rubrique Afficher les informations de base des nœuds.

      Destination

      Saisissez le port sur lequel NGINX est configuré pour écouter. Cette rubrique utilise le port 8080 à titre d'exemple.

      Description

      Saisissez une description pour la règle.

    8. Cliquez sur OK.

Étape 2 : Configurer une watch pour l'alerte

  1. Connectez-vous à la console Kibana de votre cluster Elasticsearch.

    Pour les instructions, consultez la rubrique Se connecter à la console Kibana.

    Remarque

    Les exemples présentés ici utilisent Elasticsearch V6.7.0. Les opérations peuvent varier légèrement selon les versions.

  2. Dans le menu de navigation de gauche, choisissez Management > Dev Tools.

  3. Sur la page Console, exécutez la commande suivante pour créer une watch.

    Dans cet exemple, une watch nommée developer_count_watch est créée pour rechercher le champ developer dans l'index zl-testgaes toutes les 10 secondes. Si la valeur du champ developer est Nintendo et que le nombre d'occurrences du champ developer dépasse 158 974, une alerte est déclenchée.

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

    Tableau 1. Paramètres

    Paramètre

    Architecture réseau

    Description

    url

    Nouvelle architecture réseau

    Nom de domaine du point de terminaison. Les requêtes sont transmises en fonction du nom de domaine. Pour plus d'informations sur l'obtention du nom de domaine d'un point de terminaison, consultez la rubrique Configurer une connexion privée pour un cluster Elasticsearch.

    Architecture réseau d'origine

    Définissez ce paramètre sur l'un des éléments suivants :

    • Adresse IP du proxy NGINX. Dans ce cas, les requêtes sont transmises via Internet en utilisant le proxy NGINX qui réside dans le même VPC que le cluster Elasticsearch.

    • URL du webhook du chatbot WeCom.

    Remarque

    Si vous voyez l'erreur No handler found for uri [/_xpack/watcher/watch/log_error_watch_2] and method [PUT] lors de l'exécution de la commande, cela signifie que X-Pack Watcher n'est pas activé pour votre instance Alibaba Cloud Elasticsearch. Vous devez l'activer, puis exécuter à nouveau la commande. Pour plus d'informations, consultez la rubrique Configurer les paramètres YML.

Étape 3 : Afficher les notifications d'alerte

Normalement, si les conditions spécifiées à l'étape Étape 2 : Configurer une watch pour l'alerte sont remplies, les notifications d'alerte sont envoyées à votre groupe WeCom, comme illustré dans la figure suivante.企业微信机器人报警配置

Remarque

Si vous n'avez plus besoin de cette watch, exécutez la commande suivante pour la supprimer :

DELETE _xpack/watcher/watch/developer_count_watch