Linux下ELK环境搭建

一.准备工作

准备3台机器,这样才能完成分布式集群的实验,当然能有更多机器更好:

  • 192.168.3.64(e1)
  • 192.168.3.62  (e2)
  • 192.168.3.63(e3)

角色划分:

  • 3台机器全部安装jdk1.8,因为elasticsearch是java开发的
  • 3台全部安装elasticsearch (后续都简称为es)
  • e1作为主节点
  • e2,e3作为数据节点
  • e1上需要安装kibana
  • 在e2上安装 logstash

 

二.es的安装配置

2.1es下载安装

[root@master-node ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
[root@master-node ~]# vim /etc/yum.repos.d/elastic.repo # 增加以下内容
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
[root@master-node ~]# yum install -y elasticsearch

2.2主节点e1配置

[root@master-node ~]# vim /etc/elasticsearch/elasticsearch.yml # 增加或更改以下内容
cluster.name: master-node # 集群中的名称
node.name: master # 该节点名称
node.master: true # 意思是该节点为主节点
node.data: false # 表示这不是数据节点
network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200 # es服务的端口号
discovery.zen.ping.unicast.hosts: ["192.168.3.64", "192.168.3.62", "192.168.3.63"] # 配置自动发现

2.3 数据节点e2配置

[root@gtp3 ~]# vim /etc/elasticsearch/elasticsearch.yml # 增加或更改以下内容
cluster.name: master-node # 集群中的名称
node.name: data-node1 # 该节点名称
node.master: false # 意思是该节点为主节点
node.data: true # 表示这不是数据节点
network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200 # es服务的端口号
discovery.zen.ping.unicast.hosts: ["192.168.3.64", "192.168.3.62", "192.168.3.63"] # 配置自动发现

2.4数据节点e3配置

[root@gtp3 ~]# vim /etc/elasticsearch/elasticsearch.yml # 增加或更改以下内容
cluster.name: master-node # 集群中的名称
node.name: data-node2 # 该节点名称
node.master: false # 意思是该节点为主节点
node.data: true # 表示这不是数据节点
network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200 # es服务的端口号
discovery.zen.ping.unicast.hosts: ["192.168.3.64", "192.168.3.62", "192.168.3.63"] # 配置自动发现

2.5 在主节点e1中输入下面命令,启动es

systemctl start elasticsearch.service

2.6 查看es是否启动

[root@gtp1 ~]# ps aux |grep elasticsearch

 

[root@gtp1 ~]# netstat -lntp |grep java  # es服务会监听两个端口

9300端口是集群通信用的,9200则是数据传输时用的。

主节点启动成功后,依次启动其他节点即可。

2.7 查看集群情况

[root@gtp1 ~]# curl 'localhost:9200/_cluster/health?pretty'

三.安装kibana

3.1 下载安装kibana

[root@gtp1 ~]# yum -y install kibana 
或者
[root@gtp1 ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm
[root@gtp1 ~]# rpm -ivh kibana-6.0.0-x86_64.rpm
3.2 kibana配置
[root@gtp1 ~]#vim /etc/kibana/kibana.yml # 增加以下内容

server.port: 5601  # 配置kibana的端口
server.host: 192.168.77.128  # 配置监听ip
elasticsearch.url: "http://192.168.77.128:9200"  # 配置es服务器的ip,如果是集群则配置该集群中主节点的ip
logging.dest: /var/log/kibana.log  # 配置kibana的日志文件路径,不然默认是messages里记录日志

3.3 创建日志文件

[root@gtp1 ~]# touch /var/log/kibana.log; chmod 777 /var/log/kibana.log

3.4 启动kibana服务,并检查进程和监听端口

[root@gtp1 ~]#systemctl start kibana

[root@gtp1 ~]# ps aux |grep kibana
root 16528 0.0 0.0 112660 968 pts/2 S+ 10:47 0:00 grep --color=auto kibana
kibana 29265 0.4 0.7 1315604 239188 ? Ssl Sep19 39:09 /usr/share/kibana/bin/../node/bin/node --no-warnings /usr/share/kibana/bin/../src/cli -c /etc/kibana/kibana.yml

3.5 浏览器访问http://192.168.77.128:5601/ ,查看kibana

四. 安装 logstash

4.1 在e2中安装logstash

[root@gtp2 ~]# yum install -y logstash
或者

[root@gtp2 ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.0.rpm
[root@gtp2 ~]# rpm -ivh logstash-6.0.0.rpm
 

4.2 启动logstash

[root@gtp2 ~]#systemctl restart logstash
原文地址:https://www.cnblogs.com/SimonWu/p/9698486.html