概述
文章目录
- EFK(Elasticsearch+Filebeat+Kibana)
- 安装Elasticsearch:
- 安装kibana(一台)
- 安装filebeat(需要收集日志的机器都装)
EFK(Elasticsearch+Filebeat+Kibana)
架构图:
EFK分别代表Elasticsearch、Filebeat、Kibana,其中Elasticsearch负责日志保存和搜索,Filebeat负责收集日志,Kibana负责界面。EFK和ELK的区别在于把ELK的Logstash替换成了Filebeat。
Filebeat相对于Logstash的好处:
- 侵入低,无需修改程序目前任何代码和配置
- 相对于Logstash来说性能高,Logstash对于IO占用很大
Filebeat与Logstash对比:
Filebeat也不完全是好过Logstash,毕竟Logstash对于日志的格式化这些相对Filebeat好很多,Filebeat只是将日志从日志文件中读取出来,当然如果你日志本身是有一定格式的,Filebeat也可以格式化,但是相对于Logstash来说,还是差一点。
- Elasticsearch
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
- Filebeat
Filebeat隶属于Beats。目前Beats包含六种工具:
- Packetbeat(搜集网络流量数据)
- Metricbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
- Filebeat(搜集文件数据)
- Winlogbeat(搜集 Windows 事件日志数据)
- Auditbeat( 轻量型审计日志采集器)
- Heartbeat(轻量级服务器健康采集器)
- Kibana
Kibana可以为 Logstash 、Beats和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
安装JDK:
//Elasticsearch需要运行在Java 8 及以上,所以需要先安装Java8,下载JavaJDK
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1536892035_945cb24c750d0971b8c5b1925cc723a9
tar -zxvf jdk-8u181-linux-x64.tar.gz
vi /etc/profile
//文件末尾加上如下配置
JAVA_HOME=/usr/local/jdk1.8.0_181/
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
生效:
source /etc/profile
查看是否安装成功:
java -version
安装Elasticsearch:
下载Elasticsearch,本文以Elasticsearch7.8.0为例
注意:Elasticsearch、Kibana、FileBeat一定要使用相同的版本
root@t1:~# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
解压之后修改配置:
mv elasticsearch-7.8.0 /usr/local/
cd /usr/local/elasticsearch-7.8.0
vim config/elasticsearch.yml
cluster.name: log-efk
network.host: 0.0.0.0
http.port: 9200
注意: 由于Elasticsearch不能使用root用户打开,所以需要专门创建一个用户来启动Elasticsearch
$ user add elastic
#设置密码
$ passwd elastic
#需要输入2次密码
#授权
$ chmod -R 777 /usr/local/elasticsearch-7.8.0
#切换用户
$ su elastic
启动Elasticsearch:
elastic@t1:/usr/local/elasticsearch-7.8.0$ ./bin/elasticsearch
出现了错误信息:
ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configure
root权限下操作:
root@t1:~# vim /etc/sysctl.conf
vm.max_map_count = 262144
执行命令:
sysctl -p
vim elasticsearch.yml
cluster.initial_master_nodes: [“node-1”]
再次启动无报错,则:
nohup ./elasticsearch & //后台运行
elastic@t1:/usr/local/elasticsearch-7.8.0/bin$ curl 127.0.0.1:9200 //执行此命令,得到类似以下json
{
"name" : "t1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "bGYHgKCTSYmgGcHGoG0OlQ",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安装kibana(一台)
下载并解压:
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz
tar zxvf kibana-7.8.0-linux-x86_64.tar.gz
修改配置:
root@t2:/usr/local/kibana-7.8.0-linux-x86_64/config# vim kibana.yml
elasticsearch.hosts: ["http://192.168.0.213:9200”]
server.host: “0.0.0.0"
kibana.index: ".kibana"
注意: elasticsearch.hosts为elasticsearch的地址,server.host默认是localhost,如果只是本地访问可以默认localhost,如果需要外网访问,可以设置0.0.0.0
启动kibana:
root@t2:/usr/local/kibana-7.8.0-linux-x86_64/bin# ./kibana
报错: Kibana should not be run as root. Use --allow-root to continue.
Kibana不建议root用户启动,如果非要用root启动,则加上参数 --allow-root
root@t2:/usr/local/kibana-7.8.0-linux-x86_64/bin# nohup ./kibana --allow-root &
安装filebeat(需要收集日志的机器都装)
下载并解压:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.8.0-linux-x86_64.tar.gz
tar zxvf filebeat-7.8.0-linux-x86_64.tar.gz
修改配置文件:
root@t1:/usr/local/filebeat-7.8.0-linux-x86_64# vim filebeat.yml
//找到类似配置修改
filebeat.inputs:
- type: log
enabled: true
paths:
- /tomcat/logs/catalina.out //要监听的日志路径
multiline.pattern: ^[
multiline.negate: true
multiline.match: after
setup.kibana:
host: “192.168.0.212:5601”
output.elasticsearch:
hosts: [“192.168.0.213:9200”]
注意: 格式以两个空格位子级,enabled默认为false,需要改成true才会收集日志。
启动filebeat:
root@t1:/usr/local/filebeat-7.8.0-linux-x86_64# ./filebeat -e -c /usr/local/filebeat-7.8.0-linux-x86_64/filebeat.yml
浏览器打开http://kibanaip:5601(kibanaip替换为你装kibana的公网ip)
设置kibana:进入Management—>Stack Management—>Index Patterns
选择pattern,如果没有就创建一个。
创建完成后,在菜单栏Discover可以看到日志界面。
若要让Kibana显示中文界面,则需要改Kibana配置文件:
root@t2:/usr/local/kibana-7.8.0-linux-x86_64/config# vim kibana.yml
i18n.locale: "zh-CN"
至此,EFK搭建完成。
最后
以上就是辛勤大树为你收集整理的EFK-一款轻量的日志分析系统的全部内容,希望文章能够帮你解决EFK-一款轻量的日志分析系统所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复