ELK学习 - 环境的搭建

一、es安装使用

下载es安装包之前必须先安装好java,并且在环境变量中新建环境变量JAVA_HOME,设置值是jdk文件夹地址,如:

ELK学习 - 环境的搭建

1、从官方下载中心 ElasticSearch Download 下载ElasticSearch安装包

ELK学习 - 环境的搭建

2、安装完es后,去es目录下/bin/下,启动elasticsearch.bat

完了以后再去启动es服务

ELK学习 - 环境的搭建

看到如图即启动成功

 

接下来安装node.js

 

注:es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)

1、从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击安装。

 

ELK学习 - 环境的搭建

2、安装完成用cmd进入安装目录执行 node -v可查看版本号

 

ELK学习 - 环境的搭建

3、执行 npm install -g grunt-cli/npm install 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号

 

ELK学习 - 环境的搭建

4、开始安装head

① 进入安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以下代码

http.cors.enabled: true 
http.cors.allow-origin: "*"
node.master: true
node.data: true

然后去掉network.host: 192.168.0.1的注释并改为network.host: 0.0.0.0,去掉cluster.name;node.name;http.port的注释(也就是去掉#)

②双击elasticsearch.bat重启es

③在https://github.com/mobz/elasticsearch-head中下载head插件,选择下载zip

 

ELK学习 - 环境的搭建

④解压到指定文件夹下,G:\elasticsearch-6.6.2\elasticsearch-head-master 进入该文件夹,修改G:\elasticsearch-6.6.2\elasticsearch-head-master\Gruntfile.js 在对应的位置加上hostname:'*'

ELK学习 - 环境的搭建

⑤在G:\elasticsearch-6.6.2\elasticsearch-head-master 下执行npm install 安装完成后执行grunt server 或者npm run start 运行head插件,如果不成功重新安装grunt。成功如下

 

ELK学习 - 环境的搭建

⑥浏览器下访问http://localhost:9100/

 

ELK学习 - 环境的搭建

############# 成功 #############

 

二、logstash

logstash启动:logstash -f test.conf

ELK学习 - 环境的搭建

 

ELK学习 - 环境的搭建

 

下载方法:

第一种:

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

 

2 解压文件: D:\Program Files\elasticsearch-6.2.3\logstash-6.2.3

 

3 进入bin目录,新建文件 logstash_default.conf 读取es中的数据

 

ELK学习 - 环境的搭建

 

ELK学习 - 环境的搭建

 

4 在bin目录,新文件文件 run_default.bat

logstash -f logstash_default.conf

 

5 启动 run_default.bat

ELK学习 - 环境的搭建

,在文件输出的位置可以看到text.txt文件,即es中的数据

 

6 浏览器访问:http://localhost:9600/

ELK学习 - 环境的搭建

第二种:

Logstash 是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,常用于日志处理、或一些具有一定格式的数据导入到ES的处理。

Logstash 的安装使用步骤:

1、下载安装包

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.6.1.tar.gz

2、解压安装包 : tar -zxvf logstash-5.6.1.tar.gz

部分数据集较大,需要在/bin/logstash目录下添加: exportLS_HEAP_SIZE=10g

3、在config路径下创建配置文件,如 test.conf

4、进入 logstash-5.6.1目录,执行bin/logstash -f test.conf

Logstash 的三个阶段:

input 数据输入端,接收源数据,如:

file:从文件中读取

syslog:监听系统日志信息,并解析成RFC3164格式。

Filter 数据规范,进行格式处理,如:

grok: 通过正则解析和结构化任何文本日志。

mutate: 对字段进行转换,如重命名、删除、替换字段等。

drop: 丢弃字段(日志)

output 将数据输出到指定位置,如:

file: 将事件数据写入到文件内;

elasticsearch: 发送事件数据到 Elasticsearch;

 

 

 

 

es数据导入导出:

 

从elasticsearch导出数据至文件 demo :

input {
elasticsearch {
hosts => "127.0.0.1:9200" #配置 elasticsearch的地址及index
index => "scrapy"
query => '{ "query": {"match_all" : {} } }' #配置匹配模式
size => 10000 #配置遍历数据
scroll => "5m" # 配置遍历时间间隔
docinfo => true
}
}
output {
file {
#配置文件导出路径
path => "C:/Users/zwj/Desktop/test.txt"
}
}

将json文件导入elasticsearch配置demo:

input {
file {
path => "/data/*.log" #配置读取的文件
start_position => "beginning" #从文件开始位置读取
sincedb_path => "/data/sincedb_test.txt" #记录读取的位置
sincedb_write_interval => 15
codec => json { #配置文本类型
charset => "UTF-8"
}
}
}
output {
elasticsearch {
hosts => "192.168.31.130:9200"
index => "test"
}
}

从elasticsearch导入到另一个elasticsearch配置demo:

input {
elasticsearch {
hosts => "192.168.31.130:9200"
index => "test*"
query => '{ "query": {"match_all" : {} } }'
size => 10000
scroll => "5m"
docinfo => true
}
}
output {
elasticsearch {
hosts => "192.168.31.130:9200"
index => "%{[@metadata][_index]}"
document_type => "%{[@metadata][_type]}"
document_id => "%{[@metadata][_id]}"
}
}

 

三、Kibana

 

  1. 打开浏览器搜索kibana

ELK学习 - 环境的搭建

  1. 进入kibana官网,下载页面,选中windows版本进行下载

ELK学习 - 环境的搭建

  1. 解压压缩包,目录结果如下图

ELK学习 - 环境的搭建

  1. 编辑kibana配置文件kibana.yml,设置elasticsearch.url,如下图所示

ELK学习 - 环境的搭建

ELK学习 - 环境的搭建

  1. 双击bin目录下的kibana.bat,启动程序

ELK学习 - 环境的搭建

  1. kibana程序如下图所示,正常启动,监听端口5601

ELK学习 - 环境的搭建

  1. 7

可以通过浏览器访问http://localhost:5601进入kibana管理界面

ELK学习 - 环境的搭建