ELK学习 - 环境的搭建
一、es安装使用
下载es安装包之前必须先安装好java,并且在环境变量中新建环境变量JAVA_HOME,设置值是jdk文件夹地址,如:
1、从官方下载中心 ElasticSearch Download 下载ElasticSearch安装包
2、安装完es后,去es目录下/bin/下,启动elasticsearch.bat
完了以后再去启动es服务
看到如图即启动成功
接下来安装node.js
注:es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)
1、从地址:https://nodejs.org/en/download/ 下载相应系统的msi,双击安装。
2、安装完成用cmd进入安装目录执行 node -v可查看版本号
3、执行 npm install -g grunt-cli/npm install 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号
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
④解压到指定文件夹下,G:\elasticsearch-6.6.2\elasticsearch-head-master 进入该文件夹,修改G:\elasticsearch-6.6.2\elasticsearch-head-master\Gruntfile.js 在对应的位置加上hostname:'*'
⑤在G:\elasticsearch-6.6.2\elasticsearch-head-master 下执行npm install 安装完成后执行grunt server 或者npm run start 运行head插件,如果不成功重新安装grunt。成功如下
⑥浏览器下访问http://localhost:9100/
############# 成功 #############
二、logstash
logstash启动:logstash -f test.conf
下载方法:
第一种:
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中的数据
4 在bin目录,新文件文件 run_default.bat
logstash -f logstash_default.conf
5 启动 run_default.bat
,在文件输出的位置可以看到text.txt文件,即es中的数据
6 浏览器访问:http://localhost:9600/
第二种:
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
- 打开浏览器搜索kibana
- 进入kibana官网,下载页面,选中windows版本进行下载
- 解压压缩包,目录结果如下图
- 编辑kibana配置文件kibana.yml,设置elasticsearch.url,如下图所示
- 双击bin目录下的kibana.bat,启动程序
- kibana程序如下图所示,正常启动,监听端口5601
- 7
可以通过浏览器访问http://localhost:5601进入kibana管理界面