当前位置: 首页 > news >正文

linux服务-Kibana8原理与安装

Kibana 8 原理与安装

参考:官网

Kibana 8 是 Elastic Stack(ELK Stack)的核心组件之一,专注于 Elasticsearch 的数据可视化、交互分析和管理运维,是 Elastic 生态中面向用户的 “可视化前端”。

一、Kibana 8 原理

  • 定位

    Kibana 本身不存储数据,所有数据均来自 Elasticsearch(ES),其核心作用是:

    • 解析 ES 的数据结构(索引、字段、映射);
    • 提供可视化组件(图表、仪表盘、地图等);
    • 支持交互式查询(Discover 模块)、日志分析(Logs)、APM 监控、SIEM 安全分析等场景;
    • 管理 Elastic Stack(ES 集群配置、用户权限、索引生命周期等)。
  • 架构与交互流程

    • Kibana 8 的架构可分为三层,核心交互流程如下:

      用户操作(浏览器/API) → Kibana 前端(React 构建) → Kibana 后端(Node.js 服务) → Elasticsearch API → 数据返回渲染
    • 关键组件:

      • 前端层:基于 React 和 EUI(Elastic UI 组件库),提供可视化界面,支持自定义仪表盘、画布(Canvas)、仪表板等;
      • 后端层:Node.js 服务,处理用户请求、封装 ES API、管理会话 / 权限、执行 Saved Object(保存的可视化 / 查询等);
      • 核心依赖
        • 与 Elasticsearch 强版本对齐(Kibana 8.x 必须匹配 ES 8.x 主版本);
        • 依赖 ES 的索引:.kibana索引(存储 Kibana 配置、可视化、仪表盘等元数据);
        • 8.x 新增:默认启用 Elasticsearch 的安全功能(HTTPS、身份验证、RBAC 权限控制)。
  • 8.x 版本特性

    • 默认开启安全功能:HTTPS、内置用户(elastic/kibana/system 等)、RBAC 权限;
    • 统一身份认证:集成 Elasticsearch 的 Security 模块,支持 SAML/OAuth2 等;
    • 简化部署:支持一键式集群部署(Elastic Cloud)、容器化(Docker/K8s);
    • 性能优化:查询缓存、可视化渲染优化,支持大数据量下的e快速分析;
    • 新增功能:Observability(可观测性)统一视图、SIEM 增强、机器学习集成更紧密。

二、Kibana 8 安装步骤

Kibana 8 支持多种部署方式(Linux 包、Docker、K8s、Windows/macOS),以下以Linux(CentOS 7/8、Ubuntu 20.04+)为例,讲解最常用的 “包管理器安装” 和 “Docker 安装”。

  • 前提条件

    1. 已部署 Elasticsearch 8.x(单节点 / 集群),且 ES 服务正常运行;

    2. Kibana 服务器与 ES 网络互通(默认端口 9200);

    3. 服务器满足基础资源:CPU ≥ 2 核,内存 ≥ 4GB,磁盘 ≥ 20GB;

    4. 关闭防火墙 / 放行端口(Kibana 默认端口 5601):

      # CentOSfirewall-cmd --add-port=5601/tcp --permanent firewall-cmd --reload# Ubuntuufw allow5601/tcp ufw reload
  • 安装方式一: yum安装

    1. 添加Elastic 官方源

      # 添加Elastic 官方源# 导入 GPG 密钥rpm--import https://artifacts.elastic.co/GPG-KEY-elasticsearch# 创建 YUM 源文件(CentOS/RHEL)cat>/etc/yum.repos.d/kibana.repo<<EOF [kibana-8.x] name=Kibana repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF# Ubuntu/Debian 需先安装 apt-transport-https# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg# echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic.list > /dev/null
    2. 安装 Kibana

      # CentOS/RHELyuminstallkibana -y# Ubuntu/Debian# apt update && apt install kibana -y# 设置开机自启systemctlenablekibana
  • 安装方式二: docker 安装

    1. 拉取 Kibana 8 镜像

      docker pull docker.elastic.co/kibana/kibana:8.14.0# 替换为最新 8.x 版本
    2. 启动 Kibana 容器

      docker run -d\--name kibana8\-p5601:5601\-eELASTICSEARCH_HOSTS="https://192.168.1.100:9200"\-eELASTICSEARCH_USERNAME="kibana_system"\-eELASTICSEARCH_PASSWORD="你的kibana_system密码"\-eELASTICSEARCH_SSL_VERIFICATIONMODE="none"\-eI18N_LOCALE="zh-CN"\docker.elastic.co/kibana/kibana:8.14.0
    3. 查看容器日志(确认启动)

      docker logs -f kibana8
  • 安装方式三: 源码包 安装<-- 当前用这种

    1. 下载安装包

    2. 安装

      # 下载后放到 /opt下tarxf kibana-8.18.8-linux-x86_64.tar.gzmvkibana-8.18.8 kibana# 创建无登录权限的kibana用户useradd-r -s /sbin/nologin -d /opt/kibana kibana# 修正/opt/kibana目录所有权(关键)chown-R kibana:kibana /opt/kibanachmod777kibana -R
    3. 获取es初始化密码

      /opt/elasticsearch/bin/elasticsearch-reset-password -u kibana_system -i Enter passwordfor[kibana_system]:# 输入密码Re-enter passwordfor[kibana_system]: Passwordforthe[kibana_system]user successfully reset.
    4. vim /opt/kibana/config/kibana.yml

      server.port:5601# 绑定地址(允许外部访问)server.host:"0.0.0.0"# ES 连接地址(替换为你的ES地址)# elasticsearch.hosts: ["http://192.168.1.100:9200"]# 方式1:列出所有ES集群节点(推荐,Kibana会自动感知集群状态)elasticsearch.hosts:["http://10.4.50.130:9200","http://10.4.50.139:9200","http://10.4.50.167:9200"]# 启用节点嗅探(仅8.x支持,需ES集群开启自动发现)# 启动时嗅探集群节点elasticsearch.sniffOnStart:true# 每隔60秒重新嗅探节点elasticsearch.sniffInterval:60000# 连接失败时重新嗅探elasticsearch.sniffOnConnectionFault:true# ES 认证(kibana_system用户密码,从ES获取)elasticsearch.username:"kibana_system"# 修改密码elasticsearch.password:"xiong123"# 测试环境禁用证书验证(生产需配置证书)elasticsearch.ssl.verificationMode:"none"# 可选:中文界面i18n.locale:"zh-CN"
    5. 自启脚本

      cat>/etc/systemd/system/kibana.service<<EOF [Unit] Description=Kibana 8.18.8 - Elasticsearch Visualization Tool Documentation=https://www.elastic.co/docs/en/kibana/current/ Wants=network-online.target After=network-online.target [Service] Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/kibana/node/glibc-217/bin:/opt/kibana/bin" Environment="NODE_PATH=/opt/kibana/node_modules" # 改用kibana用户运行 User=kibana Group=kibana Type=simple ExecStart=/opt/kibana/bin/kibana --config /opt/kibana/config/kibana.yml ExecReload=/bin/kill -HUP \$MAINPIDRestart=on-failure RestartSec=10s LimitNOFILE=65535 LimitNPROC=4096 WorkingDirectory=/opt/kibana PrivateTmp=false ProtectSystem=false ProtectHome=false [Install] WantedBy=multi-user.target EOF
    6. 启动 Kibana 并检查状态

      # 启动服务systemctl start kibana# 检查状态(正常应为 active (running))systemctl status kibana

三、验证与初始化

  • 访问 Kibana 界面

    浏览器访问http://Kibana服务器IP:5601,首次访问会进入初始化流程:

    • 步骤 1:验证 Elasticsearch 连接(自动检测,若配置正确则通过);
    • 步骤 2:输入 Elasticsearch 的elastic用户密码(初始化时生成的密码);
    • 步骤 3:完成初始化,进入 Kibana 主界面(中文界面需配置i18n.locale: "zh-CN")。
  • 核心功能验证

    • Discover:创建索引模式,查看 ES 中的数据;
    • Visualize:创建图表(柱状图、折线图等);
    • Dashboard:组装可视化组件为仪表盘;
    • Management:管理索引、用户、角色、快照等。
  • 查看kibana状态

    浏览器访问http://Kibana服务器IP:5601/status

  • 总结

    • Kibana 8 作为 Elastic Stack 的可视化核心,通过 Node.js 后端对接 Elasticsearch,提供丰富的数据分析和管理能力。安装的核心是对齐 ES 版本、配置正确的认证信息、确保网络互通,生产环境需重点关注安全配置(HTTPS、权限控制)和性能优化(资源分配、缓存配置)。
http://www.cnnetsun.cn/news/173861.html

相关文章:

  • 【Open-AutoGLM邮件分类实战】:手把手教你构建企业级智能筛选系统
  • Java全栈工程师面试实录:从基础到实战的深度探讨
  • Open-AutoGLM核心原理深度解析:NLP+知识图谱如何重塑周报流程?
  • 【独家披露】某头部科技公司如何用Open-AutoGLM实现周报零人工干预
  • 揭秘Open-AutoGLM自动回邮系统:如何3步实现企业级智能响应?
  • Open-AutoGLM月报统计避坑指南:资深工程师总结的7大常见错误
  • 5步搞定Open-AutoGLM周报集成,让每周汇报不再加班到凌晨
  • Open-AutoGLM现场将发布什么?10位顶尖专家透露的惊人线索
  • 为什么顶尖团队都在用Open-AutoGLM做月报?背后的数据逻辑首次公开
  • Open-AutoGLM工作流监控实战指南(实时可视化监控体系搭建全解析)
  • 别让“小眼镜”挡住清晰世界!儿童近视防控,家长必知的科学指南
  • AI赋能会议管理,Open-AutoGLM预约系统深度解析
  • 打开Simulink工程时总得先泡杯咖啡——电池模型搭建这事儿,手动调参太费劲。不过这次咱们直接用二阶RC等效电路模型开搞,毕竟既要考虑极化效应又要平衡计算量
  • 读懂HikariCP一百行代码,多线程就是个孙子
  • SMP语言基础知识-应用系统,开发的痛点,开发者的痛点
  • 【Open-AutoGLM收益监控终极方案】:5分钟搭建实时收益提醒系统
  • 揭秘Open-AutoGLM体检数据查询机制:5步实现高效精准调用
  • Open-AutoGLM实战指南:7步搭建企业级智能会议纪要系统
  • 还在手动查收益?AutoGLM自动化查询方案让你效率提升10倍,省时又精准
  • 【Java毕设全套源码+文档】基于springboot的大学生家教兼职管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 从数据到决策,Open-AutoGLM如何重构车辆生命周期管理
  • 【Open-AutoGLM体检报告查询全解析】:手把手教你快速获取与解读AI健康报告
  • 社保数据天天查,你还在人工操作?Open-AutoGLM自动化方案已全面上线
  • (稀缺资源)Open-AutoGLM社保机器人部署教程:仅限内部流传的配置参数曝光
  • 2026年职场暗流:HR不会告诉你的CAIE证书真相,零基础如何破局?
  • 【高效出行必备技能】:利用Open-AutoGLM实现智能加油站实时检索
  • 为什么90%的预约系统都失败了?:Open-AutoGLM三大设计原则全公开
  • 【Open-AutoGLM加油站查询实战指南】:手把手教你快速定位全国油站信息
  • Android Qualcomm USB 专题系列【篇一:UsbHost模式配置】
  • 9 个降AI率工具,研究生必备!