(1) 首先下载软件包(采用二进制包,非编译安装):
Kibana:https://artifacts.elastic.co/downloads/kibana/kibana-7.5.2-linux-x86_64.tar.gz
(2) 解压Kibana安装包,解压路径以/data/kibana为例,下同,编辑解压文件中的config/kibana.yml配置文件,添加或调整以下配置:
#Kibana从6.7.0开始,可以通过修改kibana.yml中的配置项i18n.locale: "zh-CN",然后重启Kibana完成汉化
i18n.locale: "zh-CN"
#默认值: 5601 Kibana 由后端服务器提供服务,该配置指定使用的端口号。
server.port: 5601
#默认值: "localhost" 指定后端服务器的主机地址。
server.host: "192.168.193.154"
#默认值: "/app/kibana" Kibana 的默认路径,该配置项可改变 Kibana 的登录页面。
#server.defaultRoute: "/app/kibana"
#默认值: "您的主机名" Kibana 实例对外展示的名称。
server.name: "HDPROkibana01"
#所连接的elasticsearch集群地址
elasticsearch.hosts: ["http://192.168.193.154:9200","http://192.168.193.155:9200","http://192.168.193.156:9200"]
#默认值: true 该设置项的值为 true 时,Kibana 使用 server.host 设定的主机名,该设置项的值为 false 时,Kibana 使用主机的主机名来连接 Kibana 实例。
elasticsearch.preserveHost: true
#默认值: ".kibana" Kibana 使用 Elasticsearch 中的索引来存储保存的检索,可视化控件以及仪表板。如果没有索引,Kibana 会创建一个新的索引。
kibana.index: ".kibana"
#指定 Kibana 的进程 ID 文件的路径。
pid.file: /data/kibana/kibana.pid
#默认值: stdout 指定 Kibana 日志输出的文件。
logging.dest: /data/ELK/kibana_data/logs/kibana.log
#默认值: false 该值设为 true 时,禁止所有日志输出。
logging.silent: false
#默认值: false 该值设为 true 时,记下所有事件包括系统使用信息和所有请求的日志。
logging.verbose: true
#默认值: false 该值设为 true 时,禁止除错误信息除外的所有日志输出。
logging.quiet: false
#开启xpack监控
xpack.monitoring.enabled: true
#使用密文的方式连接elasticsearch,详见下一步骤的介绍
xpack.reporting.encryptionKey: "a_random_string"
xpack.security.encryptionKey: "something_at_least_32_characters"
(3) 切换到elk用户,新建存储kibana密码的keystore文件,以存储配置文件kibana.yml里用于连接elasticsearch的账号密码elasticsearch.username和elasticsearch.password
su - elk
/data/kibana/kibana-keystore create
#输入连接elasticsearch所用的账号elastic
/data/kibana/kibana-keystore add elasticsearch.username
#输入连接elasticsearch所用的账号elastic的密码,和安装elasticsearch时已设置的密码保持一致
/data/kibana/kibana-keystore add elasticsearch.password
(4) 设置开机启动,这里采用添加系统systemd服务的方式,由于kibana没有自带启停脚本,首先需要编写一个启停脚本service.sh,放置到kibana的bin目录下,内容如下:
#!/bin/sh
#chkconfig: 2345 80 05
#description: kibana
#export JAVA_HOME=/usr/local/lib/jdk1.8.0_111
#export JAVA_BIN=/usr/local/lib/jdk1.8.0_111/bin
#export PATH=$PATH:$JAVA_HOME/bin
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#export JAVA_HOME JAVA_BIN PATH CLASSPATH
Kibana=/data/kibana
PID=""
if [ "$1" = "" ];
then
echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
exit 1
fi
function query()
{
PID=`ps aux |grep elk|grep kibana|grep -v $0 | grep -v grep | awk '{print $2}'`
}
function start()
{
query
if [ x"$PID" != x"" ]; then
echo "kibana is running..."
else
#su elk<<!
nohup $Kibana/bin/kibana >/data/ELK/kibana_data/logs/start.log 2>&1&
#!
echo "Start kibana success..."
fi
}
function stop()
{
echo "Stop kibana"
query
echo "WO $PID"
if [ x"$PID" != x"" ]; then
kill -TERM $PID
echo "kibana (pid:$PID) exiting..."
while [ x"$PID" != x"" ]
do
sleep 1
query
done
echo "kibana exited."
else
echo "kibana already stopped."
fi
}
function restart()
{
stop
sleep 2
start
}
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
*)
esac
然后给脚本添加可执行权限
chmod u+x service.sh
接着编写systemd服务配置文件vim /usr/lib/systemd/system/kibana.service,内容如下,请根据实际服务部署位置修改对应路径:
[Unit]
Description=kibana.service
After=network.target
[Service]
Type=forking
#使用这个账号操作
User=elk
Group=elk
LimitCORE=infinity
LimitMEMLOCK=infinity
LimitNOFILE=65536
LimitNPROC=65536
ExecStart=/data/ELK/kibana/bin/service.sh start
ExecReload=/data/ELK/kibana/bin/service.sh restart
ExecStop=/data/ELK/kibana/bin/service.sh stop
KillMode=process
Restart=always
[Install]
WantedBy=multi-user.target
保存后使用命令
systemctl enable kibana
激活logstash服务并启用开机启动,之后使用命令
systemctl start kibana
启动服务,观察服务启动日志是否异常。