16 Management and monitoring
- 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