Browse Source

First version with Kibana/ElasticSearch & Logstash, needs refactor

pull/977/head
jmanuelcorral 5 years ago
parent
commit
06e07914e1
45 changed files with 203 additions and 16 deletions
  1. +48
    -0
      docker-compose.elk.yml
  2. +35
    -0
      docker-compose.yml
  3. +5
    -0
      elk/elasticsearch/Dockerfile
  4. +16
    -0
      elk/elasticsearch/config/elasticsearch.yml
  5. +5
    -0
      elk/kibana/Dockerfile
  6. +7
    -0
      elk/kibana/config/kibana.yml
  7. +6
    -0
      elk/logstash/Dockerfile
  8. +6
    -0
      elk/logstash/config/logstash.yml
  9. +22
    -0
      elk/logstash/pipeline/logstash.conf
  10. +1
    -0
      k8s/helm/deploy-all-istio.ps1
  11. +1
    -0
      k8s/helm/elk/installelk.ps1
  12. +1
    -0
      src/Services/Basket/Basket.API/Basket.API.csproj
  13. +2
    -1
      src/Services/Basket/Basket.API/Program.cs
  14. +1
    -0
      src/Services/Basket/Basket.API/appsettings.json
  15. +1
    -0
      src/Services/Catalog/Catalog.API/Catalog.API.csproj
  16. +2
    -1
      src/Services/Catalog/Catalog.API/Program.cs
  17. +2
    -1
      src/Services/Catalog/Catalog.API/Properties/launchSettings.json
  18. +1
    -0
      src/Services/Catalog/Catalog.API/appsettings.json
  19. +1
    -0
      src/Services/Identity/Identity.API/Identity.API.csproj
  20. +2
    -1
      src/Services/Identity/Identity.API/Program.cs
  21. +1
    -0
      src/Services/Identity/Identity.API/appsettings.json
  22. +1
    -0
      src/Services/Location/Locations.API/Locations.API.csproj
  23. +2
    -1
      src/Services/Location/Locations.API/Program.cs
  24. +1
    -0
      src/Services/Location/Locations.API/appsettings.json
  25. +1
    -0
      src/Services/Marketing/Marketing.API/Marketing.API.csproj
  26. +2
    -1
      src/Services/Marketing/Marketing.API/Program.cs
  27. +1
    -0
      src/Services/Marketing/Marketing.API/appsettings.json
  28. +1
    -0
      src/Services/Ordering/Ordering.API/Ordering.API.csproj
  29. +3
    -2
      src/Services/Ordering/Ordering.API/Program.cs
  30. +1
    -0
      src/Services/Ordering/Ordering.API/appsettings.json
  31. +1
    -0
      src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj
  32. +2
    -1
      src/Services/Ordering/Ordering.BackgroundTasks/Program.cs
  33. +1
    -0
      src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json
  34. +1
    -0
      src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj
  35. +2
    -1
      src/Services/Ordering/Ordering.SignalrHub/Program.cs
  36. +1
    -0
      src/Services/Ordering/Ordering.SignalrHub/appsettings.json
  37. +1
    -0
      src/Services/Payment/Payment.API/Payment.API.csproj
  38. +2
    -1
      src/Services/Payment/Payment.API/Program.cs
  39. +1
    -0
      src/Services/Payment/Payment.API/appsettings.json
  40. +3
    -2
      src/Web/WebMVC/Program.cs
  41. +1
    -0
      src/Web/WebMVC/WebMVC.csproj
  42. +1
    -0
      src/Web/WebMVC/appsettings.json
  43. +3
    -2
      src/Web/WebStatus/Program.cs
  44. +1
    -0
      src/Web/WebStatus/WebStatus.csproj
  45. +3
    -1
      src/Web/WebStatus/appsettings.json

+ 48
- 0
docker-compose.elk.yml View File

@ -0,0 +1,48 @@
version: '3.4'
services:
elasticsearch:
build:
context: elk/elasticsearch/
volumes:
- ./elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- elk
logstash:
build:
context: elk/logstash/
volumes:
- ./elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
- ./elk/logstash/pipeline:/usr/share/logstash/pipeline:ro
ports:
- "8080:8080"
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- elk
depends_on:
- elasticsearch
kibana:
build:
context: elk/kibana/
volumes:
- ./elk/kibana/config/:/usr/share/kibana/config:ro
ports:
- "5601:5601"
networks:
- elk
depends_on:
- elasticsearch
networks:
elk:
driver: bridge

+ 35
- 0
docker-compose.yml View File

@ -1,6 +1,41 @@
version: '3.4'
services:
elasticsearch:
build:
context: elk/elasticsearch/
volumes:
- ./elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
logstash:
build:
context: elk/logstash/
volumes:
- ./elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
- ./elk/logstash/pipeline:/usr/share/logstash/pipeline:ro
ports:
- "8080:8080"
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
depends_on:
- elasticsearch
kibana:
build:
context: elk/kibana/
volumes:
- ./elk/kibana/config/:/usr/share/kibana/config:ro
ports:
- "5601:5601"
depends_on:
- elasticsearch
seq:
image: datalust/seq:latest


+ 5
- 0
elk/elasticsearch/Dockerfile View File

@ -0,0 +1,5 @@
# https://github.com/elastic/elasticsearch-docker
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.0.0
# Add your elasticsearch plugins setup here
# Example: RUN elasticsearch-plugin install analysis-icu

+ 16
- 0
elk/elasticsearch/config/elasticsearch.yml View File

@ -0,0 +1,16 @@
---
## Default Elasticsearch configuration from elasticsearch-docker.
## from https://github.com/elastic/elasticsearch-docker/blob/master/build/elasticsearch/elasticsearch.yml
#
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
discovery.zen.minimum_master_nodes: 1
## Use single node discovery in order to disable production mode and avoid bootstrap checks
## see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
#
discovery.type: single-node

+ 5
- 0
elk/kibana/Dockerfile View File

@ -0,0 +1,5 @@
# https://github.com/elastic/kibana-docker
FROM docker.elastic.co/kibana/kibana-oss:6.0.0
# Add your kibana plugins setup here
# Example: RUN kibana-plugin install <name|url>

+ 7
- 0
elk/kibana/config/kibana.yml View File

@ -0,0 +1,7 @@
---
## Default Kibana configuration from kibana-docker.
## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml
#
server.name: kibana
server.host: "0"
elasticsearch.url: http://elasticsearch:9200

+ 6
- 0
elk/logstash/Dockerfile View File

@ -0,0 +1,6 @@
# https://github.com/elastic/logstash-docker
FROM docker.elastic.co/logstash/logstash-oss:6.0.0
# Add your logstash plugins setup here
# Example: RUN logstash-plugin install logstash-filter-json
RUN logstash-plugin install logstash-input-http

+ 6
- 0
elk/logstash/config/logstash.yml View File

@ -0,0 +1,6 @@
---
## Default Logstash configuration from logstash-docker.
## from https://github.com/elastic/logstash-docker/blob/master/build/logstash/config/logstash-oss.yml
#
http.host: "0.0.0.0"
path.config: /usr/share/logstash/pipeline

+ 22
- 0
elk/logstash/pipeline/logstash.conf View File

@ -0,0 +1,22 @@
input {
http {
#default host 0.0.0.0:8080
codec => json
}
}
## Add your filters / logstash plugins configuration here
filter {
split {
field => "events"
target => "e"
remove_field => "events"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
index=>"eshops-%{+xxxx.ww}"
}
}

+ 1
- 0
k8s/helm/deploy-all-istio.ps1 View File

@ -57,6 +57,7 @@ kubectl apply -f ./istio/gateway.yml
if ($useLocalk8s -eq $true) {
$dns="localhost"
$externalDns="localhost"
}
else {
Write-Host "Resolving DNS to Gateway public IP" -ForegroundColor Green


+ 1
- 0
k8s/helm/elk/installelk.ps1 View File

@ -0,0 +1 @@
helm install --name elk stable/elastic-stack --namespace elk

+ 1
- 0
src/Services/Basket/Basket.API/Basket.API.csproj View File

@ -33,6 +33,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
<PackageReference Include="StackExchange.Redis.StrongName" Version="1.2.6" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
</ItemGroup>


+ 2
- 1
src/Services/Basket/Basket.API/Program.cs View File

@ -57,13 +57,14 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Basket/Basket.API/appsettings.json View File

@ -1,6 +1,7 @@
{
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Catalog/Catalog.API/Catalog.API.csproj View File

@ -53,6 +53,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
<PackageReference Include="System.IO.Compression.ZipFile" Version="4.3.0" />
</ItemGroup>


+ 2
- 1
src/Services/Catalog/Catalog.API/Program.cs View File

@ -71,13 +71,14 @@ namespace Microsoft.eShopOnContainers.Services.Catalog.API
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 2
- 1
src/Services/Catalog/Catalog.API/Properties/launchSettings.json View File

@ -16,7 +16,8 @@
"ConnectionString": "server=localhost,5433;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
"ASPNETCORE_ENVIRONMENT": "Development",
"EventBusConnection": "localhost",
"Serilog:SeqServerUrl": "http://locahost:5340"
"Serilog:SeqServerUrl": "http://locahost:5340",
"Serilog:LogstashgUrl":"http://locahost:8080",
}
},
"Microsoft.eShopOnContainers.Services.Catalog.API": {


+ 1
- 0
src/Services/Catalog/Catalog.API/appsettings.json View File

@ -4,6 +4,7 @@
"UseCustomizationData": false,
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Identity/Identity.API/Identity.API.csproj View File

@ -34,6 +34,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
</ItemGroup>


+ 2
- 1
src/Services/Identity/Identity.API/Program.cs View File

@ -76,13 +76,14 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://localhost:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Identity/Identity.API/appsettings.json View File

@ -7,6 +7,7 @@
"UseCustomizationData": false,
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Location/Locations.API/Locations.API.csproj View File

@ -29,6 +29,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
</ItemGroup>


+ 2
- 1
src/Services/Location/Locations.API/Program.cs View File

@ -54,13 +54,14 @@ namespace Microsoft.eShopOnContainers.Services.Locations.API
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Location/Locations.API/appsettings.json View File

@ -4,6 +4,7 @@
"IdentityUrl": "http://localhost:5105",
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Marketing/Marketing.API/Marketing.API.csproj View File

@ -45,6 +45,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
</ItemGroup>
<ItemGroup>


+ 2
- 1
src/Services/Marketing/Marketing.API/Program.cs View File

@ -66,13 +66,14 @@
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Marketing/Marketing.API/appsettings.json View File

@ -1,6 +1,7 @@
{
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Ordering/Ordering.API/Ordering.API.csproj View File

@ -52,6 +52,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
<PackageReference Include="System.Reflection" Version="4.3.0" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />


+ 3
- 2
src/Services/Ordering/Ordering.API/Program.cs View File

@ -68,16 +68,17 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API
.UseSerilog()
.Build();
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Ordering/Ordering.API/appsettings.json View File

@ -4,6 +4,7 @@
"UseCustomizationData": false,
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj View File

@ -28,6 +28,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
</ItemGroup>
<ItemGroup>


+ 2
- 1
src/Services/Ordering/Ordering.BackgroundTasks/Program.cs View File

@ -51,13 +51,14 @@ namespace Ordering.BackgroundTasks
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Ordering/Ordering.BackgroundTasks/appsettings.json View File

@ -2,6 +2,7 @@
"ConnectionString": "Server=tcp:127.0.0.1,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;",
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj View File

@ -30,6 +30,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
</ItemGroup>
<ItemGroup>


+ 2
- 1
src/Services/Ordering/Ordering.SignalrHub/Program.cs View File

@ -54,13 +54,14 @@ namespace Ordering.SignalrHub
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Ordering/Ordering.SignalrHub/appsettings.json View File

@ -2,6 +2,7 @@
"IdentityUrl": "http://localhost:5105",
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 1
- 0
src/Services/Payment/Payment.API/Payment.API.csproj View File

@ -24,6 +24,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\BuildingBlocks\EventBus\EventBusRabbitMQ\EventBusRabbitMQ.csproj" />


+ 2
- 1
src/Services/Payment/Payment.API/Program.cs View File

@ -54,13 +54,14 @@ namespace Payment.API
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Services/Payment/Payment.API/appsettings.json View File

@ -1,6 +1,7 @@
{
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 3
- 2
src/Web/WebMVC/Program.cs View File

@ -49,16 +49,17 @@ namespace Microsoft.eShopOnContainers.WebMVC
.UseSerilog()
.Build();
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Web/WebMVC/WebMVC.csproj View File

@ -41,6 +41,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
</ItemGroup>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">


+ 1
- 0
src/Web/WebMVC/appsettings.json View File

@ -13,6 +13,7 @@
"UseCustomizationData": false,
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {


+ 3
- 2
src/Web/WebStatus/Program.cs View File

@ -50,16 +50,17 @@ namespace WebStatus
.UseSerilog()
.Build();
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
private static Serilog.ILogger CreateSerilogLogger(IConfiguration configuration)
{
var seqServerUrl = configuration["Serilog:SeqServerUrl"];
var logstashUrl = configuration["Serilog:LogstashgUrl"];
return new LoggerConfiguration()
.MinimumLevel.Verbose()
.Enrich.WithProperty("ApplicationContext", AppName)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(string.IsNullOrWhiteSpace(seqServerUrl) ? "http://seq" : seqServerUrl)
.WriteTo.Http(string.IsNullOrWhiteSpace(logstashUrl) ? "http://logstash:8080" : logstashUrl)
.ReadFrom.Configuration(configuration)
.CreateLogger();
}


+ 1
- 0
src/Web/WebStatus/WebStatus.csproj View File

@ -28,6 +28,7 @@
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Seq" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Http" Version="4.2.1" />
</ItemGroup>
</Project>

+ 3
- 1
src/Web/WebStatus/appsettings.json View File

@ -72,6 +72,7 @@
],
"Serilog": {
"SeqServerUrl": null,
"LogstashgUrl":null,
"MinimumLevel": {
"Default": "Information",
"Override": {
@ -79,7 +80,7 @@
"Microsoft.eShopOnContainers": "Information",
"System": "Warning"
}
}
},
"Webhooks": [
{
"Name": "",
@ -92,3 +93,4 @@
"MinimumSecondsBetweenFailureNotifications": 60
}
}
}

Loading…
Cancel
Save