domino_admin_toolkit.checks.test_rabbitmq module

domino_admin_toolkit.checks.test_rabbitmq.rabbit_pods(platform_namespace)

Retrieves RabbitMQ pods in the Kubernetes namespace.

Return type:

list[tuple[str, str, str]]

Result:

Fails if no pods are found or namespace is not accessible.

domino_admin_toolkit.checks.test_rabbitmq.rabbitmq_connections_df(rabbitmq_data)
Return type:

DataFrame

domino_admin_toolkit.checks.test_rabbitmq.rabbitmq_data()
domino_admin_toolkit.checks.test_rabbitmq.rabbitmq_feature_flags_df(rabbitmq_data)
Return type:

DataFrame

domino_admin_toolkit.checks.test_rabbitmq.rabbitmq_node_df(rabbitmq_data)
Return type:

DataFrame

domino_admin_toolkit.checks.test_rabbitmq.rabbitmq_ports_df(rabbitmq_data)
Return type:

DataFrame

domino_admin_toolkit.checks.test_rabbitmq.rabbitmq_queue_df(rabbitmq_data)
Return type:

DataFrame

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_alarms(rabbitmq_node_df)
Description:

Checks for active alarms on RabbitMQ pods running in a Kubernetes cluster.

Result:

Fails if any alarms are active on RabbitMQ pods.

Debugging:
  • Investigate alarm details for affected pods.

  • Check RabbitMQ logs and pod health in the Kubernetes cluster.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_connections(rabbitmq_connections_df)
Description:

Validates RabbitMQ connection details for each pod in the Kubernetes cluster.

Result:

Fails if any connection is not in the “running” state.

Debugging:
  • Inspect connection logs for errors or disconnections.

  • Verify client and server configurations for compatibility.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_dead_queues(rabbitmq_queue_df)
Description:

Verifies the state of RabbitMQ queues in a Kubernetes cluster.

Result:

Fails if any queue is not in the “running” state.

Debugging:
  • Check the affected queue’s configuration and RabbitMQ logs.

  • Restart or reconfigure the queue as necessary.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_disk_space(rabbitmq_node_df)
Description:

Validates available disk space for RabbitMQ pods running in a Kubernetes cluster.

Result:

Fails if disk space falls below the configured threshold.

Debugging:
  • Check disk usage within RabbitMQ pods.

  • Clear unused files or increase storage allocation for affected pods.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_fd_usage(rabbitmq_node_df)
Description:

Checks file descriptor usage for RabbitMQ pods running in a Kubernetes cluster.

Result:

Fails if file descriptor usage exceeds the configured threshold.

Debugging:
  • Investigate processes using excessive file descriptors within affected pods.

  • Adjust RabbitMQ or OS-level limits for file descriptors as necessary.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_feature_flags(rabbitmq_feature_flags_df)
Description:

Tests feature flags on RabbitMQ pods in the Kubernetes cluster.

Result:

Fails if no feature flags are found for any RabbitMQ node. Displays all feature flags in a structured format.

Debugging:
  • Ensure RabbitMQ is running the expected flags.

  • Check RabbitMQ Management API for feature flag issues.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_memory_usage(rabbitmq_node_df)
Description:

Verifies memory usage for RabbitMQ pods running in a Kubernetes cluster.

Result:

Fails if memory usage exceeds the configured threshold.

Debugging:
  • Check resource allocation for RabbitMQ pods.

  • Investigate processes consuming high memory within affected pods.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_node_status(rabbitmq_node_df)
Description:

Checks the status of RabbitMQ pods running in a Kubernetes cluster.

Result:

Fails if any RabbitMQ pod is not in the “running” state.

Debugging:
  • Ensure the RabbitMQ pods are scheduled and running successfully.

  • Check pod logs and Kubernetes events for failures or connectivity issues.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_port_connectivity(rabbitmq_ports_df)
Description:

Validates RabbitMQ port connectivity for each pod in the Kubernetes cluster.

Result:

Fails if any port is not in an “OK” state.

Debugging:
  • Check Kubernetes network policies or firewall rules affecting connectivity.

  • Ensure RabbitMQ listeners are correctly configured and active.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_queue_depth(rabbitmq_queue_df)
Description:

Validates queue depth and consumer availability for RabbitMQ queues in a Kubernetes cluster.

Result:

Fails if any queue has excessive messages with no consumers.

Debugging:
  • Identify bottlenecks in message processing within RabbitMQ queues.

  • Ensure consumers are correctly configured and actively consuming messages.

domino_admin_toolkit.checks.test_rabbitmq.test_rabbitmq_split_brain(rabbitmq_data, rabbit_pods)
Description:

Checks for split-brain scenarios in RabbitMQ by comparing node and pod counts in the Kubernetes cluster.

Result:

Fails if the number of RabbitMQ nodes does not match the number of pods.

Debugging:
  • Investigate discrepancies between nodes and pods.

  • Ensure all RabbitMQ pods are healthy and properly connected.