Kibana 8.14.3 完整部署方案

jupiter
2026-06-03 / 0 评论 / 0 阅读 / 正在检测是否收录...

一、整体规划

项目
运行用户app
Kibana 安装路径/data/app/kibana-server
Kibana 配置目录/data/app/kibana-server/config
Kibana 日志目录/data/app/kibana-logs
监听端口5601
访问协议HTTP(可后续配置 HTTPS)
对接 ES 地址https://192.168.101.44:9200(使用你之前服务器的 IP)

二、完整部署步骤

2.1 下载并解压 Kibana(使用国内镜像)

# 切换到 app 用户
sudo -i -u app

# 进入安装目录
cd /data/app

# 使用华为云镜像下载 Kibana 8.14.3
wget https://mirrors.huaweicloud.com/kibana/8.14.3/kibana-8.14.3-linux-x86_64.tar.gz

# 解压
tar xzvf kibana-8.14.3-linux-x86_64.tar.gz

# 重命名目录
mv kibana-8.14.3 kibana-server

# 清理安装包
rm -f kibana-8.14.3-linux-x86_64.tar.gz

# 创建日志目录
mkdir -p /data/app/kibana-logs

2.2 配置 Kibana

# 备份原始配置
cp /data/app/kibana-server/config/kibana.yml /data/app/kibana-server/config/kibana.yml.bak

# 编辑配置文件
vi /data/app/kibana-server/config/kibana.yml

写入以下完整配置(根据你的实际环境修改 ES 地址和密码):

# ======================== 服务器配置 ========================
server.host: "0.0.0.0"
server.port: 5601

# ======================== Elasticsearch 连接配置 ========================
elasticsearch.hosts: ["http://192.168.101.44:9200"]
elasticsearch.username: "kibana"
elasticsearch.password: "YourKibanaPassword123!"
elasticsearch.ssl.verificationMode: none

# ======================== 新版日志配置(替代 logging.dest) ========================
logging:
  appenders:
    file:
      type: file
      fileName: /data/app/kibana-logs/kibana.log
      layout:
        type: json
  root:
    appenders: [file]
    level: info

# ======================== 其他配置 ========================
i18n.locale: "zh-CN"

2.3 设置目录权限

# 退出 app 用户
exit

# 确保所有目录属主为 app
sudo chown -R app:app /data/app/kibana-server
sudo chown -R app:app /data/app/kibana-logs

2.4 配置系统参数(可选,提高并发)

# 增加文件描述符限制(与 ES 保持一致)
echo "app soft nofile 65535" | sudo tee -a /etc/security/limits.conf
echo "app hard nofile 65535" | sudo tee -a /etc/security/limits.conf

三、创建 Systemd 服务文件

sudo vi /etc/systemd/system/kibana.service

写入以下内容:

[Unit]
Description=Kibana Server
Documentation=https://www.elastic.co
After=network.target elasticsearch.service
Wants=elasticsearch.service

[Service]
Type=simple
User=app
Group=app
WorkingDirectory=/data/app/kibana-server
Environment=NODE_OPTIONS="--max-old-space-size=512"
ExecStart=/data/app/kibana-server/bin/kibana
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
LimitNPROC=4096
TimeoutStopSec=20

[Install]
WantedBy=multi-user.target

四、启动并管理 Kibana

4.1 启动服务

# 重载 systemd 配置
sudo systemctl daemon-reload

# 启动 Kibana
sudo systemctl start kibana

# 设置开机自启
sudo systemctl enable kibana

# 查看服务状态
sudo systemctl status kibana

4.2 查看日志(排查问题)

# 查看 systemd 日志
sudo journalctl -u kibana -f

# 查看 Kibana 自身日志
sudo tail -f /data/app/kibana-logs/kibana.log

4.3 常用管理命令

# 启动
sudo systemctl start kibana

# 停止
sudo systemctl stop kibana

# 重启
sudo systemctl restart kibana

# 查看状态
sudo systemctl status kibana

# 查看实时日志
sudo journalctl -u kibana -f

# 禁用开机自启
sudo systemctl disable kibana

五、防火墙配置

# 开放 Kibana 端口 5601
sudo firewall-cmd --permanent --add-port=5601/tcp
sudo firewall-cmd --reload

六、验证 Kibana 部署

6.1 本地测试

# 访问 Kibana 首页
curl http://localhost:5601

# 应该返回 HTML 内容(包含 "Kibana" 字样)

6.2 浏览器访问

打开浏览器,访问 http://<你的服务器IP>:5601

  • 如果连接正常,会看到 Kibana 欢迎页面
  • 首次访问可能需要等待几分钟初始化索引
  • 不需要额外登录(Kibana 本身不设认证,但连接 ES 使用了认证)

6.3 测试与 ES 的数据交互

  1. 进入 Kibana 界面 → 点击左上角菜单 → ManagementDev Tools
  2. 在控制台中执行以下命令(测试 ES 连接):
# 查看集群健康状态
GET /_cluster/health

# 创建测试索引
PUT /test-kibana-index

# 添加文档
POST /test-kibana-index/_doc
{
  "message": "Hello Kibana!",
  "timestamp": "2026-06-03"
}

# 搜索文档
GET /test-kibana-index/_search

七、常见问题排查

问题可能原因解决方案
Kibana 无法启动端口被占用`sudo netstat -tlnpgrep 5601,修改 server.port`
连接 ES 失败ES 地址/认证错误检查 elasticsearch.hosts、用户名、密码
SSL 证书错误ES 使用自签名证书设置 elasticsearch.ssl.verificationMode: none
kibana 用户不存在未在 ES 中创建在 ES 中执行创建 kibana 用户的 API
日志目录权限错误目录属主不是 appsudo chown -R app:app /data/app/kibana-logs
访问 5601 无响应防火墙未开放检查防火墙规则,开放 5601 端口
Kibana 一直显示“Kibana server is not ready yet”ES 未就绪或 Kibana 索引初始化慢等待 2-3 分钟,查看日志 journalctl -u kibana -f
0

评论 (0)

打卡
取消