加载中

配置真实用户监控 (RUM)

注意

supported deployment methods

本节中的大多数选项都受所有 APM Server 部署方法支持。

真实用户监控 (RUM) 代理捕获用户与客户端(如网页浏览器)的交互。这些交互作为事件发送到 APM Server。由于 RUM 代理在客户端运行,代理与服务器之间的连接未经身份验证。因此,出于安全防范考虑,RUM 默认处于禁用状态。

重要提示

要使用 RUM,你需要一个集中的 APM Server,它可以作为独立二进制文件运行,也可以通过 Fleet 进行管理。

要启用 RUM 支持,请在 APM Server 配置文件中将 apm-server.rum.enabled 设置为 true

示例配置

apm-server.rum.enabled: true
apm-server.auth.anonymous.rate_limit.event_limit: 300
apm-server.auth.anonymous.rate_limit.ip_limit: 1000
apm-server.auth.anonymous.allow_service: [your_service_name]
apm-server.rum.allow_origins: ['*']
apm-server.rum.allow_headers: ["header1", "header2"]
apm-server.rum.library_pattern: "node_modules|bower_components|~"
apm-server.rum.exclude_from_grouping: "^/webpack"
apm-server.rum.source_mapping.enabled: true
apm-server.rum.source_mapping.cache.expiration: 5m
apm-server.rum.source_mapping.elasticsearch.api_key: TiNAGG4BaaMdaH1tRfuU:KnR6yE41RrSowb0kQ0HWoA
		

要启用 RUM,请将 Enable RUM 设置为 true

直接在 Kibana 中配置和自定义 Fleet 管理的 APM 设置

  1. 在 Kibana 中,在主菜单中找到 Fleet 或使用全局搜索字段
  2. Agent policies 选项卡下,选择你要配置的策略。
  3. 找到 Elastic APM 集成并选择 Actions > Edit integration
  4. 请在 Real User Monitoring 下查找这些选项。

此外,如果 APM Server 的部署源(origin)与页面的源不同,则需要在代理中配置跨域资源共享 (CORS)

要启用 RUM 支持,请设置为 true。默认情况下此功能处于禁用状态。(bool)

APM Server 二进制文件 apm-server.rum.enabled
Fleet 管理 Enable RUM
注意

如果配置了 API 密钥密文令牌,则启用 RUM 支持将自动启用匿名身份验证。由于 RUM 代理在浏览器中运行,因此必须进行匿名身份验证。

RUM 支持允许的源列表。用户代理会发送一个 Origin 标头,该标头将对照此列表进行验证。现代浏览器会自动执行此操作,作为 CORS 规范的一部分。源由协议方案、主机和端口组成,不包含 URL 路径。

默认值:['*'](允许所有)。(text)

APM Server 二进制文件 apm-server.rum.allow_origins
Fleet 管理 Allowed Origins

从 RUM 代理发往 APM Server 的 HTTP 请求在其允许包含的 HTTP 标头方面受到限制。如果添加了任何其他标头,由于跨域资源共享 (CORS) 限制,该请求将被浏览器拒绝。使用此设置可允许附加标头。默认允许的标头列表包括 "Content-Type"、"Content-Encoding" 和 "Accept";在此处配置的自定义值将附加到默认列表后,并用作 Access-Control-Allow-Headers 标头的值。

默认值:[]。(text)

APM Server 二进制文件 apm-server.rum.allow_headers
Fleet 管理 Access-Control-Allow-Headers

要添加到 RUM 响应中的自定义 HTTP 标头。这对于符合安全政策非常有用。

为同一个键设置的值将被串联。

默认值:无。(text)

APM Server 二进制文件 apm-server.rum.response_headers
Fleet 管理 Custom HTTP response headers

要与堆栈跟踪帧的 file_nameabs_path 属性进行匹配的正则表达式。如果正则表达式匹配,则该堆栈跟踪帧将被视为库帧。应用源码映射时,error.culprit 会被设置为反映第一个非库帧的函数文件名。这旨在为识别问题提供一个入口点。

默认值:"node_modules|bower_components|~"。(text)

APM Server 二进制文件 apm-server.rum.library_pattern
Fleet 管理 Library Frame Pattern

要与堆栈跟踪帧的 file_name 进行匹配的正则表达式。如果正则表达式匹配,则该堆栈跟踪帧将被排除在用于计算错误组之外。

默认值:"^/webpack"(排除文件名以 /webpack 开头的堆栈跟踪帧)。(text)

APM Server 二进制文件 apm-server.rum.exclude_from_grouping
Fleet 管理 Exclude from grouping
提示

supported deployment methods

所有 APM Server 部署方法都支持源码映射,但是,本节中的选项仅受 APM Server 二进制文件支持。

用于启用/禁用 RUM 事件的源码映射。启用后,APM Server 需要额外的权限来读取源码映射。有关更多详细信息,请参阅使用功能角色

默认值:true

配置 Elasticsearch 源码映射检索位置,采用与 output.elasticsearch 相同的选项。当使用 Elasticsearch 以外的输出且该输出正在写入 Elasticsearch 时,必须设置此项。否则,请将此部分留空。

如果源码映射已上传到 APM Server,则源码映射会自动应用于发送到 RUM 端点的文档。源码映射从 Elasticsearch 中获取,然后在内存缓存中保留配置的时间。未配置时间单位的值将被视为秒。

默认值:5m(5 分钟)

早期版本的 APM Server 将源码映射存储在 apm-%{[observer.version]}-sourcemap 索引中。使用此设置可以搜索存储在旧版本中的源码映射。

默认值:"apm-*-sourcemap*"

默认的 APM Server 管道包括在将 RUM 数据索引到 Elasticsearch 之前对其进行丰富(enrich)的处理程序。有关如何定位、编辑或禁用此预处理的详细信息,请参阅使用提取管道解析数据

© . This website operates independently and is not affiliated with or endorsed by Elasticsearch B.V. All brand names, logos, and trademarks are the property of their respective owners.