0 版本说明

因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7,所以采用的是5.0前的最新版本。

1 Elasticsearch : 2.4.4
2 Logstash:2.4.1 
3 kibana:4.6.4

 

操作环境:

linux部署elk集群 linux搭建elk_数据

 

1 新建用户和用户组

注意:elasticsearch不能以root运行的问题 ,所以建议单独建立一个用户来运行elasticsearch。

主要步骤:

1 创建新用户组和新用户
2 将新用户添加到新组
3 创建用户主目录
4 让新用户获得其主目录有文件的拥有权限
5 设置新用户的密码

这里详细步骤写在: 2017.7.18 linux下用户和组的操作

操作完成后,创建了组elkgroup和用户elkuser,主目录为elkuser。

 

2 下载与解压

2.1 下载

下载地址:https://www.elastic.co/downloads

 将下载好的安装包,通过ftp工具上传到elkuser的主目录下,并且解压。

linux部署elk集群 linux搭建elk_数据_02

 

2.2 解压

解压的命令为:

linux部署elk集群 linux搭建elk_linux部署elk集群_03

 

解压后,查看当前elkuser是否拥有文件的操作权限。(如果没有操作权限会使得后面启动elastic的时候无法解析路径,导致启动失败)

 

linux部署elk集群 linux搭建elk_数据_04

 

3 启动Elasticsearch服务

3.1 修改配置文件elasticsearch.yaml

为了能通过浏览器访问elasticsearch,需要修改配置文件elasticsearch.yaml的host和port。

linux部署elk集群 linux搭建elk_elasticsearch_05

 

注意,yaml文件最前方缩进表示层级,所以千万不要多打空格。否则报错如下:

linux部署elk集群 linux搭建elk_json_06

 

3.2 启动elasticsearch

linux部署elk集群 linux搭建elk_elasticsearch_07

 

3.3 访问localhost:9200来验证

另外开一个终端,访问localhost:9200,出现如下页面则安装并启动服务成功。

 

linux部署elk集群 linux搭建elk_linux部署elk集群_08

 

3.4 安装head插件

linux部署elk集群 linux搭建elk_数据_09

 

下载并安装完成后,查看elasticsearch所拥有的插件:

 

linux部署elk集群 linux搭建elk_数据_10

 

访问localhost:9200/_plugin/head/,出现如下页面,表示安装head插件成功。这里已经有一些建好的索引了。

 

linux部署elk集群 linux搭建elk_linux部署elk集群_11

 

 4 启动logstash服务

4.1 在bin目录下,新建配置文件logstash.conf

简单的配置如下:input和output为必填,filter可以根据需求来写或者不写。因为这里处理的数据为json,所以在codec里设置了json。

更详细的配置参看官网。

1 input{
 2     file{
 3       path => "E:/lyh/software/ELK/sample/data/accounts.json"
 4       start_position => "beginning"
 5       type => "testdata"
 6       codec => json{
 7         charset => "UTF-8"
 8       }
 9     }
10 }
11 
12 filter{
13 }
14 
15 output{
16    elasticsearch{
17         hosts => "localhost:9200"
18         index => "logstash-%{type}"
19    } 
20 }

 

4.2 启动logstash服务

启动前可以先检查一下配置文件的正确性。

linux部署elk集群 linux搭建elk_linux部署elk集群_12

 

5 启动kibana服务

5.1 启动kibana服务

linux部署elk集群 linux搭建elk_json_13

 

5.2 访问localhost:5601来验证

linux部署elk集群 linux搭建elk_linux部署elk集群_14

 

6  使用ELK处理数据

上面访问localhost:5601的时候,可以看到有一个提示:unable to fetch mapping,do you have indices matching the pattern?

而访问localhost:9200的时候,也可以看到索引里没有刚刚logstash.conf配置里的:logstash-testdata

linux部署elk集群 linux搭建elk_elasticsearch_15

  

linux部署elk集群 linux搭建elk_linux部署elk集群_16

 

这就说明logstash没有把日志写入到elasticsearch。

打开account.json,随意修改(内容可以不变但是要有操作)然后点击保存。重启服务后,再刷新这两个页面就有新数据了。

 

刷新页面后可以看到elasticsearch中已经有了新的索引和数据:

linux部署elk集群 linux搭建elk_elasticsearch_17

linux部署elk集群 linux搭建elk_elasticsearch_18

 

 这个时候再去kibana中创建对应的索引,就可以查看相应的数据了。此时的提示已经不见,变成了create。

linux部署elk集群 linux搭建elk_数据_19

 

点击创建后,访问kibana的discover页,就可以看到数据了。

linux部署elk集群 linux搭建elk_elasticsearch_20

 

 经过一些处理后,可以看到一些更直观的画面信息。

linux部署elk集群 linux搭建elk_数据_21

 

fighting for this