Как найти узлы, соединяющиеся или уходящие вasticsearch 6.4 - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь выяснить, остались ли узлы или узлы, объединенные в ElasticSearch 6.4

Похоже, что события node_left и node_joined были удалены из индексов marvel в последних версиях. Есть ли другой способ создать часы для оповещения, когда узел присоединяется или покидает кластер? Помимо выполнения запроса на общее количество узлов?

Есть предложения, пожалуйста?

1 Ответ

0 голосов
/ 31 октября 2019

Если вы используете indexing, то ваша записьasticsearch регистрируется в выделенном кластере мониторинга, тогда вы можете создать скрипт наблюдателя в кластере мониторинга, который запрашивает конкретные ключевые слова, такие как added, removed.

[2019-09-12T12:15:56,802][INFO ][o.e.c.s.ClusterService   ] [1.1.1.1] removed {{2.2.2.2}{_bm_BBMQQJCCVx6HbuBa_B}{n83UoTCLSiWOyfst-a_s0w}{2.2.2.2}{2.2.2.2:9300}{zone=sandeep-node, ml.enabled=true, tag=sandy-test},}, reason: zen-disco-receive(from master [master {3.3.3.3}{6V0mpFS4RXyE4K11eb1Iyg}{Q6uvX9ySQ5q00eZfme2cHA}{3.3.3.3}{3.3.3.3:9300}{ml.max_open_jobs=10, ml.enabled=true, tag=sandy-test, zone=sandeep-node} committed version [559]])
[2019-09-12T12:16:13,898][INFO ][o.e.c.s.ClusterSettings  ] [1.1.1.1] updating [cluster.routing.allocation.enable] from [none] to [all]
[2019-09-12T12:16:37,892][INFO ][o.e.c.s.ClusterService   ] [1.1.1.1] added {{2.2.2.2}{_bm_BBMQQJCCVx6HbuBa_B}{RToPW_2dQw2vqpMOYpLlTg}{2.2.2.2}{2.2.2.2:9300}{ml.max_open_jobs=10, ml.enabled=true, tag=sandy-test, zone=sandeep-node},}, reason: zen-disco-receive(from master [master {3.3.3.3}{6V0mpFS4RXyE4K11eb1Iyg}{Q6uvX9ySQ5q00eZfme2cHA}{3.3.3.3}{3.3.3.3:9300}{ml.max_open_jobs=10, ml.enabled=true, tag=sandy-test, zone=sandeep-node} committed version [580]])
* 1006. * Ниже приведен пример сценария наблюдателя, который запрашивает ERROR в индексе *-eslogs-*. Журналы Elasticsearch индексируются в указанном индексе.
{
  "trigger": {
    "schedule": {
      "interval": "5m"
    }
  },
  "input": {
    "search": {
      "request": {
        "search_type": "query_then_fetch",
        "indices": [
          "*-eslogs-*"
        ],
        "types": [],
        "body": {
          "size": 1,
          "query": {
            "bool": {
              "must": [
                {
                  "query_string": {
                    "analyze_wildcard": true,
                    "query": "Level: ERROR"
                  }
                },
                {
                  "range": {
                    "@timestamp": {
                      "gte": "now-5m",
                      "lte": "now",
                      "format": "epoch_millis"
                    }
                  }
                }
              ],
              "must_not": []
            }
          }
        }
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.hits.total": {
        "gte": 1
      }
    }
  },
  "actions": {
    "send_email": {
      "email": {
        "profile": "standard",
        "from": "Watcher Alert <DL-WATCH@BAR.com>",
        "to": [
          "DL-FOO@BAR.com>, DL-ANOTHER-FOO@BAR.com>"
        ],
        "subject": "Watcher Notification",
        "body": {
          "text": "There are {{ctx.payload.hits.total}} ERROR messages on Elasticsearch Cluster in the last 5 minutes.  \r\n One of the log entry below: \r\n {{ctx.payload.hits.hits.0}}"
        }
      }
    }
  }
}

Другой способ - GET _cat/nodes и выполнение подсчета общего количества узлов и оповещение, если значение больше или меньше предварительно определенного порога.

...