ELK简介
ELK是一个日志分析平台,它主要由Elasticsearch、Logstash和Kibana三个部分组成。
Elasticsearch是一个开源的全文搜索和分析引擎,它可以实现数据的实时全文搜索,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能。
Logstash负责日志收集和转发,支持日志过滤,支持普通log、自定义json格式的日志解析。
Kibana通过接口调用Elasticsearch的数据,并进行前端数据可视化。
一、环境准备
默认环境ROOT用户下进行操作,其他用户操作的请使sudo命令
1、安装JDK,参考 《Linux OpenJDK安装》
2、关闭防火墙。
1 | [root@192.168.2.120 ~]# systemctl stop firewalld |
2 | [root@192.168.2.120 ~]# systemctl disable firewalld |
或者设置防火墙规则:
1 | [root@192.168.2.120 ~]# firewall-cmd --add-port=9200/tcp --permanent |
2 | [root@192.168.2.120 ~]# firewall-cmd --add-port=9300/tcp --permanent |
3 | [root@192.168.2.120 ~]# firewall-cmd --add-port=5601/tcp --permanent |
4 | [root@192.168.2.120 ~]# firewall-cmd --reload |
5 | [root@192.168.2.120 ~]# firewall-cmd --permanent --zone=public --list-ports #显示以上三个端口,表示防火墙已经开启 |
3、导入Elasticsearch GPG KEY
1 | rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch |
4、添加ELK仓库(该仓库使用清华的yum源镜像)
默认安装最新版本,如需要指定版本,请将版本号改为指定版本号
1 | [root@192.168.2.120 ~]# cd /etc/yum.repos.d |
2 | [root@192.168.2.120 /etc/yum.repos.d]# vi elasticsearch.repo |
3 | |
4 | 编写内容: |
5 | [elasticsearch-7.x] |
6 | name=Elasticsearch repository for 7.x packages |
7 | baseurl=https://mirror.tuna.tsinghua.edu.cn/elasticstack/7.x/yum/ |
8 | gpgcheck=1 |
9 | gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch |
10 | enabled=1 |
11 | autorefresh=1 |
12 | type=rpm-md |
5、更新yum包
1 | [root@192.168.2.120 ~]# yum clean all |
2 | [root@192.168.2.120 ~]# yum makecache |
二、安装Elasticsearch
1、安装Elasticsearch
1 | [root@192.168.2.120 ~]# yum install -y elasticsearch |
2、确认Elasticsearch的安装信息
1 | [root@192.168.2.120 ~]# rpm -qi elasticsearch |
3、启动Elasticsearch并设置开机启动
1 | [root@192.168.2.120 ~]# systemctl daemon-reload |
2 | [root@192.168.2.120 ~]# systemctl start elasticsearch.service |
3 | [root@192.168.2.120 ~]# systemctl enable elasticsearch.service |
4、查看Elasticsearch运行状态
1 | [root@192.168.2.120 ~]# systemctl status elasticsearch.service |
5、尝试请求curl localhost:9200
6、设置允许其他机器访问
当前只能响应本机的请求,想要其他机器也能访问的话,那么需要修改elasticsearch的配置。vim /etc/elasticsearch/elasticsearch.yml,如下修改(ps:以下修改属性不能少一个,不然你就启动不了哦~):
1 | # line 17, uncomment |
2 | cluster.name: my-application |
3 | # line 22, uncomment and change |
4 | node.name: node-1 |
5 | # line 55, uncomment and change |
6 | network.host: 0.0.0.0 |
7 | # line 59, uncomment |
8 | ttp.port: 9200 |
9 | # line 72, uncomment and change |
10 | cluster.initial_master_nodes: ["node-1"] |
7、重启Elasticsearch
systemctl restart elasticsearch.service
8、查看启动状态
systemctl status elasticsearch.service
9、使用外部浏览器访问IP:9200即可看到以下情况,至此ElasticSearch:

