故障排除

我的区域已损坏

当区域不再接收更新时,该区域被认为已损坏。如果 Designate 检测到错误条件,其状态可能为“ERROR”,或者它可能长时间停留在“PENDING”状态。

查看 API、Central、Producer、Worker 和 MiniDNS 的日志。确定最后一个成功更改的事务 ID 和第一个失败的更改的事务 ID。使用 ID,您可以过滤与同一事务相关的 Designate 组件的日志。在第一次失败的更新之前和之后查找 ERROR 级别的日志消息。

区域更新失败通常与 Producer、Worker、MiniDNS 或数据库中的问题有关。

确保服务正在运行且网络连接没有受到损害。

瞬态网络问题可能是区域损坏的原因。Producer 和 Worker 是有状态的服务,并且会随着时间的推移尝试恢复失败的区域。重新启动服务将触发新的尝试。

我的池已损坏

我删除了一个区域,但它仍然在数据库中

删除的区域被标记为“status”设置为“DELETED”,并且“task”设置为“NONE”,一旦删除过程成功终止。

应该打开哪些端口?

端口号是可配置的:请查看您的 designate.conf

默认值是

组件(可选的表头行)

协议

端口号

API

TCP

9001

Keystone(外部)

TCP

35357

MiniDNS

TCP

5354

UDP

5354

MySQL

TCP

3306

RabbitMQ

TCP

5672

Resolvers

TCP

53

UDP

53

ZooKeeper

TCP

2181

TCP

2888,3888

使用什么网络协议?

API 使用 HTTP[S],大多数组件使用 RabbitMQ 和 MySQL 协议,DNS(解析和 XFR),ZooKeeper,Memcached。

哪些需要访问数据库?

Central, MiniDNS

哪些需要访问 RabbitMQ?

API、Central、Producer、Worker、MiniDNS

哪些需要访问 ZooKeeper?

Pool 和 Producer

哪些需要访问 Memcached?

API 和 Worker

如何监控 Designate?

Designate 可以通过各种 此处列出的 监控系统进行监控

有哪些有用的监控指标?

  • 常规主机监控,例如 CPU 负载、内存使用情况、磁盘和网络 I/O

  • MySQL 性能、错误和可用磁盘空间

  • 处于 ACTIVE、PENDING 和 ERROR 状态的区域数量

  • API 每秒查询次数,按“read”和“write”操作(针对区域、记录等)细分

  • 区域更改传播时间,即记录更新到达解析器需要多长时间

  • 包含“ERROR”级别的日志消息

  • 配额使用情况,即现有记录/区域数量与允许的最大数量

  • Memcached、RabbitMQ、ZooKeeper 性能和错误

在发生事件期间,有哪些有用的指标需要首先查看?

  • 主机、网络和 MySQL 性能指标

  • 处于 ACTIVE、PENDING 和 ERROR 状态的区域数量

  • 包含“ERROR”级别的日志消息