一、整体规划
| 项目 | 值 |
|---|---|
| 运行用户 | 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-logs2.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-logs2.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 kibana4.2 查看日志(排查问题)
# 查看 systemd 日志
sudo journalctl -u kibana -f
# 查看 Kibana 自身日志
sudo tail -f /data/app/kibana-logs/kibana.log4.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 的数据交互
- 进入 Kibana 界面 → 点击左上角菜单 → Management → Dev Tools
- 在控制台中执行以下命令(测试 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 -tlnp | grep 5601,修改 server.port` |
| 连接 ES 失败 | ES 地址/认证错误 | 检查 elasticsearch.hosts、用户名、密码 | |
| SSL 证书错误 | ES 使用自签名证书 | 设置 elasticsearch.ssl.verificationMode: none | |
kibana 用户不存在 | 未在 ES 中创建 | 在 ES 中执行创建 kibana 用户的 API | |
| 日志目录权限错误 | 目录属主不是 app | sudo 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)