[toc]
ElasticSearch、Logstash和Kiabana均有开箱即用的版本, 也可以使用docker,就不用下载具体的包了
官网下载:https://www.elastic.co/cn/downloads/
1. ElasticSearch:
在config中 增加elasticsearch.yml文件如下内容:
`network.host: 0.0.0.0 # 网络设置,表示大家都能连``
执行 bin/elasticsearch 即可
在浏览器中输入 http://localhost:9200/
返回如下json表示成功:
{
"name": "node-1",
"cluster_name": "elasticsearch",
"cluster_uuid": "qgDoFT0_Sa66sYTd_5ETug",
"version": {
"number": "5.5.3",
"build_hash": "9305a5e",
"build_date": "2017-09-07T15:56:59.599Z",
"build_snapshot": false,
"lucene_version": "6.6.0"
},
"tagline": "You Know, for Search"
}
2.Kiabana:
在config中修改 kibana.yml ,如下内容:
elasticsearch.url: "http://localhost:9200"
执行 bin/kibana.bat
在浏览器中访问 http://localhost:5601 会出现页面,说明成功了
3.Logstash
(有点像Flume,有接收数据,处理数据,输出数据.输入/输出都有各种选择)
直接运行 start.bat 即可
在config文件夹下,创建logstash.conf文件,写入以下内容:
input {// logstash的数据来源
# 从控制台接收, 类型是test(可以不写),
stdin{ type => "test" }
#从文件中接收,
file{
path=>"/home/jht/jportal-license/jportal/logs/jportal/jportal.log" # 从这个文件中接收,允许写多个文件,写在[]中,用","隔开,数组的格式
type => "jportal" # 类型是jportal
start_position => "beginning" # 表示从文件的起始位置读
}
}
# 过滤条件,可以处理数据的输出格式
#filter {
# grok {
# ##patterns_dir 是刚刚创建的patterns文件夹目录,根据创建具体路径配置
# patterns_dir => "D:/software/ELK/logstash-6.5.0/patterns"
# match => {
# "message" => "%{JPORTAL}"
# }
# }
#
#}
#输出
output {
#输出到控制台,codec(可以不写)表示类型,
stdout { codec => rubydebug }
# type是输入源里定义的
if [type] == "system" {
#输入到elasticsearch
elasticsearch {
hosts => ["localhost:9200"] # es的地址
index => "system-%{+MM.dd-HH:mm:ss}" # 索引,kiabana会安装index分类,这里可以按照项目或者日志级别等分类
}
}
if [type] == "jportal" or [type] == "test" {
elasticsearch {
hosts => ["localhost:9200"]
index => "jportal-%{+MM.dd-HH:mm:ss}"
}
}
}
4.使用
如果三者改了配置都需要重新启动,不会动态获取配置
启动Logstash,如果监控的文件中有数据,会输出:
启动Logstash后,控制会等待输入, 输入 hello:
控制台会输出:
{
"type" => "test",
"@version" => "1",
"@timestamp" => 2019-04-29T09:11:51.533Z,
"message" => "hello
",
"host" => "V-WYM-063"
}
在kiabana中能查询的es中的数据,默认按索引分类.
先新建个索引,
查询数据:
安装head插件,可以管理ES中的数据
a)插件安装方法一
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head (新版本的plugin命令可能被替代了,自己找找类似的)
b)插件安装方法二
首先下载head插件,下载到/usr/loca/src目录下
下载地址:https://github.com/mobz/elasticsearch-head
======================================================
head插件包百度云盘下载:https://pan.baidu.com/s/1boBE0qj
提取密码:ifj7
======================================================
unzip elasticsearch-head-master.zip
在/usr/share/elasticsearch/plugins目录下创建head目录
然后将上面下载的elasticsearch-head-master.zip解压后的文件都移到/usr/share/elasticsearch/plugins/head下
修改es 的配置文件: elasticsearch.yml配置文件,添加以下内容,
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
启动elasticsearch-head,在elasticsearch-head文件下
npm run start
npm基于node.js,如果没有则需先装node.js,
其中还需要grunt命令,如果没有则需安装: npm install -g grunt-cli
出现以下内容表示成功:
接着重启elasticsearch服务即可!
启动head插件
访问: http://localhost:9100,出现如下界面,并能连接表示成功
c)插件安装方法三(推荐)
下载浏览器插件,输入es地址,即可访问es
插件地址:
https://github.com/liufengji/es-head/blob/master/elasticsearch-head.crx (该插件有问题)
https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm
输入IP地址: