部署日志存储组件
日志存储组件负责存储由日志采集组件从平台中的 1 个或多个集群上采集的日志、事件、审计数据,并基于 Kafka 提供消息分发服务。
提示:
-
日志存储组件部署成功后,部署组件的集群可被用作平台中其他集群的存储集群(部署日志采集组件时可选),为自身及平台中其他集群提供日志存储服务。
-
global 集群能够查询存储在平台中任一业务集群上的日志数据。
前提条件
如需对接外部的 Elasticsearch 集群或 Kafka 集群,请提前准备好相应的集群及其访问方式、节点等信息。
推荐配置
以下是日志存储组件的软硬件推荐配置,部署组件前请您参考硬件配置准备部署组件的节点;组件部署成功后,您可参考软件配置修改各组件的配置。
-
硬件配置
提示:以下数据仅为实验室条件下测试得出的标准数据,仅供参考。
推荐配置 单节点 小规模 大规模 备注 日志节点数 1 3 5 7 - 控制节点:3-5
- 数据节点:>=3
建议为奇数。 kafka 节点数 1 3 3 3 3 或 5 建议为奇数。 单个日志节点资源请求值 200m,256mi 200m,256mi 200m,256mi 200m,256mi - 控制节点:200m,256mi
- 数据节点:1 核,2 Gi
单个日志节点资源限制值 1 核,2Gi 2 核 4Gi 2 核 4Gi 2 核 4Gi - 控制节点:2 核,4Gi
- 数据节点:8 核,16Gi
单个 kafka 节点资源请求值 200m,256mi 200m,256mi 200m,256mi 200m,256mi 200m,256mi 单个 kafka 节点资源限制值 2 核,2Gi 2 核,4Gi 2 核,4Gi 2 核,4Gi 2 核,4Gi 吞吐量 <=1400 条/秒 <=5000 条/秒 <=10000 条/秒 <=12000 条/秒 >=12000 条/秒 日志总量 <=10 GB <=100 GB <=160 GB <=280 GB >=300 GB -
软件配置
推荐配置 <=1400 条/秒 <=12000 条/秒 >=12000 条/秒 修改方法 Elasticsearch 组件的内存限制值( limits.memory
)
删除limits.cpu
8G 8G 8G 修改当前集群下名称为 cpaas-elasticsearch 的 Deployment 中相应的值。 Elasticsearch 的索引文件的副本数( number_of_replicas
)默认值 默认值 1 修改当前集群下名称为 aiops-logging-config 的 ConfigMap 配置项 log.json、event.json、audit.json
中相应的值。
提示:log.json、event.json、audit.json
为配置项的 键 的默认值。Elasticsearch 分片数( number_of_shards
)默认值 5 11 同上 Kafka 组件的内存限制值( limits.memory
)
删除limits.cpu
8G 8G 8G 修改当前集群下名称为 cpaas-kafka 的 Deployment 中相应的值。 apollo 组件的 --es-enablealias
参数值false false false 修改 global 集群下名称为 apollo 的 Deployment 中相应的值。 nevermore 组件的限制值( limits.cpu
/limits.memory
)默认值 4C/4G 4C/4G 前提:已在当前集群部署日志采集组件。
修改当前集群下名称为 nevermore 的 DaemonSet 中相应的值。lanaya 组件的副本数( replicas
)默认值 默认值 5 修改当前集群下名称为 lanaya 的 Deployment 中相应的值。 lanaya 组件的内存限制值( limits.memory
)
删除limits.cpu
默认值 默认值 8G 同上
平台部署 Elasticsearch
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击待部署日志存储组件的 集群名称。
-
在 插件 页签下,单击 日志存储组件 右侧的
> 部署。
-
参考以下说明,配置相关参数。
参数 说明 对接外部 Elasticsearch 保持关闭,在平台中部署日志存储插件。 组件部署设置 您需根据 推荐配置 确定日志部署的规模并填写部署相关参数。 - 存储类型:
- LocalVolume:本地存储,日志数据将存放于所选节点的本地存储路径中。使用该方式的优势在于日志组件和本地存储直接绑定,无需通过网络访问存储,可以提供更好的存储性能。
- StorageClass:使用存储类动态创建存储资源以存储日志数据。使用该方式的优势在于具有更高的灵活性,当整个集群定义多个存储类时,管理员可以为日志组件根据使用场景选择对应的存储类,减少主机异常状态对存储的影响。但 StorageClass 的性能可能会受到网络带宽和延迟等因素的影响,并且需要依赖存储后端提供的冗余机制来实现存储的高可用性。
提示:若开启 Kibana 部署,则您可以通过<平台访问地址>/clusters/<集群名称>/kibana
访问 Elasticsearch 数据可视化界面 Kibana 面板,其中登录面板的账号密码获取方式如下:
- Username:登录部署 Kibana 集群的控制节点执行命令kubectl get secret -n cpaas-system elasticsearch-basic-auth -o jsonpath='{.data.username}'|base64 -d
获取用户名。
- Password:登录部署 Kibana 集群的控制节点执行命令kubectl get secret -n cpaas-system elasticsearch-basic-auth -o jsonpath='{.data.password}' | base64 -d
获取密码。保留时间 各类日志、事件、审计数据可在集群上保留的最长时间,超出保留时间的数据会被自动清理。
提示:您可自行备份需长期保留的数据,如需帮助,请联系技术支持人员。 - 存储类型:
-
单击 部署。
对接外部 Elasticsearch 集群
您可通过编写 YAML 的方式,对接外部的 Elasticsearch 集群或 Kafka 集群。您可以根据实际业务需要,仅对接外部的 Elasticsearch 集群(在当前集群部署 Kafka)或同时对接外部的 Elasticsearch 集群及 Kafka 集群。
提示:对接外部 Elasticsearch 支持的版本如下:
-
Elasticsearch 6.x 支持 6.6 - 6.8;
-
Elasticsearch 7.x 支持 7.0 - 7.10.2,推荐使用 7.10.2。
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击待部署日志存储组件的 集群名称。
-
在 插件 页签下,单击 日志存储组件 右侧的
> 部署。
-
开启 对接外部 Elasticsearch 开关,配置 YAML 文件,对接示例及参数说明如下:
-
对接外部的 Elasticsearch 集群,并在当前集群上部署 Kafka:
elasticsearch: install: false address: http://fake:9200 # 外部 es 访问地址,例如:http://192.168.143.252:11780/es_proxy username: YWRtaW4= # 外部 es 的用户名,经过 base64 加密 password: c3NaTVpwc0QtdE9FWGt+bA== # 外部 es 对应用户名的密码,经过 base64 加密 storageClassConfig: type: "LocalVolume" # 默认LocalVolume,分为”LocalVolume“、”StorageClass“ kafka: auth: true # 是否开启认证 k8sNodes: - log1 # 节点名称,kubectl get nodes 获取的名称 - log2 - log3 storageSize: 10 # 存储大小,单位 Gi,默认 10 Gi
-
对接外部的 Elasticsearch 集群及外部的 Kafka 集群:
elasticsearch: install: false address: http://fake:9200 # 外部 es 访问地址,例如: http://192.168.143.252:11780/es_proxy username: YWRtaW4= # 外部 es 的用户名,经过 base64 加密 password: c3NaTVpwc0QtdE9FWGt+bA== # 外部 es 对应用户名的密码,经过 base64 加密 kafka: auth: true # 是否开启认证 install: false username: YWRtaW4= # 外部 kafka 的用户名,经过 base64 加密 password: c3NaTVpwc0QtdE9FWGt+bA== # 外部 kafka 对应用户名的密码,经过 base64 加密 address: 192.168.130.169:9092,192.168.130.187:9092,192.168.130.193:9092 # kafka 访问地址,英文逗号分割