配置真实用户监控 (RUM)
编辑配置真实用户监控 (RUM)编辑
真实用户监控 (RUM) 代理 会捕获用户与客户端(如 Web 浏览器)的交互。这些交互将作为事件发送到 APM Server。由于 RUM 代理在客户端运行,因此代理和服务器之间的连接未经身份验证。因此,作为安全预防措施,RUM 默认情况下处于禁用状态。
要启用 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,请将 启用 RUM 设置为 true
。
直接在 Kibana 中配置和自定义 Fleet 管理的 APM 设置
- 打开 Kibana 并导航到 Fleet。
- 在 代理策略 选项卡下,选择要配置的策略。
- 找到 Elastic APM 集成并选择 操作 > 编辑集成。
- 在 真实用户监控 下查找这些选项。
此外,如果 APM Server 部署在与页面来源不同的来源中,则需要在代理中配置 跨源资源共享 (CORS)。
配置参考编辑
启用 RUM编辑
要启用 RUM 支持,请设置为 true
。默认情况下,此选项处于禁用状态。(布尔值)
APM Server 二进制文件 |
|
Fleet 管理 |
|
允许的来源编辑
RUM 支持的允许来源列表。用户代理会发送一个 Origin 标头,该标头将针对此列表进行验证。这是由现代浏览器作为 CORS 规范 的一部分自动完成的。来源由协议方案、主机和端口组成,不包括 URL 路径。
默认值:['*']
(允许所有内容)。(文本)
APM Server 二进制文件 |
|
Fleet 管理 |
|
Access-Control-Allow-Headers编辑
从 RUM 代理到 APM Server 的 HTTP 请求在允许的 HTTP 标头方面受到限制。如果添加了任何其他标头,则由于跨源资源共享 (CORS) 限制,浏览器将拒绝该请求。使用此设置允许其他标头。允许的标头默认列表包括“Content-Type”、“Content-Encoding”和“Accept”;此处配置的自定义值将附加到默认列表并用作 Access-Control-Allow-Headers
标头的值。
默认值:[]
。(文本)
APM Server 二进制文件 |
|
Fleet 管理 |
|
自定义 HTTP 响应标头编辑
要添加到 RUM 响应的自定义 HTTP 标头。这对于安全策略合规性很有用。
为同一键设置的值将被连接。
默认值:无。(文本)
APM Server 二进制文件 |
|
Fleet 管理 |
|
库框架模式编辑
与堆栈跟踪框架的 file_name
和 abs_path
属性匹配的正则表达式。如果正则表达式匹配,则堆栈跟踪框架被视为库框架。应用源映射时,error.culprit
将设置为反映第一个非库框架的函数和文件名。这旨在提供一个用于识别问题的切入点。
默认值:"node_modules|bower_components|~"
。(文本)
APM Server 二进制文件 |
|
Fleet 管理 |
|
从分组中排除编辑
与堆栈跟踪框架的 file_name
属性匹配的正则表达式。如果正则表达式匹配,则堆栈跟踪框架将从用于计算错误组的框架中排除。
默认值:"^/webpack"
(排除文件名以 /webpack
开头的堆栈跟踪框架)。(文本)
APM Server 二进制文件 |
|
Fleet 管理 |
|
源映射配置选项编辑
source_mapping.enabled
编辑
用于启用/禁用 源映射 以用于 RUM 事件。启用后,APM Server 需要其他权限才能读取源映射。有关更多详细信息,请参阅 APM Server RUM 源映射。
默认值:true
source_mapping.elasticsearch
编辑
配置 Elasticsearch 源映射检索位置,采用与 output.elasticsearch 相同的选项。在使用除 Elasticsearch 之外的输出时,必须设置此选项,并且该输出写入 Elasticsearch。否则,请将此部分留空。
source_mapping.cache.expiration
编辑
如果源映射已上传到 APM Server,则 源映射 会自动应用于发送到 RUM 端点的文档。源映射从 Elasticsearch 中获取,然后在内存中缓存,缓存时间为配置的时间。配置的值如果没有时间单位,则视为秒。
默认值:5m
(5 分钟)
source_mapping.index_pattern
编辑
以前版本的 APM Server 将源映射存储在 apm-%{[observer.version]}-sourcemap
索引中。使用此设置搜索存储在旧版本中的源映射。
默认值:"apm-*-sourcemap*"
已弃用的配置选项编辑
event_rate.limit
编辑
在 7.15.0 中弃用。
由 事件限制 替换。
每个代理 IP 地址每秒允许的最大事件数。
默认值:300
event_rate.lru_size
编辑
在 7.15.0 中弃用。
由 IP 限制 替换。
在 LRU 缓存中跟踪的唯一 IP 地址数量。缓存中的 IP 地址将根据 事件限制 设置进行速率限制。如果您的网站有许多并发客户端,请考虑增加此默认值。
默认值:1000
allow_service_names
编辑
在 7.15.0 中弃用。
由 允许的服务 替换。
RUM 支持的允许服务名称列表。此列表中的名称必须与代理的 service.name
匹配。这可以设置为将 RUM 事件限制为具有已知服务名称集之一的事件,以限制创建的服务特定索引或数据流的数量。
默认值:未设置(接受任何服务名称)
摄取管道编辑
默认 APM Server 管道包含在 Elasticsearch 中索引之前丰富 RUM 数据的处理器。有关如何定位、编辑或禁用此预处理的详细信息,请参阅 使用摄取管道解析数据。