1.26.4.6.2. 连接到现有 Elasticsearch 实例
您可以使用现有 Elasticsearch 集群进行分布式追踪存储。现有的 Elasticsearch 集群(也称为 外部 Elasticsearch 实例)是由 Red Hat OpenShift distributed tracing platform Operator 或 Red Hat Elasticsearch Operator 安装的实例。
部署 Jaeger 自定义资源时,如果设置了以下配置,Red Hat OpenShift distributed tracing Platform Operator 不会置备 Elasticsearch:
-
spec.storage.elasticsearch.doNotProvision
设置为true
-
spec.storage.options.es.server-urls
有一个值 -
spec.storage.elasticsearch.name
具有一个值,或者 Elasticsearch 实例名称是elasticsearch
。
Red Hat OpenShift distributed tracing platform Operator 使用 spec.storage.elasticsearch.name
中指定的 Elasticsearch 实例连接到 Elasticsearch。
限制
- 您无法将 OpenShift Container Platform 日志记录 Elasticsearch 实例与分布式追踪平台共享或重复使用。Elasticsearch 集群旨在专用于单个分布式追踪平台实例。
红帽不为外部 Elasticsearch 实例提供支持。您可以在客户门户网站中查看经过测试的集成列表。
以下配置参数适用于已经存在的 Elasticsearch 实例,也称为外部 Elasticsearch 实例。在本例中,您可以在自定义资源文件中的 spec:storage:options:es
下为 Elasticsearch 指定配置选项。
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
es: server-urls: | Elasticsearch 实例的 URL。 | Elasticsearch 服务器的完全限定域名。 | |
es: max-doc-count: |
从 Elasticsearch 查询返回的最大文档数量。这也适用于聚合。如果同时设置了 | 10000 | |
es: max-num-spans: |
[已弃用 - 将在以后的版本中删除,使用 | 10000 | |
es: max-span-age: | Elasticsearch 中 span 的最大查询。 | 72h0m0s | |
es: sniffer: | Elasticsearch 的侦察器配置。客户端使用侦察过程自动查找所有节点。默认禁用此选项。 |
|
|
es: sniffer-tls-enabled: | 在监控 Elasticsearch 集群时启用 TLS 的选项。客户端使用侦察过程自动查找所有节点。默认禁用 |
|
|
es: timeout: | 用于查询的超时。当设为零时,则没有超时。 | 0s | |
es: username: |
Elasticsearch 所需的用户名。如果指定,基本身份验证也会加载 CA。另请参阅 | ||
es: password: |
Elasticsearch 所需的密码。另请参阅 | ||
es: version: | 主要的 Elasticsearch 版本。如果没有指定,则该值将从 Elasticsearch 中自动探测到。 | 0 |
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
es: num-replicas: | Elasticsearch 中每个索引的副本数。 | 1 | |
es: num-shards: | Elasticsearch 中每个索引的分片数量。 | 5 |
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
es: create-index-templates: |
设置为 |
|
|
es: index-prefix: | 分布式追踪平台索引的可选前缀。例如,将其设置为 "production" 会创建名为 "production-tracing-*" 的索引。 |
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
es: bulk: actions: | 在批量处理器决定向磁盘提交更新前可添加到队列的请求数。 | 1000 | |
es: bulk: flush-interval: |
| 200ms | |
es: bulk: size: | 在批量处理器决定提交更新之前,批量请求可以处理的字节数。 | 5000000 | |
es: bulk: workers: | 可以接收并将批量请求提交 Elasticsearch 的 worker 数量。 | 1 |
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
es: tls: ca: | 用于验证远程服务器的 TLS 证书颁发机构(CA)文件的路径。 | 默认将使用系统信任存储。 | |
es: tls: cert: | TLS 证书文件的路径,用来识别此进程到远程服务器。 | ||
es: tls: enabled: | 与远程服务器对话时启用传输层安全(TLS)。默认禁用此选项。 |
|
|
es: tls: key: | TLS 私钥文件的路径,用来识别此进程到远程服务器。 | ||
es: tls: server-name: | 覆盖远程服务器证书中预期的 TLS 服务器名称。 | ||
es: token-file: | 包含 bearer 令牌的文件的路径。如果指定该标志,该标志也会载入认证机构(CA)文件。 |
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
es-archive: bulk: actions: | 在批量处理器决定向磁盘提交更新前可添加到队列的请求数。 | 0 | |
es-archive: bulk: flush-interval: |
| 0s | |
es-archive: bulk: size: | 在批量处理器决定提交更新之前,批量请求可以处理的字节数。 | 0 | |
es-archive: bulk: workers: | 可以接收并将批量请求提交 Elasticsearch 的 worker 数量。 | 0 | |
es-archive: create-index-templates: |
设置为 |
|
|
es-archive: enabled: | 启用额外的存储。 |
|
|
es-archive: index-prefix: | 分布式追踪平台索引的可选前缀。例如,将其设置为 "production" 会创建名为 "production-tracing-*" 的索引。 | ||
es-archive: max-doc-count: | 从 Elasticsearch 查询返回的最大文档数量。这也适用于聚合。 | 0 | |
es-archive: max-num-spans: |
[已弃用 - 将在以后的版本中删除,使用 | 0 | |
es-archive: max-span-age: | Elasticsearch 中 span 的最大查询。 | 0s | |
es-archive: num-replicas: | Elasticsearch 中每个索引的副本数。 | 0 | |
es-archive: num-shards: | Elasticsearch 中每个索引的分片数量。 | 0 | |
es-archive: password: |
Elasticsearch 所需的密码。另请参阅 | ||
es-archive: server-urls: |
以逗号分隔的 Elasticsearch 服务器列表。必须指定为完全限定的 URL,例如 | ||
es-archive: sniffer: | Elasticsearch 的侦察器配置。客户端使用侦察过程自动查找所有节点。默认禁用此选项。 |
|
|
es-archive: sniffer-tls-enabled: | 在监控 Elasticsearch 集群时启用 TLS 的选项。客户端使用侦察过程自动查找所有节点。默认禁用此选项。 |
|
|
es-archive: timeout: | 用于查询的超时。当设为零时,则没有超时。 | 0s | |
es-archive: tls: ca: | 用于验证远程服务器的 TLS 证书颁发机构(CA)文件的路径。 | 默认将使用系统信任存储。 | |
es-archive: tls: cert: | TLS 证书文件的路径,用来识别此进程到远程服务器。 | ||
es-archive: tls: enabled: | 与远程服务器对话时启用传输层安全(TLS)。默认禁用此选项。 |
|
|
es-archive: tls: key: | TLS 私钥文件的路径,用来识别此进程到远程服务器。 | ||
es-archive: tls: server-name: | 覆盖远程服务器证书中预期的 TLS 服务器名称。 | ||
es-archive: token-file: | 包含 bearer 令牌的文件的路径。如果指定该标志,该标志也会载入认证机构(CA)文件。 | ||
es-archive: username: |
Elasticsearch 所需的用户名。如果指定,基本身份验证也会加载 CA。请参阅 | ||
es-archive: version: | 主要的 Elasticsearch 版本。如果没有指定,则该值将从 Elasticsearch 中自动探测到。 | 0 |
使用卷挂载的存储示例
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: simple-prod spec: strategy: production storage: type: elasticsearch options: es: server-urls: https://quickstart-es-http.default.svc:9200 index-prefix: my-prefix tls: ca: /es/certificates/ca.crt secretName: tracing-secret volumeMounts: - name: certificates mountPath: /es/certificates/ readOnly: true volumes: - name: certificates secret: secretName: quickstart-es-http-certs-public
以下示例显示了使用从存储在 secret 中的卷和用户/密码挂载了 TLS CA 证书的外部 Elasticsearch 集群的 Jaeger CR。
外部 Elasticsearch 示例:
apiVersion: jaegertracing.io/v1 kind: Jaeger metadata: name: simple-prod spec: strategy: production storage: type: elasticsearch options: es: server-urls: https://quickstart-es-http.default.svc:9200 1 index-prefix: my-prefix tls: 2 ca: /es/certificates/ca.crt secretName: tracing-secret 3 volumeMounts: 4 - name: certificates mountPath: /es/certificates/ readOnly: true volumes: - name: certificates secret: secretName: quickstart-es-http-certs-public