[인프라] prometheus-net C# 콘솔
- 인프라/그라파나 & 프로메테우스
- 2022. 7. 23. 08:54
참고
- https://www.nuget.org/packages/prometheus-net.AspNetCore#dependencies-body-tab
- https://github.com/prometheus-net/prometheus-net#quick-start
- https://dale-bingham-soteriasoftware.medium.com/net-core-web-api-metrics-with-prometheus-and-grafana-fe84a52d9843
개요
- .NET 서비스를 메트릭으로 수집하여 Prometheus 에서 메트릭에 접근하여 최종적으로 Grafana 에서 DashBoard 구현 까지 가능한지 자료조사 진행합니다.
- 우선, .NET 서비스에서 메트릭 계측 라이브러리가 있는지 조사 진행합니다.
prometheus-net 이란?
- prometheus-net 이란, 애플리케이션을 계측하고 메트릭을 Prometheus 로 내보내기 위한 .NET Library 입니다.
- 라이브러리는 다음 런타임을 대상으로 진행합니다.
- .NET Framework 4.6.2 이상
- .NET Core 3.1 이상
- 일부 특수화된 기능 하위 집합에는 최신 런타임이 필요합니다.
- .NET Meters API 통합에는 .NET 6 이상이 필요합니다.
모범 사례 및 사용법
- 이 라이브러리를 사용하면 사용자 지정 메트릭으로 코드를 계측할 수 있으며, ASP.NET Core 에 대한 몇 가지 기본 제공 메트릭 컬렉션 통합을 제공합니다.
- Counter, Gugage, Summary, Histogram 의 네 가지 유형의 메트릭을 사용할 수 있습니다.
- 클래스는 이 Metrics 라이브러리의 API 에 대한 기존 진입점입니다. C# 코드에서 가장 일반적인 방법은
static readonly
지정된 클래스에서 내보내려는 각 메트릭에 대한 필드를 갖는 것입니다.
설치
- 설치는 NuGet Package 를 통해서 설치 가능 합니다.
빠른 시작
- 다음 코드를 작성하여, C# 서비스를 메트릭 정보로 계측 할 수 있습니다.
using Prometheus;
using System;
using System.Threading;
class Program
{
private static readonly Counter TickTock =
Metrics.CreateCounter("sampleapp_ticks_total", "Just keeps on ticking");
static void Main()
{
// NB! On .NET Core and .NET 5+ you should use KestrelMetricServer instead, to benefit from latest runtime improvements.
// MetricServer is the .NET Standard implementation designed for maximum compatibility across frameworks.
var server = new MetricServer(hostname: "localhost", port: 1234);
server.Start();
while (true)
{
TickTock.Inc();
Thread.Sleep(TimeSpan.FromSeconds(1));
}
}
}
실행 결과
http://localhost:1234/metrics
URL 로 접속 하게 되면, 다음과 같이 Metrics 이 정상적으로 수집 되는 것을 확인할 수 있습니다.
728x90
'인프라 > 그라파나 & 프로메테우스' 카테고리의 다른 글
[인프라] prometheus-net 메트릭 통계 (0) | 2022.07.24 |
---|---|
[인프라] prometheus-net ASP.NET Core 사용 (0) | 2022.07.24 |
[인프라] 프로메테우스 메트릭 종류 (0) | 2022.07.22 |
[인프라] PostgreSQL, Grafana 연동하여 Tuple 통계 DashBoard 만들기 (0) | 2022.07.17 |
[인프라] Grafana, Prometheus 시스템 매트릭 모니터링 (0) | 2022.07.16 |
이 글을 공유하기