配置真实用户监控 (RUM)
Elastic Stack
本节中的大多数选项都受所有 APM Server 部署方法的支持。
真实用户监控 (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
此外,如果 APM Server 部署在与页面来源不同的来源中,则需要在 Agent 中配置跨域资源共享 (CORS)。
要启用 RUM 支持,请设置为 true
。默认情况下,此设置处于禁用状态。(bool)
APM Server 二进制文件 | apm-server.rum.enabled |
Fleet 管理 | 启用 RUM |
RUM 支持的允许来源列表。 用户代理发送 Origin 标头,该标头将根据此列表进行验证。 这是现代浏览器作为CORS 规范的一部分自动完成的。 来源由协议方案、主机和端口组成,不包含 URL 路径。
默认值:['*']
(允许所有内容)。 (text)
APM Server 二进制文件 | apm-server.rum.allow_origins |
Fleet 管理 | 允许的来源 |
从 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 管理 | 自定义 HTTP 响应标头 |
要与堆栈跟踪框架的 file_name
和 abs_path
属性匹配的 RegExp。 如果 RegExp 匹配,则堆栈跟踪框架被认为是库框架。 当应用源映射时,error.culprit
设置为反映第一个非库框架的函数和文件名。 这旨在为识别问题提供一个入口点。
默认值:"node_modules|bower_components|~"
。 (text)
APM Server 二进制文件 | apm-server.rum.library_pattern |
Fleet 管理 | 库框架模式 |
要与堆栈跟踪框架的 file_name
匹配的 RegExp。 如果 RegExp 匹配,则从用于计算错误组的堆栈跟踪框架中排除该框架。
默认值:"^/webpack"
(排除文件名以 /webpack
开头的堆栈跟踪框架)。 (text)
APM Server 二进制文件 | apm-server.rum.exclude_from_grouping |
Fleet 管理 | 从分组中排除 |
所有 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 管道包含在 Elasticsearch 中建立索引之前丰富 RUM 数据的处理器。 有关如何查找、编辑或禁用此预处理的详细信息,请参阅使用数据采集管道解析数据。