docker-compose安装EFK
一、环境
| IP | 系统 | 配置 | 版本 |
| 192.168.10.100 | Centos7.9 | 2核4G | Docker Compose version v2.19.1、EFK-7.17.11 |
EFK版本是试用版本
二、安装docker环境
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
yum -y install docker-ce cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors":["https://pft7f97f.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"]
}
EOF systemctl daemon-reload
systemctl start docker
[root@efk efk]# docker compose version
Docker Compose version v2.19.1
三、下载EFK相关镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.11
docker pull docker.elastic.co/kibana/kibana:7.17.11
docker pull docker.elastic.co/beats/filebeat:7.17.11 [root@efk efk]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.elastic.co/beats/filebeat 7.17.11 b4bef40e4a4a 3 weeks ago 268MB
docker.elastic.co/elasticsearch/elasticsearch 7.17.11 0f404e39b5e6 3 weeks ago 630MB
docker.elastic.co/kibana/kibana 7.17.11 ff2a71cd3986 3 weeks ago 798MB
四、编辑filebeat.yaml文件
[root@efk efk]# cat filebeat.yaml
filebeat.inputs:
- type: log
paths:
- '/usr/share/filebeat/logs/*' processors:
- decode_json_fields:
fields: ["message"]
target: ""
overwrite_keys: true output.elasticsearch:
hosts: ["http://192.168.10.100:9200"]
indices:
- index: "filebeat-%{+yyyy.MM.dd}" setup.kibana:
host: "http://192.168.10.100:5601" logging.json: true
logging.metrics.enabled: false
五、部署EFK系统
5.1 创建数据目录
mkdir /data/efk/es/data/nodes -p
chmod -R 777 /data/efk
5.2 编辑docker-compose.yaml文件
[root@efk efk]# cat docker-compose.yml
version: '3.3' services: elasticsearch:
image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.11"
container_name: elasticsearch
restart: always
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.type=single-node"
- "cluster.name=myes"
- "node.name=jeven"
# - xpack.security.enabled: "false"
ulimits:
memlock:
soft: -1
hard: -1
networks:
myefk:
ipv4_address: 172.29.120.10
aliases:
- es
- jeven
ports:
- "9200:9200"
- "9300:9300"
volumes:
- /data/efk/es/data/:/usr/share/elasticsearch/data kibana:
image: "docker.elastic.co/kibana/kibana:7.17.11"
restart: always
environment:
# 注意这里的配置,否则会导致kibana页面不能打开
ELASTICSEARCH.URL: http://192.168.10.100:9200
ELASTICSEARCH.HOSTS: '["http:/192.168.10.100:9200"]'
I18N_LOCALE: zh-CN
networks:
myefk:
ipv4_address: 172.29.120.20
aliases:
- kibana
- kib
ports:
- "5601:5601"
links:
- "elasticsearch" filebeat:
image: "docker.elastic.co/beats/filebeat:7.17.11"
restart: always
networks:
myefk:
ipv4_address: 172.29.120.30
aliases:
- filebeat
- fb
user: root
command: ["--strict.perms=false"]
volumes:
- /data/efk/filebeat.yaml:/usr/share/filebeat/filebeat.yml
- /var/lib/docker:/var/lib/docker:ro
- /var/run/docker.sock:/var/run/docker.sock
links:
- "elasticsearch"
- "kibana" networks:
myefk:
driver: bridge
ipam:
config:
- subnet: 172.29.120.0/24
5.3 运行EFK
[root@efk efk]# docker compose up -d
[+] Running 4/4
Network efk_myefk Created 0.3s
Container elasticsearch Started 0.4s
Container efk-kibana-1 Started 0.8s
Container efk-filebeat-1 Started # 关闭命令为 docker compose down [root@efk efk]# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
efk-filebeat-1 docker.elastic.co/beats/filebeat:7.17.11 "/usr/bin/tini -- /u…" filebeat 27 minutes ago Up 27 minutes
efk-kibana-1 docker.elastic.co/kibana/kibana:7.17.11 "/bin/tini -- /usr/l…" kibana 27 minutes ago Up 27 minutes 0.0.0.0:5601->5601/tcp, :::5601->5601/tcp
elasticsearch docker.elastic.co/elasticsearch/elasticsearch:7.17.11 "/bin/tini -- /usr/l…" elasticsearch 27 minutes ago Up 27 minutes 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp
5.4 查看efk容器日志
[root@efk efk]# docker compose logs |head
elasticsearch | {"type": "server", "timestamp": "2023-07-19T08:49:09,038Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "myes", "node.name": "jeven", "message": "loaded module [aggs-matrix-stats]" }
elasticsearch | {"type": "server", "timestamp": "2023-07-19T08:49:09,038Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "myes", "node.name": "jeven", "message": "loaded module [analysis-common]" }
elasticsearch | {"type": "server", "timestamp": "2023-07-19T08:49:09,038Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "myes", "node.name": "jeven", "message": "loaded module [constant-keyword]" }
elasticsearch | {"type": "server", "timestamp": "2023-07-19T08:49:09,054Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "myes", "node.name": "jeven", "message": "loaded module [frozen-indices]" }
5.5 测试访问
[root@efk efk]# curl 192.168.10.100:9200
{
"name" : "jeven",
"cluster_name" : "myes",
"cluster_uuid" : "-y4gQ2IvQ_CohEPfppPnSw",
"version" : {
"number" : "7.17.11",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "eeedb98c60326ea3d46caef960fb4c77958fb885",
"build_date" : "2023-06-23T05:33:12.261262042Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
六、访问Kibana服务
6.1 页面访问kibana进入首页
http://192.168.10.100:5601

6.2 查看日志信息
1.进入索引管理界面
选左侧打开目录:Managerment---stack managrment ---数据---索引管理

2.查看filebeta索引信息

3.创建索引
选择:索引模式---创建索引---设置索引名称--索引时间戳字段--创建索引

4.搜索日志信息
在主页,选择discover模块位置,根据字段可搜索日志信息

5.查看日志文件信息
Observability——日志,点击进入

本次搭建引用文章:https://cloud.tencent.com/developer/article/2210662
出现2个问题:
1./data/efk/es目录的权限问题,我都改成了777
2.kibana页面不能访问问题,修改了docker-compose.yaml文件中,下面2个字段:
ELASTICSEARCH.URL: http://192.168.10.100:9200
ELASTICSEARCH.HOSTS: '["http:/192.168.10.100:9200"]'
docker-compose安装EFK的更多相关文章
- Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日志
简述 本文用于记录如何使用Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana) 收集Docker容器日志,使用EFK,可以无侵入代码,获得灵活, ...
- 手把手教你 Docker Compose安装DOClever
一.什么是Docker Compose以及Docker Compose的安装和使用 查看我的另外一篇博客:Docker Compose的安装和使用 二.DOClever是什么 DOClever是一个可 ...
- Docker Compose 安装 on centos7
本文演示如何在CentOS7上安装Docker Compose. 1 在线安装 1.1 下载安装包 $ curl -L https://github.com/docker/compose/releas ...
- Docker Compose安装以及入门
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 简介 Compose 项目是 Docker 官方的开源 ...
- 使用 docker compose 安装 tidb
目标 : 单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群 前提条件: 1.centos版本在7.3 以上 2.安装git 3.安装docker Docker versi ...
- centos docker compose安装
docker compose离线安装 通过联网机器下载docker-compose离线安装包(参见Downloads部分) https://github.com/docker/compose/rele ...
- docker和docker compose安装使用、入门进阶案例
一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...
- Docker Compose安装部署Jenkins
流水线可以让项目发布流程更加清晰,docker可以大大减少Jenkins配置. 1.前言 数据卷挂载到 /var 磁盘目录下,因为该磁盘空间较大,后面需要挂载容器数据卷,以防内存吃紧. 为了可以留存启 ...
- Docker Compose安装Registry后配置WebUI与客户端
场景 Docker 私服Registry简介与使用Docker-Compose安装Registry: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...
- docker compose安装gitea
docker-compose.yml version: "3.4" networks: gitea: external: false services: server: image ...
随机推荐
- 作用域&变量提升&闭包题目及内容解答
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 代码输出结果 (function(){ var x = y = 1; })(); var z; console.log(y); // ...
- halo【攻防世界】Misc
这是一个傻逼的解题记录 初学自己摸索的菜鸟,欢迎大佬指正(磕头) 题目: 下载打开: 一时间也没啥头绪,丢到CyberChef里面看看 只有base64解码出非乱码字符串 igq4;441R;1ikR ...
- node-xlsx处理excel
引用node-xlsx npm install node-xlsx -save 文件中引用 const xlsx = require('node-xlsx') 读取excel const sheet ...
- 【Oracle】通过LogMiner实现Oracle数据同步迁移
写在前面 最近在研究如何实现Oracle数据库之间的数据同步,网上的资料确实比较少.最好用的Oracle数据库同步工具是:GoldenGate ,而GoldenGate是要收费的.那么还有什么好的办法 ...
- 聊聊微信小程序的隐私协议开发
为什么需要隐私协议? 小程序隐私授权弹窗FAQ官方:https://developers.weixin.qq.com/community/develop/doc/00000ebac5c3e042384 ...
- KingbaseES 如何查看表的创建时间
前言 在oracle数据库中,我们可以查看数据字典dba_objects得到表的创建时间.在Kingbase中如何查看表的创建时间呢?Kingbase数据库中无法通过数据字典查看有关信息,但可以通过其 ...
- 【已解决】Hadoop_07 Hadoop启动超时失败
- C++设计模式 - 门面模式(Facade)
接口隔离模式 在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题.甚至根本无法实现.采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案. 典型模式 Facade P ...
- ET介绍——Actor Location
Actor Location Actor模型只需要知道对方的InstanceId就能发送消息,十分方便,但是有时候我们可能无法知道对方的InstanceId,或者是一个Actor的InstanceId ...
- BI 和报表有什么区别
BI 从早期提出的概念上来划分可以分为数据仓库.ETL.olap 和报表这几部分可以看到报表只是 BI 中的一个组成部分,只不过数据在 web 端展示时通常是通过报表形式,所以经常会把报表当做是 BI ...