We did come up with our own integration including support for dependency tracking and Live Metrics Stream.
Basically what you need to do is manually adding the required dependency and performance collectors of Application Insights to your application like this:
var configuration = new TelemetryConfiguration()
{
InstrumentationKey = aiKey
};
var module = new DependencyTrackingTelemetryModule();
module.Initialize(configuration);
QuickPulseTelemetryProcessor processor = null;
configuration.TelemetryProcessorChainBuilder
.Use(next =>
{
processor = new QuickPulseTelemetryProcessor(next);
return processor;
})
.Build();
var quickPulse = new QuickPulseTelemetryModule();
quickPulse.Initialize(configuration);
quickPulse.RegisterTelemetryProcessor(processor);
Then to log and correlate requests of your frontend services and your backend stateful/stateless services you will need to intercept calls to the SF services based on the directions of this post: How to add message header to the request when using default client of Azure service fabric?
Web Api requests can be logged to Application Insights using some custom Middleware, that is not too hard to write.
We have created a code repository that outlines a working example that can be found here at https://github.com/DeHeerSoftware/Azure-Service-Fabric-Logging-And-Monitoring
It is quite a lot of code to integrate everything so please take a look at the provided repository. It will give you a starting point.