diff --git a/Directory.Packages.props b/Directory.Packages.props
index f54e1863..00cda696 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -8,50 +8,50 @@
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
@@ -61,15 +61,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -79,13 +79,13 @@
-
+
-
+
@@ -104,4 +104,4 @@
-
+
\ No newline at end of file
diff --git a/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs b/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs
index 3e5c43ea..f6622ba8 100644
--- a/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs
+++ b/TransactionProcessor/Bootstrapper/MiddlewareRegistry.cs
@@ -4,6 +4,7 @@
using Microsoft.OpenApi;
using OpenIddict.Validation.AspNetCore;
using Shared.Logger;
+using Shared.Monitoring;
namespace TransactionProcessor.Bootstrapper
{
@@ -54,6 +55,7 @@ public MiddlewareRegistry()
this.ConfigureMvc();
this.ConfigureAuthorization();
this.ConfigureJsonOptions();
+ this.AddUptimeKuma();
}
#endregion
diff --git a/TransactionProcessor/Startup.cs b/TransactionProcessor/Startup.cs
index 746f70bf..e7c157ef 100644
--- a/TransactionProcessor/Startup.cs
+++ b/TransactionProcessor/Startup.cs
@@ -1,6 +1,7 @@
using Prometheus;
using System.Linq;
using System.Threading;
+using Shared.Monitoring;
using TransactionProcessor.BusinessLogic.Services;
using TransactionProcessor.Endpoints;
@@ -16,6 +17,7 @@ namespace TransactionProcessor
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
+ using Microsoft.IdentityModel.Protocols.WsTrust;
using NLog;
using NLog.Extensions.Logging;
using Shared.EventStore.Aggregate;
@@ -93,7 +95,8 @@ public Startup(IWebHostEnvironment webHostEnvironment) {
/// The provider.
public void Configure(IApplicationBuilder app,
IWebHostEnvironment env,
- ILoggerFactory loggerFactory) {
+ ILoggerFactory loggerFactory,
+ IHostApplicationLifetime lifetime, IHost host) {
ConfigurationReader.Initialise(Startup.Configuration);
if (env.IsDevelopment()) {
@@ -119,6 +122,14 @@ public void Configure(IApplicationBuilder app,
this.ConfigureEndpoints(app);
app.PreWarm();
+
+ lifetime.ApplicationStarted.Register(() =>
+ {
+ host.RegisterWithUptimeKumaAsync()
+ .GetAwaiter()
+ .GetResult();
+ });
+
this.TraceLoadedTokenAssemblies();
}
diff --git a/TransactionProcessor/appsettings.json b/TransactionProcessor/appsettings.json
index 120e738d..51db63b1 100644
--- a/TransactionProcessor/appsettings.json
+++ b/TransactionProcessor/appsettings.json
@@ -190,6 +190,13 @@
]
}
},
+ "UptimeKuma": {
+ "Monitor": {
+ "Name": "Transaction Processor",
+ "Url": "http://localhost:5002/health",
+ "IntervalInSeconds": 60
+ }
+ },
"ConnectionStrings": {
"TransactionProcessorReadModel": "server=192.168.1.163;user id=sa;password=Sc0tland;database=TransactionProcessorReadModel;Encrypt=false"
},
@@ -219,7 +226,7 @@
"ApiLogonRequired": true
},
"AgencyBanking": {
- "Url": "http://192.168.1.163:9000/api/agencybanking",
+ "Url": "http://192.168.1.163:9000/api/agencybanking",
"ApiLogonRequired": false
}
}