一、说明
EFK是由ElasticSearch(es)、Filebeat和Kiabana三个开源工具组成:
1.ElasticSearch是一个基于Lucence的开源分布式搜索服务器,它的特点有:分布式、零配置、自动发现、索引自动分片、索引副本机制、restful风格接口、多数据源、自动搜索负载等,提供了一个分布式多用户能力的全文搜索引擎。
2.Filebeat 是基于原先 logstash-forwarder 的源码改造出来的,安装包10M左右。如果日志的量很大,Logstash 会遇到资源占用高的问题,为解决这个问题,这里采用Filebeat。Filebeat 用 Golang 编写,无需依赖 Java 环境,效率高,占用内存和 CPU 比较少,非常适合作为 Agent 跑在服务器上
3.Kiabana是一个基于浏览器页面的ElasticSearch前端展示工具,也是一个开源的工具,提供友好的web界面。
二、安装
1.安装openjdk
apt-get install openjdk-8-jdk
2.安装ElasticSearch(es)
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.2.deb
sudo dpkg -i elasticsearch-6.5.2.deb
sudo /etc/init.d/elasticsearch start
验证是否成功
root@backup:/etc/elasticsearch# curl 192.168.0.87:9200
{
"name" : "lUx_tW7",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "oBTp9Fi3TW-SFx-fH4sTrw",
"version" : {
"number" : "6.5.2",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "9434bed",
"build_date" : "2018-11-29T23:58:20.891072Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
root@backup:/etc/elasticsearch#
默认配置文件在如下,可以修改端口和地址,这里修改配置,把ip改成本机
root@backup:/etc/elasticsearch# grep -Ev '^$|#' elasticsearch.yml
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.0.87
root@backup:/etc/elasticsearch#
3.安装Kibana
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.5.2-linux-x86_64.tar.gz
tar xzvf kibana-6.5.2-linux-x86_64.tar.gz
cd kibana-6.5.2-linux-x86_64/
./bin/kibana
#后台运行 nohup ./bin/kibana &
汉化
https://github.com/anbai-inc/Kibana_Hanization
修改yml配置:
server.host: "192.168.0.87"
elasticsearch.url: "http://192.168.0.87:9200"
常用命令:
#获取索引信息
curl '192.168.0.87:9200/_cat/indices?v'
#删除索引
curl -XDELETE '192.168.0.87:9200/filebeat-6.5.2-2018.12.13'
4.安装filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.2-amd64.deb
sudo dpkg -i filebeat-6.5.2-amd64.deb
service filebeat start
配置示例:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
配置说明:
定义日志文件路径
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
配置输出:可以将其直接发送到es,也可以发送到Logstash以进行其他处理
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.0.87:9200"]
setup.kibana:
host: "192.168.0.87:5601"
目录说明:
类型 | 描述 | 位置 |
---|---|---|
home | 家目录 | /usr/share/filebeat |
bin | bin目录 | /usr/share/filebeat/bin |
config | 配置文件 | /etc/filebeat |
data | 持久数据目录 | /var/lib/filebeat |
logs | 日志目录 | /var/log/filebeat |
5.获取数据
在kibana界面建立索引
参考资料:https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html
有疑问加站长微信联系(非本文作者)