Production Monitoring with ServicePulse

Post on 24-Jun-2015

101 views 1 download

Tags:

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

Danny CohenDirector of Product Development

http://particular.net

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

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

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

Introduction to ServiceInsight for NServiceBus

Particular Service Platform - Architecture Overview

Production Monitoring with ServicePulse

EndpointEndpoint

EndpointEndpointEndpoint

Audit Q

Error Q

Control Q

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

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

What do we want to monitor ?

Endpoint

Health ConnectivityStorage Exceptions Activity

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

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

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

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

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Health: Endpoint Heartbeat

Endpoint Control Q

DEMO: Endpoint Heartbeat

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

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

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

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Dependencies: Custom Checks

Endpoint Control Q

DEMO: Custom Checks

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)

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Exceptions and Errors

Endpoint Error Q

DEMO: Exceptions and Errors

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Activity Monitoring with Endpoint Performance Counters

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

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Guidance:

http://docs.particular.net

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Training:

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

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Support:

http://particular.net/support

Introduction to ServiceInsight for NServiceBusProduction Monitoring with ServicePulse

Licensing:

http://particular.net/licensing

Introduction to ServiceInsight for NServiceBus

Q&A

Production Monitoring with ServicePulse

Thank you!

www.Particular.net