.net core 在.net核心应用程序中使用Prometheus
我正在使用.net核心应用程序中的普罗米修斯进行POC。我在普罗米修斯的网站上没有找到足够的信息来开始,我有一个问题,如果有人能回答这个问题,那会很有帮助 a我是否需要编写自己的.net核心客户端才能使用 应用程序中的普罗米修斯 b使用普罗米修斯进行公制记录的最佳方法是什么 我应该在每个客户机中使用,还是添加prometheus日志逻辑 服务方法,以便为每个请求和 准备中的响应 c.在.net核心应用程序中在何处配置prometheus服务器.net core 在.net核心应用程序中使用Prometheus,.net-core,asp.net-core-webapi,prometheus,.net Core,Asp.net Core Webapi,Prometheus,我正在使用.net核心应用程序中的普罗米修斯进行POC。我在普罗米修斯的网站上没有找到足够的信息来开始,我有一个问题,如果有人能回答这个问题,那会很有帮助 a我是否需要编写自己的.net核心客户端才能使用 应用程序中的普罗米修斯 b使用普罗米修斯进行公制记录的最佳方法是什么 我应该在每个客户机中使用,还是添加prometheus日志逻辑 服务方法,以便为每个请求和 准备中的响应 c.在.net核心应用程序中在何处配置prometheus服务器 prometheus.io的.net客户端现在支持.
prometheus.io的.net客户端现在支持.net Core 2.0:
这里建议客户:我们使用自己的开源库,因为在我们开始使用Prometheus时,没有其他现有的解决方案能够正常工作 这个库可以添加很多现成的指标。我建议您尽可能地衡量一切,因为您永远不可能知道生产中的瓶颈是什么。至少要衡量所有可能成为关键绩效指标的因素,比如访客数量或进行长时间操作所需的时间 可以在ASP.NET核心启动中配置库。我建议通过包含相关度量的接口注入度量。 如果您有一个非ASP.NET应用程序,那么您只需在主类中设置它 使用prometheus监控.Net核心web API 安装以下软件包 在Program.cs类中添加以下代码以支持prometheus 在进行上述所有更改后,确保以下端点正常工作 在prometheus.yml中添加新作业 重新启动普罗米修斯,然后查看目标页面
<PackageReference Include="App.Metrics.AspNetCore" Version="3.2.0" />
<PackageReference Include="App.Metrics.AspNetCore.Endpoints" Version="3.2.0" />
<PackageReference Include="App.Metrics.AspNetCore.Tracking" Version="3.2.0" />
<PackageReference Include="App.Metrics.Formatters.Prometheus" Version="3.2.0" />
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseMetricsWebTracking()
.UseMetrics(option =>
{
option.EndpointOptions = endpointOptions =>
{
endpointOptions.MetricsTextEndpointOutputFormatter = new MetricsPrometheusTextOutputFormatter();
endpointOptions.MetricsEndpointOutputFormatter = new MetricsPrometheusProtobufOutputFormatter();
endpointOptions.EnvironmentInfoEndpointEnabled = false;
};
})
.UseStartup<Startup>();
http://<ip:port>/metrics
http://<ip:port>/metrics-text
- job_name: 'SampleWebAPi'
metrics_path: /metrics-text
static_configs:
- targets: ['<ip:port>']