feature: Observability: Prometheus Metrics and Grafana
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Elastic.Clients.Elasticsearch;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Prometheus;
|
||||
using Serilog;
|
||||
using StackExchange.Redis;
|
||||
using System.Text.Json.Serialization;
|
||||
@@ -19,7 +20,9 @@ try
|
||||
builder.Host.UseSerilog((ctx, services, config) =>
|
||||
config.ReadFrom.Configuration(ctx.Configuration)
|
||||
.ReadFrom.Services(services)
|
||||
.Enrich.FromLogContext());
|
||||
.Enrich.FromLogContext()
|
||||
.Enrich.WithMachineName()
|
||||
.Enrich.WithThreadId());
|
||||
}
|
||||
|
||||
builder.Services.AddDbContext<AppDbContext>(opts =>
|
||||
@@ -77,6 +80,10 @@ try
|
||||
builder.Services.AddHostedService<EscalationWorkerService>();
|
||||
builder.Services.AddHostedService<DischargeSummaryWorkerService>();
|
||||
builder.Services.AddHostedService<ReconciliationScheduler>();
|
||||
builder.Services.AddSingleton<ClinicalMetrics>();
|
||||
builder.Services.AddHostedService<AlertsUnacknowledgedCollector>();
|
||||
builder.Services.AddHostedService<OutboxPendingCollector>();
|
||||
builder.Services.AddHostedService<KafkaConsumerLagCollector>();
|
||||
|
||||
builder.Services.AddControllers()
|
||||
.AddJsonOptions(opts =>
|
||||
@@ -118,6 +125,7 @@ try
|
||||
app.UseSwaggerUI();
|
||||
}
|
||||
|
||||
app.MapMetrics("/metrics");
|
||||
app.MapControllers();
|
||||
app.Run();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user