核心配置选项
编辑核心配置选项
编辑Recording
( [1.7.0] 在 1.7.0 中添加。 )
编辑一个布尔值,指定代理是否应该进行记录。当进行记录时,代理会捕获 HTTP 请求、跟踪错误并收集和发送指标。当不进行记录时,代理会像一个 noop 一样工作,它不会收集数据或与 APM 服务器通信,除了轮询中央配置端点之外。这是一个可逆的开关,因此当停用时不会杀死代理线程,但它们在这种状态下将大部分处于空闲状态,因此开销应该可以忽略不计。
使用此设置可在运行时动态禁用 Elastic APM。
将 Recording
设置为 false
会影响 公共 API 的行为。当代理不活动时,它不会跟踪事务、跨度和任何相关属性。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
布尔值 |
Enabled
( [1.7.0] 在 1.7.0 中添加。 )
编辑将其设置为 false
将完全禁用代理,包括检测和远程配置轮询。 如果要动态更改代理的状态,请改用 recording
。
将 Enabled
设置为 false
会影响 公共 API 的行为。当代理不活动时,它不会跟踪事务、跨度和任何相关属性。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
布尔值 |
ServiceName
编辑这用于将你的服务的所有错误和事务保持在一起,并且是 Elastic APM 用户界面中的主要过滤器。
服务名称必须符合此正则表达式:^[a-zA-Z0-9 _-]+$
。 换句话说,你的服务名称只能包含 ASCII 字母表中的字符、数字、破折号、下划线和空格。 服务名称中不符合正则表达式的字符将被替换为 _
符号。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
入口程序集的名称 |
字符串 |
ServiceNodeName
( [1.3] 在 1.3 中添加。 )
编辑这是一个可选名称,用于区分服务中的节点。如果未设置此值,则数据聚合将基于容器 ID(在有效的情况下)或报告的主机名(自动发现)进行。
此功能需要 APM 服务器版本 >= 7.5
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
字符串 |
ServiceVersion
编辑当前部署的服务版本的版本字符串。如果未对部署进行版本控制,则此字段的建议值是已部署修订版本的提交标识符,例如 git rev-parse HEAD
的输出。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
入口程序集的信息版本 |
字符串 |
HostName
( [1.7] 在 1.7 中添加。 )
编辑这允许手动指定报告的主机名。如果未设置此值,则将查找主机名。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
字符串 |
Environment
( [1.1] 在 1.1 中添加。 )
编辑此服务部署的环境的名称,例如“production”或“staging”。
环境允许你在 APM 应用中轻松地在全局级别筛选数据。在跨代理命名环境时保持一致非常重要。有关详细信息,请参阅 Kibana UI 中的 环境选择器。
Kibana 版本 >= 7.2 中的 APM 应用完全支持此功能。你必须在 7.2 之前的版本中使用查询栏来筛选特定环境。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
请参阅下面的注释 |
字符串 |
在 ASP.NET Core 应用程序上,代理使用 IHostingEnvironment 的 EnvironmentName 作为默认环境名称。
TransactionSampleRate
编辑默认情况下,代理对每个事务(例如对你的服务的请求)进行采样。 要减少开销和存储要求,请将采样率设置为 0.0 到 1.0 之间的值。代理仍将记录未采样事务的总体时间和结果,但不会记录任何上下文信息、标签或跨度。
在解析此选项的值时,代理不考虑当前区域性。 它还期望使用句点 (.
) 来分隔浮点数的整数和小数部分。
此设置可以在代理启动后更改。
环境变量名 | IConfiguration 或 Web.config 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
1.0 |
双精度浮点数 |
TransactionMaxSpans
(性能)( [1.1.1] 在 1.1.1 中添加。 )
编辑这限制了每个事务记录的跨度数量。 当事务创建大量跨度时(例如,数千个 SQL 查询),这很有帮助。 设置上限有助于防止在这些边缘情况下使代理和 APM 服务器过载。
值 0
表示永远不会收集跨度。 设置 -1
表示永远不会丢弃跨度。 如果该值设置低于 -1
,则代理将恢复为默认值。
此设置可以在代理启动后更改。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
整数 |
CentralConfig
( [1.1] 在 1.1 中添加。 )
编辑如果设置为 true
,则代理会定期向 APM 服务器发出请求,以获取最新的 APM 代理配置。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
true |
布尔值 |
SanitizeFieldNames
( [1.2] 在 1.2 中添加。 )
编辑有时,需要清理(即,编辑)发送到 Elastic APM 的敏感数据。此配置接受以逗号分隔的通配符模式列表,这些模式表示应该清理的字段名称。这些模式应用于请求和响应的 HTTP 标头、cookie 和 application/x-www-form-urlencoded
数据。
此设置仅适用于代理自动捕获的值。如果使用公共 API 手动捕获请求正文,则此配置不适用,并且代理不会清理正文。
通配符 *
匹配零个或多个字符,并且默认情况下匹配不区分大小写。使用 (?-i)
开头的元素使匹配区分大小写。示例:/foo/*/bar/*/baz*
、*foo*
。
请仔细检查 Elastic APM 捕获的数据,以确保其中不包含敏感信息。如果在 Elasticsearch 索引中找到敏感数据,请将其他条目添加到此列表中。在此处设置值将 覆盖 默认值,因此请确保也包含默认条目。
敏感信息不应在查询字符串中发送。查询字符串中的数据被认为是非敏感的。有关详细信息,请参阅 owasp.org。
Cookie
标头清理
对于传入的 HTTP 请求事务,Cookie
标头会自动被编辑。代理会解析 Cookie 列表中的每个名称-值对,并根据 SanitizeFieldNames
配置进行清理。可以通过将 Cookie 的名称添加到逗号分隔的列表中来编辑值中包含敏感数据的 Cookie。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
逗号分隔的字符串 |
GlobalLabels
( [1.2] 在 1.2 中添加。 )
编辑标签以 key=value[,key=value[,...]]
格式添加到所有事件中。任何由应用程序通过代理的公共 API 设置的标签将覆盖具有相同键的全局标签。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
<空映射> |
字符串到字符串的映射 |
此选项需要 APM Server 7.2 或更高版本。它对旧版本无效。
SpanCompressionEnabled
( [1.14] 在 1.14 中添加。 )
编辑将此选项设置为 true 将启用 span 压缩功能。Span 压缩减少了收集、处理和存储开销,并消除了 UI 中的混乱。缺点是,不会收集所有压缩 span 的数据库语句等一些信息。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
布尔值 |
SpanCompressionExactMatchMaxDuration
( [1.14] 在 1.14 中添加。 )
编辑连续的、完全匹配且低于此阈值的 span 将被压缩为单个复合 span。此选项不适用于复合 span。这减少了收集、处理和存储开销,并消除了 UI 中的混乱。缺点是,不会收集所有压缩 span 的数据库语句。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
TimeDuration |
SpanCompressionSameKindMaxDuration
( [1.14] 在 1.14 中添加。 )
编辑连续的、到同一目的地且低于此阈值的 span 将被压缩为单个复合 span。此选项不适用于复合 span。这减少了收集、处理和存储开销,并消除了 UI 中的混乱。缺点是,不会收集所有压缩 span 的数据库语句。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
TimeDuration |
ExitSpanMinDuration
( [1.14] 在 1.14 中添加。 )
编辑设置退出 span 的最小持续时间。持续时间小于此阈值的退出 span 将尝试被丢弃。如果退出 span 等于或大于阈值,则应保留。在某些情况下,无法丢弃退出 span。例如,将跟踪上下文传播到下游服务的 span(例如传出的 HTTP 请求)不能被丢弃。但是,不传播上下文的外部调用(例如对数据库的调用)可以使用此阈值丢弃。此外,导致错误的 span 也不能被丢弃。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
TimeDuration |
OpentelemetryBridgeEnabled
( [1.13] 在 1.13 中添加。 )
编辑将此选项设置为 false
将禁用 OpenTelemetry Bridge。这将禁用使用供应商中立的 OpenTelemetry Tracing API(.NET 中的 Activity API)手动检测您的代码,并让 Elastic .NET APM 代理处理这些 API 调用。
环境变量名 | IConfiguration 键 |
---|---|
|
|
默认值 | 类型 |
---|---|
|
布尔值 |