Elasticsearch

Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。 它负责处理索引、搜索和分析。 本文介绍如何使用 Azure Kubernetes 服务 (AKS) 配置 Azure 托管 Prometheus,以通过抓取 Prometheus 指标来监视弹性搜索群集。

先决条件

安装 Elasticsearch 导出程序

使用 Helm 图表安装 Elasticsearch 导出程序

helm install azmon-elasticsearch-exporter --version 5.7.0 prometheus-community/prometheus-elasticsearch-exporter --set es.uri="https://username:password@elasticsearch-service.namespace:9200" --set podMonitor.enabled=true --set podMonitor.apiVersion=azmonitoring.coreos.com/v1

注意

只有 Helm 图表版本 >=5.7.0 的 Helm 图表安装才支持配置托管 Prometheus Pod/服务监视器。

可以使用 values yaml 来配置 prometheus-elasticsearch-exporter Helm 图表。 请指定可访问 Elasticsearch 服务器的正确服务器地址。 根据配置来设置用于在 Elasticsearch 服务器进行身份验证的用户名、密码或证书。 使用参数“es.uri”设置可访问 Elasticsearch 的地址,例如:

还可以使用 --set serviceMonitor.enabled=true helm 图表参数来使用服务监视器,而不是使用 Pod 监视器。 请使用参数 serviceMonitor.apiVersion=azmonitoring.coreos.com/v1 来确保使用 Azure 托管 Prometheus 支持的 API 版本。

如果你要配置任何其他服务或 Pod 监视器,请按照此处的说明操作。

部署规则

  1. 下载模板和参数文件

    记录规则

    警报规则

  2. 编辑参数文件中的以下值。 从资源“概述”页面的“JSON 视图”中检索资源的资源 ID。

    参数
    azureMonitorWorkspace Azure Monitor 工作区的资源 ID。 从 Azure Monitor 工作区“概述”页的的“JSON 视图”检索。
    location Azure Monitor 工作区的位置。 从 Azure Monitor 工作区“概述”页的的“JSON 视图”检索。
    clusterName AKS 群集的名称。 从群集“概述”页的“JSON 视图”中检索。
    actionGroupId 警报操作组的资源 ID。 从操作组“概述”页上的“JSON 视图”中检索。 详细了解操作组
  3. 使用用于安装 ARM 模板的任何标准方法部署模板。 有关指南,请参阅用于 Azure Monitor 的 ARM 模板示例

注意

查看警报阈值,确保它适合群集/工作负载,并相应地更新它。

请注意,上述规则的范围不限定于群集。

如果你要使用任何其他 OSS prometheus 警报/记录规则,请使用此处的转换器来创建 Azure 等效的 prometheus 规则 az-prom-rules-converter

导入 Grafana 仪表板

请按照从 Grafana 实验室导入仪表板的说明操作,使用 ID 或 JSON 导入 grafana 仪表板。

弹性搜索概述(ID-2322)
Elasticsearch 导出程序快速入门和仪表板(ID-14191)

故障排除

成功应用服务监视器后,如果你希望确保加载项拾取服务监视器目标,请按照此处的说明操作。