使用docker部署EFK-7.8版本详细教程

ElasticSearch是一个基于Lucene的开源分布式搜索服务。只搜索和分析日志

特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,多数据源等。它提供了一个分布式多用户能力的全文搜索引擎。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Kibana是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮你汇总、分析和搜索重要数据日志。

Filebeat轻量级数据收集引擎。相对于Logstash所占用的系统资源来说,Filebeat 所占用的系统资源几乎是微乎及微。它是基于原先 Logstash-fowarder 的。

系统配置:

192.168.197.136  centos7.9   ES

192.168.197.137  centos7.9   Kibana

192.168.197.137  centos7.9   Filebeat

Es和kibana服务器需要部署docker

部署es单节点7.8版本

docker pull elasticsearch:7.8.0 拉取es镜像

创建挂载数据,配置,日志存储目录

mkdir -p /data/elasticsearch/{data,logs,config}

给挂载目录es用户的权限,容器中有es用户是elasticsearch

chown -R elasticsearch:elasticsearch /data/elasticsearch/  使用es用户名赋权报错

chown -R 1000:1000 /data/elasticsearch/   因为本机上没有这个用户所以,可以直接用es用户的id进行配置

创建配置文件直接映射进容器

vim /data/elasticsearch/config/elasticsearch.yml

cluster.name: "efk"

network.host: 0.0.0.0

http.port: 9200    

为了方便管理编写了一个启动脚本

vim es.sh

#!/bin/bash

img_name='elasticsearch:7.8.0'

path=/data/elasticsearch

name=es-7.8

docker rm -f $name

docker run -d --name "$name" \

  -e ES_JAVA_OPTS="-Xms2g -Xmx2g" \

  -e "discovery.type=single-node"  \

  --net=host            \

  --restart=always      \

  -v $path/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  \

  -v $path/data:/usr/share/elasticsearch/data  \

  -v $path/logs:/usr/share/elasticsearch/logs  \

  $img_name

#配置单节点添加的参数single-node 表示该 Elasticsearch 节点为单节点部署,不需要进行节点发现。

bash es.sh   启动

来到web访问一下  192.168.197.136:9200

到这es单节点就部署好了

部署kibana7.8版本

docker pull kibana:7.8.0   拉取镜像

mkdir   /data/kibana/config   创建配置文件目录

mkdir   /data/kibana/data 创建数据存储目录

chown 1000:1000 -R kibana 给目录赋权不然会报错没有写入权限

vim /data/kibana/config/kibana.yml   编辑kibana配置文件

server.name: kibana

server.host: "0"

elasticsearch.hosts: ["http://192.168.197.136:9200"]  #填写es地址

xpack.monitoring.ui.container.elasticsearch.enabled: true  #这个参数的意思是启用 Kibana 的监控功能,并将监控数据保存到 Elasticsearch 中

为了方便管理编写了一个启动脚本

vim kibana.sh

#!/bin/bash

img_name='kibana:7.8.0'

path=/data/kibana

name=kibana

docker rm -f $name

docker run -d --name "$name" \

  --restart=always           \

  --log-opt max-size=100m    \

  --log-opt max-file=3       \

  --net=host                 \

  -v $path/config:/usr/share/kibana/config  \

  -v $path/data:/usr/share/kibana/data     \

  $img_name

bash  kibana.sh

来到web访问一下  192.168.197.137:5601

kibana到这里就部署好了

需要采集日志的机器安装filebeat7.8版本

Download Filebeat • Lightweight Log Analysis | Elastic   访问官网

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.8.0-linux-x86_64.tar.gz

tar xzvf filebeat-7.8.0-linux-x86_64.tar.gz

mv filebeat-7.8.0-linux-x86_64 filebeat  

cd  filebeat

vim filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/log/error.log
  tags: ["error"]

output.elasticsearch:
  hosts: ["172.17.251.223:9200"]
  indices:
  - index: "login-1-error-%{+yyyy.MM.dd}"
    when.contains:
      tags: "error"

nohup ./filebeat -e -c filebeat.yml > filebeat.log & 运行filebeat

运行起来后看下运行日志是否建立链接

访问kibana查看一下有没有生成索引

到这EFK一整套就部署完了。 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值