前言

上篇文章已经完成了ES集群的安装,并且开启了x-pack权限认证,本片文章继续讲述Kibana的安装与使用。

本次安装采用tar.gz压缩包,开箱即用,基于之前的集群环境,安装在hadoop101服务器上。

解压安装并修改配置文件

上传压缩包至 /opt/software 目录,并解压到上一级 module 目录下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cd /opt/software
tar -xvf kibana-7.10.2-linux-x86_64.tar.gz -C ../module/

# 备份解压后 config 目录下的 kibana.yml 配置文件
cd /opt/module/kibana-7.10.2-linux-x86_64/config
cp kibana.yml kibana.yml.bak
# 写空文件内容
> kibana.yml

vim /opt/module/kibana-7.10.2-linux-x86_64/config/kibana.yml
# 添加以下内容
server.port: 5601
server.host: "192.168.33.101"
elasticsearch.hosts: ["http://192.168.33.100:9200"]
kibana.index: .kibana-7.10.2
# kibana界面访问时的根路径
server.basePath: /kibana
i18n.locale: zh-CN
server.rewriteBasePath: true
xpack.security.enabled: true
elasticsearch.username: kibana_system
elasticsearch.password: 你自己之前设置的密码

添加启停脚本

由于kibana服务运行过程中输入的日志文件没有回滚策略,长时间运行后日志文件内容过大,发生异常时不易排查问题,所以此处通过自定义脚本实现kibana的日常启停操作,并实现日志自动按天回滚。

kibana的bin目录下新建 kibana-server.sh 脚本并添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash

cd $(cd "$(dirname "$0")"; pwd)/../
SERVER_HOME=$PWD
LOG_HOME=$SERVER_HOME/logs
BIN_HOME=$SERVER_HOME/bin

START_SHELL=$BIN_HOME/kibana
PIDFILE=$BIN_HOME/server.pid
CONSOLE=$LOG_HOME/kibana-console_`date '+%Y-%m-%d'`.log
test -d $LOG_HOME || mkdir -p $LOG_HOME
test -f $PIDFILE || touch $PIDFILE

start(){
echo "staring ..."
nohup $START_SHELL >$CONSOLE 2>&1 &
echo $! > $PIDFILE
}

stop(){
if [ -f "$PIDFILE" ] ; then
echo "kibana stoping.."
kill `cat $PIDFILE`
sleep 1
rm -rf $PIDFILE
echo "stop kibana success"
else
echo "kibana is not running"
exit 0;
fi;
}

status(){
if [ -f "$PIDFILE" ] ; then
pid=`cat $PIDFILE`
if [[ pid -gt 0 ]]; then
echo "[$(date '+%Y-%m-%d %T')] kibana is running.( pid:$pid )"
else
echo "[$(date '+%Y-%m-%d %T')] kibana is not running"
fi
else
echo "kibana is not running"
fi
}

restart(){
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo "Usage: bash ./kibanaServer.sh {start|status|stop|restart}"
exit 1
;;
esac
exit 0

授予上述脚本以执行权限,系统添加 kibana 用户,授权刚刚安装的kibana服务目录为 kibana 所属用户及组:

1
2
3
4
5
6
7
8
9
10
# 授权脚本执行权限
cd /opt/module/kibana-7.10.2-linux-x86_64/bin
chmod u+x kibana-server.sh

# 添加kibana用户及组
groupadd kibana
useradd kibana -g kibana

# 更改kibana安装目录的所属用户及组为 kibana:kibana
chown -R kibana:kibana /opt/module/kibana-7.10.2-linux-x86_64

启动Kibana服务

至此,kibana安装及配置文件已经基本配置完成,接下来就是启动了,由于自定义脚本中日志目录是默认存放在kibana安装根目录下的logs目录,但kibana解压后并没有logs目录,所以在启动前需要手动创建logs目录:

1
2
3
4
5
6
su kibana
mkdir /opt/module/kibana-7.10.2-linux-x86_64/logs

# 启动
cd /opt/module/kibana-7.10.2-linux-x86_64/bin
./kibana-server.sh start

启动完成后,浏览器访问 http://192.168.33.101:5601/kibana,使用之前配置的 elastic 用户及密码登录:
image.png

登陆成功后出现如图所示界面,此处可点击“自己浏览”进入下一界面。
image.png

图示地方可添加ES集群堆栈监控数据,但由于之前安装的ES还没有开启 monitor 监控数据的搜集,所以接下来先修改ES配置文件然后再进行设置。
image.png

添加ES集群堆栈监控搜集

停止ES集群修改master、hot节点配置文件并添加以下配置内容:

1
xpack.monitoring.collection.enabled: true

再次登录Kibana界面,点击“检测堆栈”,此便可以看到ES集群以及Kibana服务的运行状况:
image.png
image.png
image.png