#!/bin/bash
install_kibana(){
#所有节点
sudo yum install net-tools -y
IP=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|grep "10."`
#配置信息
HOSTNAME=`hostname`
#所有节点主机名
NODE_1=node-1
NODE_2=node-2
NODE_3=node-3
#所有节点IP
NODE_1_IP=10.0.0.21
NODE_2_IP=10.0.0.22
NODE_3_IP=10.0.0.23
#用户/密码
ELK_USER=es
ELK_USER_PASSWORD=123
cd /etc
cat >> sysctl.conf <<EOF
vm.max_map_count=262144
EOF
sysctl -p
cd /usr/lib/sysctl.d/
cat >> 00-system.conf <<EOF
net.ipv4.ip_forward=1
EOF
systemctl restart network
ulimit -n
cd /etc/security/
cat >> limits.conf <<EOF
* soft nofile 65535
* hard nofile 65535
* hard nproc 4096
* soft nproc 4096
EOF
#ELK用户
if id -u ${ELK_USER} >/dev/null 2>&1; then
echo "user exists"
else
echo "user does not exist"
useradd ${ELK_USER}
echo "${ELK_USER_PASSWORD}" | passwd --stdin ${ELK_USER}
fi
#统一目录
if [ ! -d "/data/software" ]; then
mkdir -p /data/software/
fi
if [ ! -d "/data/modules/mysql/" ]; then
mkdir -p /data/modules/
fi
cd /data/software/
file="kibana-7.17.0-linux-x86_64.tar.gz"
if [ ! -f $file ]; then
yum install -y wget && wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.0-linux-x86_64.tar.gz
#exit 0
fi
#解压elasticsearch安装包
cd /data/software
tar -zxvf kibana-7.17.0-linux-x86_64.tar.gz -C /data/modules/
cd /data/modules
mv kibana-7.17.0-linux-x86_64 kibana
cd /data/modules/kibana/config
cat > kibana.yml << EOF
# Kibana 默认监听端口5601,如果需要改变就修改这个配置
server.port: 5601
# Kibana 部署服务器IP,如果是单网卡配置0.0.0.0即可,如果是多网卡需要配置IP
server.host: ${IP}
#访问地址
server.publicBaseUrl: "http://${IP}:5601"
# 配置服务器的名称
server.name: my-kibana
#访问
# 配置ES的集群节点地址
elasticsearch.hosts: ["http://${NODE_1_IP}:9200","http://${NODE_2_IP}:9200","http://${NODE_3_IP}:9200"]
# 创建一个kibana索引
kibana.index: ".kibana"
#设置中文
i18n.locale: "zh-CN"
EOF
#授权
chmod u+x /data/modules/kibana/bin
chown -R es:es /data/modules/kibana
#开启端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent;
firewall-cmd --zone=public --add-port=9200/tcp --permanent;
firewall-cmd --zone=public --add-port=9300/tcp --permanent;
firewall-cmd --zone=public --add-service=http --permanent;
firewall-cmd --zone=public --add-service=https --permanent;
firewall-cmd --reload;
firewall-cmd --list-all;
#启动项
cd /usr/lib/systemd/system/
touch kibana.service
chmod 644 kibana.service
cat > kibana.service << "EOF"
[Unit]
Description=kibana
After=network.target
[Service]
Type=simple
User=es
ExecStart=/data/modules/kibana/bin/kibana
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
systemctl enable kibana.service
systemctl start kibana.service
systemctl status kibana.service
# 切换用户
# cd /data/modules/kibana
# su es
# ./bin/kibana
}
install_kibana