Monitoring Oracle XStream CDC Source Connector for Confluent Platform

The Oracle XStream CDC Source connector exposes several metrics through JMX (Java Management Extensions) that are useful for monitoring connector and troubleshooting issues.

Enable monitoring

You can enable monitoring using JMX by following the instructions in the Kafka documentation. The Kafka Monitoring documentation outlines the steps to enable monitoring using JMX in a containerized environment (Docker).

You can use open-source tools to monitor JMX, including the console-based Jmxterm, JConsole that is part of the Java Development Kit (JDK), or load the metrics into a monitoring platform, such as Prometheus.

Connector metrics

The Oracle XStream CDC Source connector publishes MBeans under the debezium.confluent.oracle domain. The connector provides three metric types:

Snapshot metrics

Snapshot metrics help you monitor the connector during snapshot operations. These metrics are only available if a snapshot is currently active or if a snapshot has been performed since the connector was last started.

MBean: debezium.confluent.oracle:type=connector-metrics,context=snapshot,server=<topic.prefix>

Attribute Type Description
CapturedTables string[] The list of tables captured by the connector.
RemainingTableCount int The number of tables remaining to be snapshotted.
TotalTableCount int The total number of tables included in the snapshot.
RowsScanned tabular Map containing the number of rows scanned for each table in the snapshot. Tables are incrementally added to the map during processing. Updates every 10 seconds and once a table’s snapshot is complete.
LastEvent string The most recent snapshot event that the connector has processed and dispatched.
MilliSecondsSinceLastEvent long The number of milliseconds since the connector last read and processed the most recent event, including those filtered out.
TotalNumberOfEventsSeen long The total number events the connector has encountered since its last start or reset, including those filtered out.
NumberOfEventsFiltered long The number of events filtered out based on the include/exclude list rules configured in the connector.
QueueRemainingCapacity int The remaining capacity of the queue that passes events from the snapshot source to the main Kafka Connect loop.
QueueTotalCapacity int The total capacity of the queue that passes events from the snapshot source to the main Kafka Connect loop.
SnapshotRunning boolean Whether the snapshot has started and is actively running.
SnapshotCompleted boolean Whether the snapshot has been completed.
SnapshotPaused boolean Whether the snapshot has been paused.
SnapshotAborted boolean Whether the snapshot has been aborted.
SnapshotDurationInSeconds long The total running time for the snapshot, in seconds, including when it was paused.
SnapshotPausedDurationInSeconds long The total paused time for the snapshot, in seconds. The pause time adds up from all the times the snapshot was paused.

Streaming metrics

Streaming metrics help you monitor the connector when streaming changes from the database.

MBean: debezium.confluent.oracle:type=connector-metrics,context=streaming,server=<topic.prefix>

Attribute Type Description
CapturedTables string[] The list of tables captured by the connector.
Connected boolean Whether the connector is currently streaming changes from the database server.
LastEvent string The most recent streaming event that the connector has processed and dispatched.
MilliSecondsSinceLastEvent long The number of milliseconds since the connector last read and processed the most recent event, including those filtered out.
TotalNumberOfEventsSeen long The total number events the connector has seen since its last start or reset, including those filtered out.
TotalNumberOfCreateEventsSeen long The total number create events the connector has processed since its last start or reset, including those filtered out.
TotalNumberOfUpdateEventsSeen long The total number update events the connector has processed since its last start or reset, including those filtered out.
TotalNumberOfDeleteEventsSeen long The total number delete events the connector has processed since its last start or reset, including those filtered out.
NumberOfEventsFiltered long The number of events filtered out based on the include/exclude list rules configured in the connector.
QueueRemainingCapacity int The remaining capacity of the queue that passes events from the streaming source to the main Kafka Connect loop.
QueueTotalCapacity int The total capacity of the queue that passes events from the streaming source to the main Kafka Connect loop.
SourceEventPosition tabular The coordinates of the most recent streaming event that the connector has processed and dispatched.
LastTransactionId string Transaction identifier of the last transaction that the connector has processed and dispatched.
NumberOfCommittedTransactions long The number of committed transactions that the connector has processed and dispatched.
MilliSecondsBehindSource long The number of milliseconds between the timestamp of the last change event and the time the connector processed it. This metric is computed based on the time when the change was generated in the source database’s redo log. Long-running transactions can cause this metric to show high values, since the connector only receives the transaction changes after the transaction is committed in the source database.
CommitMilliSecondsBehindSource long The number of milliseconds between the timestamp of the last COMMIT event received and the time the connector processed it.This metric is only available on Confluent Platform.
TotalSchemaChangeParseErrorCount int The number of DDL statements that could not be parsed by the DDL parser. This number should always be 0. However, if the connector allows skipping unparseable DDL statements, this metric helps determine if the connector has logged any warnings.

Note

The source event timestamps for the MilliSecondsBehindSource and CommitMilliSecondsBehindSource metrics are in the database server’s operating system timezone. Please ensure that the database.os.timezone connector configuration is set to the database server’s operating system timezone.

Schema history metrics

Schema history metrics help you monitor the status of the connector’s schema history.

MBean: debezium.confluent.oracle:type=connector-metrics,context=schema-history,server=<topic.prefix>

Attribute Type Description
Status string The state of the database schema history, which can be one of the following: STOPPED, RECOVERING (recovering history from storage), or RUNNING.
RecoveryStartTime long The time, in epoch seconds, when the recovery process started.
ChangesRecovered long The number of changes read during the recovery phase.
LastRecoveredChange string The last change recovered from the history store.
MilliSecondsSinceLastRecoveredChange long The number of milliseconds that have elapsed since the last change was recovered from the history store.
ChangesApplied long The number of schema changes applied during both the recovery phase and runtime.
LastAppliedChange string The last change applied from the history store.
MilliSecondsSinceLastAppliedChange long The number of milliseconds that have elapsed since the last change was applied from the history store.