1 概述
考虑到logstash性能比较差,而且我们并不需要对日志进行解析,主要进行的是搜索日志关键字,因此我们选择跳过logstash,直接从filebeat将日志读取到es
2 es部署
为了保证高可用,es应该部署三台以上,下面以部署三台距离
下载es安装包,5.X的版本都是要求 linux kernel 大于7的,所以如果本地 kernel 是6系列的,最好还是下载之前的版本。es 5.X之前的最新版本就是2.4.6,es-2.4.6
解压,修改配置文件 /config/elasticsearch.yml 如下所示
#集群名称,ES通过集群名称识别自己属于哪一集群
cluster.name: es-wj
#本节点名称
node.name: es-wj-node-1
#广播发现集群
discovery.zen.ping.unicast.hosts: ["10.202.x.184", "10.202.x.185","10.202.x.186"]
#本节点绑定的IP
network.host: 10.202.x.184
#数据存放位置,存储数据的时候会压缩,三个节点按照哈希分别存储不同的数据
path.data: /app/elasticsearch/elasticsearch-2.4.6/data
#日志存放位置
path.logs: /app/elasticsearch/elasticsearch-2.4.6/logs
修改好配置文件之后,在bin目录中启动es
./bin/elasticsearch &
按照上述步骤分别启动三个es节点,然后访问浏览器 http://ip:9200 ,就可以看到有关于该集群的json信息
{
"name" : "es-wj-node-1",
"cluster_name" : "es-wj",
"version" : {
"number" : "2.4.6",
"build_hash" : "5376dca9f70f3abef96a77f4bb22720ace8240fd",
"build_timestamp" : "2017-07-18T12:17:44Z",
"build_snapshot" : false,
"lucene_version" : "5.5.4"
},
"tagline" : "You Know, for Search"
}
3 kibana部署
kibana是官方提供的es可视化操作工具。访问端口是 http://ip:5601
kernel不高的情况下,同样建议下载5.X之前的版本,kibana-4.6.6
解压之后,修改config目录下面的kibana.yml文件,绑定es
#修改server.host主要是出于安全性考虑,使用0.0.0.0有风险
server.host: "10.202.x.184"
elasticsearch.url: "http://10.202.x.184:9200"
然后从bin目录启动kibana即可。kibana有个隐藏的好处,就是可以照猫画虎kibana搜索时的命令,加到自己的项目中,就可以实现很多功能
4 filebeat部署
通过filebeat将指定目录的日志传到es中。
filebeat下载地址 filebeat 1.3.1
filebeat:
prospectors:
-
paths:
- /app/test0/log/*.log
- /app/test1/log/*.log
input_type: log
#这里的配置相当于定义es的type
document_type: sgs
-
paths:
- /app/test2/log/*.log
input_type: log
document_type: shiva
output:
elasticsearch:
hosts: ["10.202.x.184:9200"]
#配置es的index,默认是配置的字符串加上日期,在调用接口时使用"push-*"替代所有
index: "push"
#我们这里将日志直接写入es而非logstash,所以这里要注释掉
#logstash:
# hosts: ["X.X.X.X:5044"]
修改完配置文件之后,再启动filebeat
./filebeat &
说明
如有转载,请注明出处
http://blog.youkuaiyun.com/antony9118/article/details/78203892