production monitoring with servicepulse

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

Upload: particular-software

Post on 24-Jun-2015

100 views

Category:

Software


1 download

DESCRIPTION

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

TRANSCRIPT

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