跳至主内容
版本:4.2

故障排除指南

概述

本指南概述了与 RabbitMQ 安装和基于消息的系统故障排除相关的几个主题

节点内存使用情况、指标和监控、TLS 等。

监控、指标、健康检查

故障排除生产系统的一个非常重要的方面是监控和健康检查。它们收集可供检查和分析的数据,有助于识别和检测异常。

日志记录

日志是故障排除的另一个重要信息来源。关于日志记录的单独指南解释了在哪里可以找到日志文件、如何调整日志级别、存在哪些日志类别、可以使用日志文件检测到的连接生命周期事件等。

节点配置

配置指南包含有关查找配置文件的部分。

可以使用 rabbitmqctl environment 以及一些rabbitmq-diagnostics 命令来检查有效的节点配置。

CLI 工具连接和身份验证

CLI 工具指南解释了 CLI 工具如何向节点进行身份验证、Erlang cookie 文件是什么以及 CLI 工具无法在服务器节点上执行操作的最常见原因。

集群形成

集群形成指南包含一个故障排除部分

内存使用分析

关于内存使用》是关于该主题的专门指南。

网络和连接

故障排除网络》是关于网络和连接主题的专门指南。

身份验证和授权

访问控制指南》包含有关故障排除客户端身份验证故障排除授权的部分。

运行时崩溃转储文件

当 Erlang 运行时系统异常退出时,会在 RabbitMQ 启动的目录中写入一个名为 erl_crash.dump 的文件。该文件包含异常退出时运行时的状态。终止原因将在前几行中找到,以 Slogan 开头,例如:

head -n 3 ./erl_crash.dump
# => =erl_crash_dump:0.5
# => Sun Aug 25 00:57:34 2019
# => Slogan: Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{{timeout_waiting_for_tables,[rabbit_user,rabbit_user_permission,rabbit_topic_permission,rabbit_vhost,rabbit_durable_r

在这个特定的示例中,口号(未捕获的异常消息)表明,已启动的节点在从对等节点同步模式元数据时超时,可能是因为它们未在配置的时间窗口内上线。

为了更好地理解崩溃转储文件中 Erlang 运行时的状态,可视化它很有帮助。崩溃转储查看器工具 cdv 是 Erlang 安装的一部分。cdv 二进制文件的路径取决于 Erlang 版本和安装位置。

这是一个如何调用它的示例

/usr/local/lib/erlang/lib/observer-2.9.1/priv/bin/cdv ./erl_crash.dump

上述命令的成功执行将打开一个新的应用程序窗口,类似于这样

Erlang Crash Dump Viewer

要使上述命令正常工作,系统必须具有图形用户界面,并且 Erlang 必须已编译支持 observer 和 Wx。

连接

连接指南》解释了如何识别应用程序连接泄漏以及其他相关主题。

通道

通道指南》解释了通道级异常的含义,如何识别应用程序通道泄漏以及其他相关主题。

TLS

故障排除 TLS》是关于 TLS 主题的专门指南。

LDAP

LDAP 指南》解释了如何启用 LDAP 决策和查询日志记录。

OAuth 2.0

OAuth 2.0》是关于 OAuth 2.0 主题的专门指南。

捕获流量

捕获流量可以提供大量信息,有助于在故障排除网络连接、应用程序行为、连接泄漏、通道泄漏等方面发挥作用。tcpdump 和 Wireshark 是用于捕获和分析网络流量的行业标准开源工具。

© . This site is unofficial and not affiliated with VMware.