generated from arcus-azure/arcus.github.template
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fff9f17
commit 1c6ef56
Showing
14 changed files
with
2,548 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
--- | ||
title: "Arcus Observability" | ||
layout: default | ||
slug: / | ||
sidebar_label: Welcome | ||
--- | ||
|
||
# Introduction | ||
|
||
Arcus Observability allows you to work easily with Azure Application Insights telemetry by making use of the common `ILogger` infrastructure to track dependencies, log custom metrics and log multi-dimensional telemetry data. The library supports multiple telemetry types like tracking dependencies, requests, events, metrics, while also be able to filter with Serilog filters and enrich with custom correlation. | ||
|
||
![Logger Arcus - Application Insights](/img/logger-arcus-appinsights.png) | ||
|
||
# Guidance | ||
|
||
- [Using Arcus & Serilog in ASP.NET Core](./02-Guidance/use-with-dotnet-and-aspnetcore.md) | ||
- [Using Arcus & Serilog in Azure Functions](./02-Guidance/use-with-dotnet-and-functions.md) | ||
|
||
# Installation | ||
|
||
The Arcus.Observability.Correlation package can be installed via NuGet: | ||
|
||
```shell | ||
PM > Install-Package Arcus.Observability.Serilog.Sinks.ApplicationInsights | ||
``` | ||
|
||
For more granular packages we recommend reading [the documentation](./03-Features/sinks/azure-application-insights.md). | ||
|
||
# License | ||
This is licensed under The MIT License (MIT). Which means that you can use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the web application. But you always need to state that Codit is the original author of this web application. | ||
|
||
*[Full license here](https://github.com/arcus-azure/arcus.observability/blob/master/LICENSE)* |
42 changes: 42 additions & 0 deletions
42
...rsioned_docs/version-v3.0.0/02-Guidance/Service-to-service Correlation/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
title: "Service-to-service correlation?" | ||
layout: default | ||
--- | ||
|
||
# Service-to-service correlation | ||
The concept of service-to-service correlation is big and complex and spans multiple Arcus libraries. This user-guide will walk through all the available Arcus features that work together to facilitate service-to-service correlation in your application. | ||
|
||
## What is service-to-service correlation? | ||
Service-to-service correlation is a way to describe a relationship between different components where each 'component' represents a separate application. This could be, for example, an API call that results in an Azure Service Bus message that will be picked up by a message pump, or an Azure Function that calls an additional API after receiving a message from a queue. | ||
|
||
Anytime one application calls another, that's where service-to-service correlation comes in. This way of correlation makes sure that the relationship of a single (business) transaction doesn't stop at the borders of one application or component, but continues in the other application. The end result is a clear overview of all the components involved. | ||
|
||
![Arcus service-to-service application map](/media/service-to-service-correlation-application-map.png) | ||
|
||
When using Arcus for service-to-service correlation, you'll see the this relationship in Application Insights in the [end-to-end transaction view](https://docs.microsoft.com/en-us/azure/azure-monitor/app/transaction-diagnostics): | ||
|
||
![Arcus service-to-service correlation relationship](/media/service-to-service-correlation-relationship.png) | ||
|
||
## Why should I use service-to-service correlation? | ||
Adding service-to-service correlation to your application adds many advantages: | ||
* ✔ Quickly spot performance bottlenecks and failures | ||
* ✔ Clear overview of used (Azure) resources | ||
* ✔ Effective architectural decision-making on application flow | ||
|
||
## What Arcus components support service-to-service correlation? | ||
Currently, we support service-to-service correlation with several types of components: | ||
* [Arcus Web API](https://webapi.arcus-azure.net/features/correlation) | ||
* [Arcus Azure Service Bus message pump/router](https://messaging.arcus-azure.net/) | ||
* And [other built-in and custom dependencies](https://observability.arcus-azure.net/Features/writing-different-telemetry-types) | ||
|
||
We're working on adding Azure EventHubs message pump to the mix. | ||
|
||
> ⚠ Service-to-service correlation is only available for Azure Functions that run in-process. Out-of-process / isolated Azure Functions doesn't have (yet) the necessary built-in Arcus functionality to facilitate service-to-service correlation. | ||
> ⚠ Service-to-service correlation is currently only supported for projects that uses Application Insights as their Serilog logging system. If you want to use Arcus' service-to-service functionality outside Application Insights, [please let us know](https://github.com/arcus-azure/arcus.observability/issues/new/choose). | ||
## How do I add service-to-service correlation to my application components? | ||
Service-to-service correlation should be added on both the sending and receiving components of your project so the internal Arcus functionality can link the request/response correctly in Application Insights. The following user-guides will go over the sending and receiving side of Web API's and Azure Service Bus resources: | ||
|
||
* [Use service-to-service correlation in Web API solutions](use-service-to-service-correlation-in-web-api.md) | ||
* [Use service-to-service correlation in Service Bus solutions](use-service-to-service-correlation-in-service-bus.md) |
Oops, something went wrong.