ELK 7.17.9 集群部署实施记录

复制代码
================================================================
        ELK 7.17.9 集群部署实施记录
        (运维落地档案)
================================================================
归档时间:2026-09-23
集群架构:Elasticsearch 7.17.9 + Kibana 7.17.9(3 主 3 从)
数据采集:Metricbeat 7.17.9(6 节点全量主机监控)
安全配置:账号密码认证(xpack.security)+ 节点间 SSL 加密

================================================================
一、集群节点清单(最终状态)
================================================================
  节点          IP            角色                    部署组件
  --------------------------------------------------------------------
  es-master-1   10.10.10.25   候选主节点              Elasticsearch
  es-master-2   10.10.10.26   候选主节点              Elasticsearch
  es-master-3   10.10.10.27   候选主节点              Elasticsearch
  es-data-1     10.10.10.28   数据节点                Elasticsearch
  es-stack-1    10.10.10.29   数据节点 + Kibana       Elasticsearch + Kibana
  es-data-2     10.10.10.30   数据节点(后扩容)      Elasticsearch

  部署目录:/usr/local/elk
  Kibana 访问:http://10.10.10.29:5601
  全部 6 节点均安装 Metricbeat 7.17.9,es-stack-1 额外上报 Kibana 自身状态。

================================================================
二、部署时间线
================================================================
  阶段                         时间          说明
  --------------------------------------------------------------------
  3 主 2 从方案制定             2026-01-10   生成《3主2从部署指导书》及配置文件备份
  集群安全密码生成              2026-01-10   elasticsearch-setup-passwords auto
  Elasticsearch/Kibana 落地    2026-01-10   5 节点(3 主 2 从)集群上线
  扩容为 3 主 3 从              2026-09-22   新增 es-data-2(10.10.10.30)数据节点
  Metricbeat 主机监控接入       2026-09-22   6 节点安装 Metricbeat 7.17.9
  Kibana 看板修复               2026-09-22   解决看板空白问题(见第七节)
  归档本记录                    2026-09-23

  说明:方案同时存在 3 主 2 从与 3 主 3 从两版指导书,最终以扩容后的
        3 主 3 从为生产落地架构。

================================================================
三、关键配置决策
================================================================
  1. 集群名称:elk-cluster(全节点一致)
  2. 主节点(node.master=true, node.data=false):3 个,保障元数据高可用
  3. 数据节点(node.master=false, node.data=true):3 个,含 Kibana 所在节点
  4. 防脑裂:discovery.zen.minimum_master_nodes: 2
  5. 节点发现:discovery.seed_hosts 列举全部节点主机名
  6. 安全:xpack.security.enabled=true,节点间传输层 SSL(elastic-certificates.p12)
  7. 浏览器访问走 HTTP(xpack.security.http.ssl.enabled=false)
  8. 中文界面:Kibana i18n.locale=zh-CN
  9. 证书同步:es-master-1 生成后 scp 到全部节点,chown elk:elk + chmod 600

================================================================
四、密码与账号管理
================================================================
  通过 ./elasticsearch-setup-passwords auto 生成内置用户密码,核心账号:
  - elastic(超级管理员):集群管理、Kibana 登录
  - kibana_system:Kibana 连接 ES 专用
  生成的 7 个内置用户密码已备份于《ELK7.17部署指南\密码备份.txt》,
  本文档不保存明文,运维请以该源文件为准。

================================================================
五、系统级优化(ES 运行前置)
================================================================
  1. hosts 映射:6 节点 IP↔主机名
  2. 关闭防火墙与 SELinux
  3. 内核参数:vm.max_map_count=262144、fs.file-max=655350
  4. 资源限制:nofile 65535、nproc 4096、memlock unlimited
  5. swapoff -a(并注释 /etc/fstab 中 swap 项,提升稳定性)
  6. 专用 elk 用户,禁止 root 启动 ES

================================================================
六、Metricbeat 主机监控落地
================================================================
  目标:让 6 个集群节点的主机与 ES 服务指标进入集群,Kibana 可视化。
  组件:metricbeat-7.17.9-x86_64.rpm(版本与 ES 严格一致)
  模块启用:
    - system 模块:采集 CPU/内存/磁盘/网络/进程(看"机器")
    - elasticsearch 模块:采集 JVM/分片/索引/节点状态(看"ES 服务")
    - elasticsearch-xpack 模块:采集 .monitoring-*(供 Stack Monitoring 全景)
  数据落点:
    - metricbeat-* 索引:供 Dashboard 官方看板
    - .monitoring-* 索引:供 Stack Monitoring
  启动方式:systemctl enable --now metricbeat(开机自启)

================================================================
七、问题与处置记录
================================================================
  问题 1:Kibana Dashboard 看板空白"什么都没有"
  现象:打开 [Metrics System] 等看板,图表区域空白无曲线。
  根因:这些是 Elastic Agent 新版集成自带看板,默认查 metrics-*/logs-*
        索引;本项目用 Metricbeat 老式采集,数据实际写入 metricbeat-*,
        索引与数据视图对不上,且缺少 metricbeat-* 数据视图与官方看板。
  处置:
    1. 用 elastic 超管账号导入官方看板资产(remote_monitoring_user
       权限不足会 403):
         metricbeat setup --dashboards \
           -E output.elasticsearch.username='elastic' \
           -E output.elasticsearch.password='<elastic密码>' \
           -E setup.kibana.host='http://10.10.10.29:5601'
    2. Dashboard 搜索 Metricbeat System / Metricbeat Elasticsearch,
       时间范围拉到 Last 7 days。
  结果:数据视图出现 metricbeat-*,看板正常出图。实测近 30 分钟
        system 数据 6 节点约 2 万条、elasticsearch 数据约 2730 条。

  经验:
    1. 看板空白先核对"索引 vs 数据视图"是否匹配
    2. Metricbeat 官方看板须用 elastic 超管导入
    3. 数据是否写入先用命令行查索引最可靠:
         curl -u elastic:<密码> 'http://localhost:9200/metricbeat-*/_search?q=event.module:system&size=1'

================================================================
八、当前运行状态
================================================================
  集群健康:green(副本已分配,无主分片丢失)
  节点状态:6 节点全部在线
  监控采集:metricbeat 各节点 active(running),开机自启 enabled
  数据量:metricbeat system 数据 6 节点 + 1 台管理机约 2 万条/30 分钟

  后续建议:
  - 定期备份(elasticsearch-dump / 快照)
  - 堆内存设为物理内存 50%(≤32GB)
  - 避免主节点跑复杂查询与批量写入

================================================================
                         记录结束
================================================================
相关推荐
螺蛳粉 螺蛳粉1 天前
ELK7.17生成部署操作手册
#elk·#elasticsearch·#es集群·#linux运维·#日志分析
Britz_Kevin1 年前
从零开始的云计算生活——项目实战
#elk·#mysql·#redis·#zabbix·#ansible·#rsync·#tomcat
Britz_Kevin1 年前
从零开始的云计算生活——第三十三天,关山阻隔,ELK日志分析
elasticsearch·#elk·#logstash·#kibana