我正在学习OpenTelemetry,我想知道dotnet监视器是如何与OpenTelemetry (Meter)连接的。这些东西是以某种方式连接起来的,还是dotnet-monitor只是自定义的MS工具,没有使用来自OpenTelemetry (API、SDK和出口商)的标准。
发布于 2022-01-13 23:12:32
如果您在机器上运行dotnet监视器,它会以Prometheus格式公开dotnet度量,这意味着您可以设置OpenTelemetry收集器来刮取这些指标。
例如,在OpenTelem遥测-收集器-控制配置中
receivers:
prometheus_exec:
exec: dotnet monitor collect
port: 52325请注意,要运行dotnet-监视器,需要在dotnet路径中创建一个setting.json:
$XDG_CONFIG_HOME/dotnet-monitor/settings.json如果未定义$XDG_CONFIG_HOME,请在此路径中创建文件:
$HOME/.config/dotnet-monitor/settings.json如果要通过PID标识进程,请将其写入settings.json (将值更改为PID):
{
"DefaultProcess": {
"Filters": [{
"Key": "ProcessId",
"Value": "1"
}]
}
}如果要按进程名称标识流程,请将其写入settings.json (将值更改为进程名称):
{
"DefaultProcess": {
"Filters": [{
"Key": "ProcessName",
"Value": "iisexpress"
}]
},
}在我的示例中,我使用了以下配置:
{
"DefaultProcess": {
"Filters": [{
"Key": "ProcessId",
"Value": "1"
}]
},
"Metrics": {
"Providers": [
{
"ProviderName": "System.Net.Http"
},
{
"ProviderName": "Microsoft-AspNetCore-Server-Kestrel"
}
]
}
}https://stackoverflow.com/questions/65859501
复制相似问题