中间件运维规范(初稿)
本文记录中间件RabbitMQ
, Kafka
, Elasticsearch
系统的集群部署,需求方必备信息,日常巡检等应该check的重要节点。
中间件运维规范(初稿)
os-level:
其他内核优化同操作系统内核基线
1 |
|
RabbitMQ
一、集群部署
- 配置MNESIA_BASE, LOG_BASE
- 启动management, federation插件
- 配置logrotate
- 修改默认控制登录密码
- 配置netdata监控, 并验证
- 创建测试exchange\queue验证可用性
- 创建元数据: vhost\exchange\queue\user\policy
- 配置镜像队列
二、需求方提供信息
- 集群信息
- exchange 名字
- exchange 类型
- queue 名字
- queue 是否持久化
- routing_key
三、日常巡检
- 内存、磁盘(全局流控)
- rabbitmq进程fd、mmap占用量
- 消息积压情况
- 是否信用卡流控
- connections/channel连接数量
Kafka
一、集群部署
- log.retention.hours 建议72甚至更小
- num.replica.fetchers flowwers数据同步线程数, 建议cpu core数
- num.recovery.threads.per.data.dir 数据恢复线程数, 建议cpu core数
二、需求方提供信息
- topic名字, 建议name: test-for-native 中划线分割,避免下划线/点
- 分区、副本数量, 建议分区为broker的倍数,副本数为3broker/2,5broker/3
- 预估7/3天topic数据量(消息落盘后占用磁盘空间大小), 若topic数据量较大, 且重要级别较高建议副本为broker数
- 消费积压监控功能netdata已在开发中…
三、日常巡检
- 分区是否均衡、leader是否是优先副本
- kafka配置data.dirs磁盘容量情况
- kafka进程fd、mmap占用量
ES
一、集群部署
- cluster-name
- node.name
- network.host
- jvm.options配置堆内存
- discovery.zen.minimum_master_nodes: (N/2)+1 防脑裂
二、需求方提供信息
- 索引名
- 索引主分片、复制分片数量
- 索引mapping
- 索引管理策略(index分割策略、删除index策略等)
- 预估索引占用磁盘空间大小
- 是否需要其他es插件,并提供配置
三、日常巡检
- 集群状态, 强制green
- path.data配置占用磁盘容量情况
- path.logs配置占用磁盘容量情况(考虑logrotate/log4j日志轮转)
配置示例
rabbitmq:
1 |
|
kafka:
1 |
|
中间件运维规范(初稿)
https://www.boer.xyz/2019/06/13/middleware-devops-guide/