domino_admin_toolkit.analyzers.rabbitmq_analyzer module
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQAlarmsAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQAlarmsAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQConnectionAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQConnectionAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQDeadQueuesAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQDeadQueuesAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQDiskSpaceAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQDiskSpaceAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQFdUsageAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQFdUsageAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQFeatureFlagsAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQFeatureFlagsAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQMemorySettingsAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQMemoryUsageAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQMemoryUsageAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQNodeStatusAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQNodeStatusAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQPortConnectivityAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQPortConnectivityAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQQueueDepthAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
One queue row per call (Runner passes dicts from DataFrame rows).
- Return type:
- name: ClassVar[str] = 'RabbitMQQueueDepthAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQSplitBrainAnalyzer
Bases:
AnalyzerBase- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- name: ClassVar[str] = 'RabbitMQSplitBrainAnalyzer'
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQStreamCoordinatorAnalyzer
Bases:
DataFrameAnalyzerBaseValidates cluster-wide RabbitMQ stream coordinator Raft health.
Reads the single-row coordinator DataFrame collected from Prometheus. SKIPs when no coordinator metrics are reported (no streams declared yet, or Prometheus is not scraping
rabbitmq-ha). FAILs on apply lag or excessive commit latency — the runtime signatures of a coordinator that looks healthy on the Management API but has actually stalled.- Fields:
- analyze(data)
Analyzes the full DataFrame and returns a list of CheckResult instances.
- Return type:
- Args:
data: The full DataFrame. Called once per
check_df()invocation.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQStreamHealthAnalyzer
Bases:
AnalyzerBase[StreamHealthRow]Validates per-stream health from the RabbitMQ Management API.
FAILs when
state != "running", when no leader is elected, or when the set of declaredmembersis not a subset ofonline— the corruption signature where a stream’s writer set has drifted from its readable set.- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- pydantic model domino_admin_toolkit.analyzers.rabbitmq_analyzer.RabbitMQStreamLeaderPresenceAnalyzer
Bases:
AnalyzerBase[StreamLeaderRow]Validates per-stream leader presence from Prometheus
rabbitmq_queue_info.Distinct from the Management API leader check because Prometheus reads the Raft subsystem directly — it catches the case where the Management API has a stale cache reporting
state=runningwhile Raft has actually lost the leader. FAILs whenhas_leaderis False for a stream.- Fields:
- analyze(data)
Analyzes one row and returns a list of CheckResult instances.
- Return type:
- Args:
data: One row dict (
TRow). The Runner calls this once per DataFrame row.- Returns:
List[CheckResult]: A list containing the results of the analysis.
- Raises:
NotImplementedError: If this method is not implemented by subclasses.
- class domino_admin_toolkit.analyzers.rabbitmq_analyzer.StreamHealthRow
Bases:
TypedDictOne row per stream from the RabbitMQ Management API.
- class domino_admin_toolkit.analyzers.rabbitmq_analyzer.StreamLeaderRow
Bases:
TypedDictOne row per stream pivoted from rabbitmq_queue_info.
- domino_admin_toolkit.analyzers.rabbitmq_analyzer.get_rabbitmq_connections_df(rabbitmq_data, k8s_client)
Retrieves RabbitMQ connection data for all nodes and flattens it into a DataFrame.
- Return type:
- domino_admin_toolkit.analyzers.rabbitmq_analyzer.get_rabbitmq_data(k8s_client)
Retrieves RabbitMQ cluster information from the API.
- Return type:
- Args:
k8s_client: DominoKubernetesClient instance
- domino_admin_toolkit.analyzers.rabbitmq_analyzer.get_rabbitmq_feature_flags_df(rabbitmq_data, k8s_client)
Retrieves RabbitMQ feature flags for all nodes and flattens them into a DataFrame.
- Return type:
- domino_admin_toolkit.analyzers.rabbitmq_analyzer.get_rabbitmq_node_df(rabbitmq_data, k8s_client)
Gathers RabbitMQ data into a DataFrame. Ensures each node’s data is fetched independently.
- Return type:
- domino_admin_toolkit.analyzers.rabbitmq_analyzer.get_rabbitmq_ports_df(rabbitmq_data, k8s_client)
Retrieves RabbitMQ port connectivity data for all nodes and flattens it into a DataFrame.
- Return type: