赞
踩
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一整套就部署完了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。