前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos 7.3 简便搭建EFK日志分析

Centos 7.3 简便搭建EFK日志分析

作者头像
小手冰凉
发布2020-03-06 17:53:45
1.7K0
发布2020-03-06 17:53:45
举报
文章被收录于专栏:小手冰凉小手冰凉

EFK 不是一个软件,而是一套解决方案。EFK 是三个开源软件的缩写,Elasticsearch,FileBeat,Kibana。其中 ELasticsearch 负责日志分析和存储,FileBeat 负责日志收集,Kibana 负责界面展示。它们之间互相配合使用,完美衔接,高效的满足了很多场合的应用,是目前主流的一种日志分析系统解决方案。

EFK 和 ELK 只有一个区别, 收集日志的组件由 Logstash 替换成了 FileBeat,因为 Filebeat 相对于 Logstash 来说有2个好处:

1、侵入低,无需修改 elasticsearch 和 kibana 的配置; 2、性能高,IO 占用率比 logstash 小太多;

ELK可参考:https://cloud.tencent.com/developer/article/1521177

当然 Logstash 相比于 FileBeat 也有一定的优势,比如 Logstash 对于日志的格式化处理能力,FileBeat 只是将日志从日志文件中读取出来,当然如果收集的日志本身是有一定格式的,FileBeat 也可以格式化,但是相对于Logstash 来说,效果差很多。

Filebeat 隶属于 Beats。目前 Beats 包含六种工具:

  • Packetbeat(搜集网络流量数据)
  • Metricbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
  • Filebeat(搜集文件数据)
  • Winlogbeat(搜集 Windows 事件日志数据)
  • Auditbeat( 轻量型审计日志采集器)
  • Heartbeat(轻量级服务器健康采集器)

另外,EFK 系统下的各个组件都非常吃内存,后期根据业务需要,EFK 的架构可进行扩展,当 FileBeat 收集的日志越来越多时,为防止数据丢失,可引入 Redis,而 ElasticSearch 也可扩展为集群,并使用 Head 插件进行管理, 所以要保证服务器有充足的运行内存和磁盘空间。

一、开始部署

1、安装elasticsearch:

代码语言:javascript
复制
[root@localhost /]# mkdir efk            # 个人习惯
[root@localhost /]# cd efk/
[root@localhost efk]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
[root@localhost efk]# tar zxf elasticsearch-6.2.4.tar.gz -C /usr/local/
[root@localhost efk]# cd /usr/local/
[root@localhost /]# useradd es
[root@localhost local]# mv elasticsearch-6.2.4/ es/
[root@localhost local]# sed -i 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/g' /usr/local/es/config/elasticsearch.yml 
[root@localhost local]# sed -i 's/#http.port: 9200/http.port: 9200/g' /usr/local/es/config/elasticsearch.yml 
[root@localhost local]# su es         # 切换用户启动服务
[es@localhost local]$ /usr/local/es/bin/elasticsearch -d    # 服务后台运行      

如果遇到错误:max file descriptors 65535 for elasticsearch process is too low, increase to at least 65536

代码语言:javascript
复制
[root@localhost local]# echo '* soft nofile 819200' >> /etc/security/limits.conf
[root@localhost local]# echo '* hard nofile 819200' >> /etc/security/limits.conf 
[root@localhost local]# echo '* soft nproc 2048' >> /etc/security/limits.conf 
[root@localhost local]# echo '* hard nproc 4096' >> /etc/security/limits.conf 
[root@localhost local]# echo 'vm.max_map_count=655360' >> /etc/sysctl.conf 
[root@localhost local]# sysctl -p
vm.max_map_count = 655360

2、安装kibana:

代码语言:javascript
复制
[root@localhost local]# cd /efk/
[root@localhost efk]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz
[root@localhost local]# mv kibana-6.2.4-linux-x86_64/ kibana/
[root@localhost local]# sed -i 's/#kibana.index: ".kibana"/kibana.index: ".kibana"/g' /usr/local/kibana/config/kibana.yml 
[root@localhost local]# sed -i 's/#server.port: 5601/server.port 5601/g' /usr/local/kibana/config/kibana.yml 
[root@localhost local]# sed -i 's/#server.host: "localhost"/server.host "0.0.0.0"/g' /usr/local/kibana/config/kibana.yml 
[root@localhost local]# sed -i 's/#elasticsearch.url: "http://localhost:9200"/elasticsearch.url: "http://localhost:9200"/g' /usr/local/kibana/config/kibana.yml 
[root@localhost /]# /usr/local/kibana/bin/kibana &

3、安装filebeat:

代码语言:javascript
复制
[root@localhost /]# cd /efk/
[root@localhost efk]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-linux-x86_64.tar.gz
[root@localhost efk]# tar zxf filebeat-6.2.4-linux-x86_64.tar.gz -C /usr/local/
[root@localhost local]# mv filebeat-6.2.4-linux-x86_64/ filebeat/
[root@localhost local]# vim /usr/local/filebeat/filebeat.yml
#找到如下类似内容进行修改
filebeat.prospectors:
- type: log
enabled: true
 paths:
    - /etc/httpd/logs/*_log                      # 指定日志文件存放位置
multiline.pattern: ^\[
multiline.negate: true
multiline.match: after
setup.kibana:
        host: 192.168.171.134
output.elasticsearch:
  hosts: ["192.168.171.134:9200"]
#配置一定要注意格式,是以2个空格为子级,里面的配置都在配置文件中,列出来的只是
要修改的部分,enabled默认为false,需要改成true才会收集日志。其中/var/xxx/*.log修改
为自己的日志路径,注意-后面有一个空格,
如果多个路径则添加一行,一定要注意新行前面的4个空格,multiline开头的几个配置取消
注释就行了,是为了兼容多行日志的情况,setup.kibana中的host取消注释,根据实际情
况配置地址,output.elasticsearch中的host也一样,根据实际情况配置
[root@localhost local]# ./filebeat/filebeat -c /usr/local/filebeat/filebeat.yml             # 启动服务

二、配置Kibana

浏览器访问:

至此EFK就搭建完毕了,可以点击descover来查看信息

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档