Production Monitoring with ServicePulse

29
Danny Cohen Director of Product Development http://particular.net Production Monitoring with ServicePulse

description

Learn about the challenges of monitoring distributed systems and show how the capabilities found in ServicePulse are designed to solve those challenges.

Transcript of Production Monitoring with ServicePulse

Page 1: Production Monitoring with ServicePulse

Danny CohenDirector of Product Development

http://particular.net

Production Monitoring

with ServicePulse

Page 2: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Platform & architecture overview

Production Monitoring:

Health

Custom dependencies

Exceptions and errors

Activity monitoring

Planning & configuration

Learn more: Guidance, training, support and

licensing

Q&A

Agenda

Page 3: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Page 4: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Page 5: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Page 6: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Page 7: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

The Particular Service Platformhttp://particular.net/service-platform

Page 8: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBus

Particular Service Platform - Architecture Overview

Production Monitoring with ServicePulse

EndpointEndpoint

EndpointEndpointEndpoint

Audit Q

Error Q

Control Q

Page 9: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusUnder the hood of the Particular Service Platform

Webinar recording available online:

Building Better .NET Solutions with the Particular Service Platform

http://particular.net/Videos-and-Presentations

Page 10: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

What do we want to monitor ?

Endpoint

Health ConnectivityStorage Exceptions Activity

Page 11: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

ServicePulse Design Principles:

Central monitoring for all system endpoints

Clearly indicate status: OK / Problem

Near real-time and up-to-date display

Works with all NServiceBus OOTB transports

Report from the Endpoint’s perspective

Extensible and customizable

Page 12: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Configuring Endpoint Auditing

Endpoint

Endpoint

Endpoint

Endpoint

Audit Q

Error Q

Audit all messages and processing errors into defined central queues

Page 13: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Extended Auditing with ServiceControl Plugins

Endpoint

Endpoint

Endpoint

Endpoint

Audit Q

Error Q

Control Q ServiceControl Plugins collect and report about:• Endpoint Heartbeats• Custom Checks• Saga activity data• and more…

// NuGet Console per Endpoint:Install-Package SeviceControl.Plugin.Heartbeat Install-Package SeviceControl.Plugin.CustomChecksInstall-Package SeviceControl.Plugin.SagaAudit

Page 14: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Health: Endpoint Heartbeat

Endpoint Control Q

• Heartbeat plugin sends heartbeat message every 10 seconds (configurable)• ServicePulse expects every endpoint to emit heartbeats periodically• Endpoints can opt-out of ServicePulse monitoring

// NuGet Console per Endpoint:Install-Package SeviceControl.Plugin.Heartbeat

Page 15: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Health: Endpoint Heartbeat

Endpoint Control Q

DEMO: Endpoint Heartbeat

Page 16: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Interlude: What is an “Active Endpoint” ?

• Definition of an “Active Endpoint””:• Monitored by ServicePulse

and• Heartbeats are received and processed as expected

Page 17: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Dependencies: Custom Checks

Endpoint Control Q

• Identify endpoint specific dependencies• Author and deploy Custom Checks to check dependencies• Alert when dependency requirements are not met• Common examples: storage, connectivity, external services availability, authn/authz etc.

// NuGet Console per Endpoint:Install-Package SeviceControl.Plugin.CustomChecks

Page 18: Production Monitoring with ServicePulse

1. Create class library project2. Add NuGet CustomChecks plugin: Install-Package

SeviceControl.Plugin.CustomChecks

3. Author Custom Check that derives from CustomCheck or PeriodicCheck:

4. Copy CustomCheck DLL to endpoint Bin directory5. Add NuGet CustomChecks plugin to Endpoint:

Install-Package SeviceControl.Plugin.CustomChecks

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Authoring a Custom Check

Page 19: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Dependencies: Custom Checks

Endpoint Control Q

DEMO: Custom Checks

Page 20: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Exceptions and Errors

Endpoint Error Q

• All Endpoints forward failed messages to central error queue• Full Exception stack trace (& message body)• Launch ServiceInsight for in-depth analysis• Possible actions:

• Retry (re-send for processing)or

• Archive (when re-processing is not an option)

Page 21: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Exceptions and Errors

Endpoint Error Q

DEMO: Exceptions and Errors

Page 22: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Activity Monitoring with Endpoint Performance Counters

Page 23: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Planning & Configuration

Custom domain / host name / port number

Security

Capacity & storage

Audited message expiration

Long term storage & customized auditing

Performance & throughput

Backup

For detailed guidance, visit our Developer portal:• http://docs.particular.net/servicepulse• http://docs.particular.net/servicecontrol

Page 24: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Guidance:

http://docs.particular.net

Page 25: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Training:

http://particular.net/courses-and-events

Page 26: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Support:

http://particular.net/support

Page 27: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Licensing:

http://particular.net/licensing

Page 28: Production Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBus

Q&A

Production Monitoring with ServicePulse

Page 29: Production Monitoring with ServicePulse

Thank you!

www.Particular.net