本文主要介绍怎么在CentOS7.4的环境下部署ELK,主要为用最简单的方式部署,因此不配置集群。ELK版本为elasticsearch-7.17.23,kibana-7.17.23,logstash-7.17.23。
上传Elasticsearch到服务器,并解压压缩包
tar -zxvf elasticsearch-7.17.23-linux-x86_64.tar.gz
配置JAVA环境变量
vi /etc/profile
添加以下内容到文件中
JAVA_HOME=/elasticsearch-7.17.23/jdk
PATH=$PATH:./:$JAVA_HOME/bin
export PATH JAVA_HOME
添加用户与用户组
[root@localhost /]# groupadd elk
[root@localhost /]# useradd elk -g elk
[root@localhost /]# chown -R elk:elk /elasticsearch-7.17.23
启动elasticsearch
启动elasticserch必须得在新建的elk账号下,不能在root账号运行
[root@localhost elasticsearch-7.17.23]# su elk
[elk@localhost elasticsearch-7.17.23]$ ./bin/elasticsearch
Elasticsearch后台运行(Elasticsearch和Kibana默认运行时会占用整个界面,要返回到bash时会退出运行,用以下会保持后台运行,但不输出日志,要排错会麻烦点)
[elk@localhost root]$ nohup /elasticsearch-7.17.23/bin/elasticsearch &
验证es进程
curl “localhost:9200”
如果报错,修改配置
vi /elasticsearch-7.17.23/config/elasticsearch.yml
添加以下内容
http.cors.enabled: true
http.cors.allow-origin: "*"
允许其他地址访问elk
[root@localhost /]# vi elasticsearch-7.17.23/config/elasticsearch.yml
network.host:192.168.164.130#根据你的实际地址更改
启动elk报错排查
到以上这步启动时还报错的话,添加discovery.seed_hosts: ["192.168.164.130"]到elasticsearch.yml文件下
[root@localhost /]# vi elasticsearch-7.17.23/config/elasticsearch.yml
discovery.seed_hosts: ["192.168.164.130"]
[root@localhost /]# vi /etc/sysctl.conf
vm.max_map_count = 262144
重启服务器
[root@localhost ~]# vi /etc/security/limits.conf
添加
elk hard nofile 65536
elk soft nofile 65536
重启服务器后关闭防火墙
systemctl stop firewalld
或防火墙永久开9200端口
sudo firewall-cmd --permanent --zone=public --add-port=9200/tcp
sudo firewall-cmd --reload
打开security功能
[root@localhost /]# vi elasticsearch-7.17.23/config/elasticsearch.yml
xpack.security.enabled: true
discovery.type: single-node
给bulit-in users创建密码
先运行elasticsearch, 再用ssh工具打开另一个窗口配置
[root@localhost elasticsearch-7.17.23]# bin/elasticsearch-setup-passwords interactive
配置kibana用密码连接(先参考后面安装Kibana部分,安装完成后再进行配置)