Joe*_*oel 6 kubernetes prometheus asp.net-core prometheus-net asp.net-core-3.1
我正在为我的 ASP.NET Core 3.1 应用程序设置 Prometheus 导出器。
我已经导入了
<PackageReference Include="prometheus-net.AspNetCore" Version="4.1.1" />
这就是我的配置:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
app.UseRouting();
app.UseHttpMetrics();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapMetrics();
});
}
Run Code Online (Sandbox Code Playgroud)
这将在与 ASP.NET Core 应用程序的其余部分相同的端口上公开指标端点,例如:my.api.com:80/metrics.
我需要做什么才能/metrics在另一个端口上公开端点?我希望我的 API 在端口 80 上运行,/metrics端点在端口 9102 上运行。
确实找不到任何相关文档。
编辑
我正在将其部署到 Kubernetes 中
Joe*_*oel 11
我最终这样做了:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
app.UseMetricServer(9102);
app.UseRouting();
app.UseHttpMetrics();
...
}
Run Code Online (Sandbox Code Playgroud)
然后对于我的 Kubernetes,Deployment我必须将端口 80 和 9102 添加到containerPorts 下ports。
另外我必须将ASPNETCORE_URLS环境变量设置为http://+:80;http://+:9102
这样,/metrics仅在端口 9102 上公开。(但是我的 API 的其余部分在端口 80 和 9102 上公开)。
| 归档时间: |
|
| 查看次数: |
4474 次 |
| 最近记录: |