配置 Elasticsearch 作為事件來源

Elasticsearch 是分散式 RESTful 搜尋及分析引擎,用於將資料儲存為 Elastic Stack 的一部分。 您可以設定與 Elasticsearch 的整合,以將日誌資訊以事件形式傳送至 Netcool® Operations Insight®

開始之前

只有在 IBM Cloud® Private 環境中部署 事件管理 時,才支援 Elasticsearch 事件來源。

確保您已安裝 Elastic Stack 的 X-Pack 延伸,如 https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html中所述。

此整合支援下列事件類型:
  • X-Pack Alerting

關於此作業

使用 X-Pack Alerting(透過 Watcher)特性,您可以配置監看,以將事件資訊傳送至 Event Management。 如需透過 Watcher 之 X-Pack Alerting 的相關資訊,請參閱 https://www.elastic.co/guide/en/x-pack/current/how-watcher-works.html

程序

  1. 按一下 管理 > 與其他系統整合
  2. 按一下 新建整合
  3. 移至 Elasticsearch 磚,然後按一下 配置
  4. 輸入整合的名稱,然後按一下 複製 ,將產生的 Webhook URL 新增至剪貼簿。 請務必儲存產生的 Webhook,以供稍後在配置過程中使用。 例如,您可以將它儲存至檔案。
  5. 按一下儲存
  6. 在 Elasticsearch 中配置 X-Pack Watcher 特性,以將事件轉遞至 事件管理。 例如,若要使用 Kibana 使用者介面配置 Watcher:
    1. 登入 Kibana 使用者介面並存取 Watcher 使用者介面,如 https://www.elastic.co/guide/en/kibana/7.4/watcher-ui.html#watcher-getting-started中所述。

      如果您是使用,則可以配置所包含的 Elasticsearch 引擎,以將事件傳送至 事件管理。 您可以按一下 網路存取權 > 服務 > Kibana,或按一下 平台 > 記載,從中的導覽功能表開啟 Kibana 使用者介面。

      附註: 請確定中已安裝 Kibana ,如 https://www.ibm.com/docs/en/SSBS6K_2.1.0.3/featured_applications/kibana_service.html中所述。
    2. 建立新的進階監看,如 https://www.elastic.co/guide/en/kibana/7.4/watcher-ui.html#watcher-create-advanced-watch中所述。 更新欄位,如下所述:
      以下是環境的範例監看定義,其中每 5 分鐘觸發一次監看,以載入在過去 5 分鐘內寫入且包含下列任何關鍵字的 Logstash 日誌:、或。 Watcher 使用 Webhook URL,將此類日誌的內容貼上至 Event Management
      {
        "trigger": {
          "schedule": {
            "interval": "5m"
          }
        },
        "input": {
          "search": {
            "request": {
              "indices": [
                "logstash-2018*"
              ],
              "body": {
                "query": {
                  "bool": {
                    "must_not": {
                      "match": {
                        "kubernetes.container_name": "custom-metrics-adapter"
                      }
                    },
                    "filter": [
                      {
                        "range": {
                          "@timestamp": {
                            "gte": "now-5m"
                          }
                        }
                      },
                      {
                        "terms": {
                          "log": [
                            "failed",
                            "error",
                            "warning"
                          ]
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "actions": {
          "my_webhook": {
            "webhook": {
              "method": "POST",
              "headers": {
                "Content-Type": "application/json"
              },
              "url": "<CEM WEBHOOK>",
              "body": "{{#toJson}}ctx.payload{{/toJson}}"
            }
          }
        }
      }
      重要事項:請務必已將監看的觸發程式設為符合您日誌監視需求的頻率。 設定頻率時考量系統上的負載。 在前一個範例中,每 5 分鐘觸發一次監看,以載入在過去 5 分鐘內使用及設定寫入的日誌。 在此情況下,如果您設為小於 5 分鐘,則會多次將相同的日誌傳送至 事件管理 ,並在相關聯的突發事件中重複事件資料。
      限制: 監看定義中的區段決定與 Event Management中事件嚴重性層次的對映。 預設值為「失敗」、「錯誤」及「警告」,並對映至「嚴重」、「主要」及「次要」嚴重性層次。 如果您使用任何其他值,則事件嚴重性會對映至 Event Management 中的「不確定」。
      注意: 在環境中,請確保使用下列設定從監看定義中排除:
      "must_not": {
                      "match": {
                        "kubernetes.container_name": "custom-metrics-adapter"
                      }
      日誌的大小可能較大,且 事件管理 處理超載。 此外,使用者無法讀取該日誌格式。
    3. 儲存監看。
  7. 如果您是使用,請確定已啟用 X-Pack Watcher 特性; 例如:
    1. 使用下列指令,將 ELK(Elasticsearch、Logstash、Kibana)堆疊 ConfigMap 載入至檔案:

    2. 編輯檔案以啟用監視器:
    3. 儲存檔案,並使用下列指令取代 ConfigMap:

    4. 重新啟動 Elasticsearch 與 Kibana。
  8. 若要開始以事件形式從 Elasticsearch接收日誌資訊, 請確定 從此來源啟用事件管理 設為 開啟