16 Management and monitoring

 

This chapter covers

  • Monitoring Camel instances
  • Tracking application activities
  • Using notifications
  • Managing Camel applications with JMX and REST
  • Understanding and using the Camel management API
  • Gathering runtime performance statistics
  • Using Dropwizard metrics with Camel
  • Developing custom components for management

Applications in production are often critical for businesses. That’s especially true for applications that sit at an intermediate tier and integrate all the business applications and partners. Camel is often in this role.

To help ensure high availability, your organization must monitor its production applications. By doing so, you can gain important insight into the applications and foresee trends that otherwise could cause business processes to suffer. In addition, monitoring helps with related issues such as operations reporting, service-level agreement (SLA) enforcement, and audit trails.

It’s also vital for the operations staff to be able to fully manage the applications. For example, if an incident occurs, staff may need to stop parts of the application from running while the incident investigations occur. You’ll also need management capabilities to carry out scheduled maintenance or upgrades of your applications.

Management and monitoring are often two sides of the same coin. For example, management tooling includes monitoring capabilities in a single coherent dashboard, allowing a full overview for the operations staff.

16.1 Monitoring Camel

16.1.1 Checking health at the network level

16.1.2 Checking health level at the JVM level

16.1.3 Checking health at the application level

16.2 Using JMX with Camel

16.2.1 Using JConsole to manage Camel

16.2.2 Using JConsole to remotely manage Camel

16.2.3 Using Jolokia to manage Camel

16.3 Tracking application activity

16.3.1 Using log files

16.3.2 Using core logs

16.3.3 Using custom logging

16.3.4 Using Tracer

16.3.5 Using notifications

16.4 Managing Camel applications

16.4.1 Managing Camel application lifecycles

16.4.2 Using Jolokia and hawtio to manage Camel lifecycles

16.4.3 Using Control Bus to manage Camel

16.5 The Camel management API

16.5.1 Accessing the Camel management API using Java

16.5.2 Using Camel management API from within Camel

16.5.3 Performance statistics

16.5.4 Management-enable custom Camel components

16.5.5 Management-enable custom Java beans

16.6 Summary and best practices

sitemap