千家信息网

Centos 7.3 搭建EFK日志分析的步骤

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,EFK 不是一个软件,而是一套解决方案。EFK 是三个开源软件的缩写,Elasticsearch,FileBeat,Kibana。其中 ELasticsearch 负责日志分析和存储,FileBeat
千家信息网最后更新 2024年11月18日Centos 7.3 搭建EFK日志分析的步骤

EFK 不是一个软件,而是一套解决方案。EFK 是三个开源软件的缩写,Elasticsearch,FileBeat,Kibana。其中 ELasticsearch 负责日志分析和存储,FileBeat 负责日志收集,Kibana 负责界面展示。它们之间互相配合使用,完美衔接,高效的满足了很多场合的应用,是目前主流的一种日志分析系统解决方案。
EFK 和 ELK 只有一个区别, 收集日志的组件由 Logstash 替换成了 FileBeat,因为 Filebeat 相对于 Logstash 来说有2个好处:

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

ELK可参考:https://blog.51cto.com/14227204/2442249
当然 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:

[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]

[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 -pvm.max_map_count = 655360

2、安装kibana:

[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:

[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: logenabled: true paths:    - /etc/httpd/logs/*_log                      # 指定日志文件存放位置multiline.pattern: ^\[multiline.negate: truemultiline.match: aftersetup.kibana:        host: 192.168.171.134output.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来查看信息

0