基于docker搭建单机测试ELK
说明:本次使用的windows系统,利用vm进行安装虚拟机,安装的只是单测试单机版elk。
一、下载vm
自行官网下载
二、安装centos7系统
自己有现成的镜像跳过,没有自行查找资料完成
三、进行centos系统后进行docker安装
1)yum install docker(后面一路回车)
2)进行docker镜像加速
参考地址:https://www.cnblogs.com/runnerjack/articles/7519070.html
四、修改host文件
vi /etc/hosts
添加以下内容
==================
Ip elasticsearch
五、关闭防火墙与selinux
1)
systemctl stop firewalld.service
systemctl disable firewalld.service
2)
setenforce 0
vim /etc/sysconfig/selinux
将其中的:
SELINUX=enforcing
改成:
SELINUX=disabled
六、安装ElasticSearch
1)安装
docker pull docker.io/elasticsearch:7.5.2
docker run -d --name es --restart=always --net=host -e "discovery.type=single-node" docker.io/elasticsearch:7.5.2
2)配置跨域
docker exec -it es /bin/bash
修改 elasticsearch.yml(cd / 后用find -name elasticsearch.yml进行查找)
#显示文件
ls
结果如下:
LICENSE.txt README.textile config lib modules
NOTICE.txt bin data logs plugins
#进入配置文件夹
cd config
#显示文件
ls
结果如下:
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml users
#修改配置文件
vi elasticsearch.yml
#==========================================重点在这==================================
#加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
3)重启容器
docker restart es
4)验证访问
http://localhost:9200/
显示效果如下就成功了
{
"name":"a12CcOw",
"cluster_name":"docker-cluster",
"cluster_uuid":"Zi4eufCQQ6y88rO0lt9YVw",
"version":{
"number":"6.3.2",
"build_flavor":"default",
"build_type":"tar",
"build_hash":"053779d",
"build_date":"2018-07-20T05:20:23.451332Z",
"build_snapshot":false,
"lucene_version":"7.3.1",
"minimum_wire_compatibility_version":"5.6.0",
"minimum_index_compatibility_version":"5.0.0"
},
"tagline":"You Know, for Search"}
七、安装ElasticSearch-Head
为什么要安装ElasticSearch-Head呢,原因是需要有一个管理界面进行查看ElasticSearch相关信息
第一步:拉取
docker pull mobz/elasticsearch-head:5
第二步:安装
docker run -d --name es_admin -p 9100:9100 --restart=always mobz/elasticsearch-head:5
第三步:访问地址
见如下效果就成功了

八、安装logstash
1)
docker run -d --net=host \
-v /home/lj/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-v /home/lj/logstash/test/:/home/lj/logstash/test/ \
--restart=always \
--name es_logstash docker.io/logstash:7.5.2
其中外挂的logstash.conf文件为(文件内容严格遵守缩进,不然不报错而且容器退出):
input {
beats {
port => "5044"
}
}
filter {
}
output {
stdout {}
elasticsearch {
hosts => ["192.168.253.140:9200"]
index => "logstash-test-%{+YYYY.MM.dd}"
}
}
2)进入目录cd config ,打开并修改配置文件
docker exec -it es_logstash /bin/bash
cd /usr/share/logstash/config
vi logstash.yml
修改IP
xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ]
为
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.253.140:9200" ]
添加以下信息
xpack.monitoring.elasticsearch.username: elastic
xpack.monitoring.elasticsearch.password: changme
重启容器
docker restart es_logstash
九、安装kibana
注意版本一定要比ES低
1)生成容器
docker run --name es_kibana -p 5601:5601 -d --net=host --restart=always -e ELASTICSEARCH_URL=http://localhost:9200 docker.io/kibana:7.5.2
3) 访问:http://localhost:5601/

十、安装filebeat
1) 拉镜像
docker pull docker.io/elastic/filebeat:7.5.2
2)配置文件
mkdir -p /home/lj/filebeat/config
vi /home/lj/filebeat/config/filebeat.yml
filebeat.inputs:
- type: log
paths:
- /var/log/system.log
- /var/log/wifi.log output.logstash:
hosts: ["127.0.0.1:5044"]
2) 生成容器
docker run -d --name filebeat \
-v /home/lj/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /test/log/:/var/log/ \
--restart=always \
docker.io/elastic/filebeat:7.5.2
十一、验证
在宿主机的/test/log/目录下创建一个wifi.log或system.log文件,随便丢点东西,然后访问http://192.168.253.140:9200/logstash-test-2020.04.15/_search就能查看到数据了,黄色为现在的日期。
可能碰到的问题:
1. docker启动报错iptables failed?
解决方案:https://www.cnblogs.com/amoyzhu/p/9329368.html
2. 本次elk安装参考的网址?
https://www.jianshu.com/p/a0bd70301eec
但是文档中的安装与参考的内容有些出入,版本号也不一样。以文档为主,碰到问题可以参考elk安装参考网址。
基于docker搭建单机测试ELK的更多相关文章
- 基于docker搭建开源扫描器——伏羲
基于docker搭建开源扫描器——伏羲 1.简介 项目地址 伏羲是一款开源的安全检测工具,适用于中小型企业对企业内部进行安全检测和资产统计. 功能一览: 基于插件的漏洞扫描功能(类似于巡风) 漏洞管理 ...
- 基于Docker搭建大数据集群(一)Docker环境部署
本篇文章是基于Docker搭建大数据集群系列的开篇之作 主要内容 docker搭建 docker部署CentOS 容器免密钥通信 容器保存成镜像 docker镜像发布 环境 Linux 7.6 一.D ...
- 基于Docker搭建Hadoop+Hive
为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...
- 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现
庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介 在第七篇文章<庐山真面目之七微服务架构Consul ...
- 基于Docker搭建大数据集群(六)Hive搭建
基于Docker搭建大数据集群(六)Hive搭建 前言 之前搭建的都是1.x版本,这次搭建的是hive3.1.2版本的..还是有一点细节不一样的 Hive现在解析引擎可以选择spark,我是用spar ...
- 基于Docker搭建大数据集群(七)Hbase部署
基于Docker搭建大数据集群(七)Hbase搭建 一.安装包准备 Hbase官网下载 微云下载 | 在 tar 目录下 二.版本兼容 三.角色分配 节点 Master Regionserver cl ...
- 基于Docker搭建分布式消息队列Kafka
本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...
- [转帖]基于docker 搭建Prometheus+Grafana
基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...
- 基于 Docker 搭建 Consul 多数据中心集群
本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...
- 基于docker搭建laravel项目
基于docker搭建laravel项目 公司PHP项目是Laravel框架写的,目前环境需要通过docker来部署一下.网上学习了一下相关知识.整理后做一个笔记.用到定时任务crontab与进程管理s ...
随机推荐
- 攻防世界——CRYPTO新手练习区解题总结<1>(1-4题)
第一题base64: 下载附件,得到一个txt文件,打开 得到一串乱码,由题目可知,是base64,解码得到flag 第二题Caesar: 下载附件得到乱码 oknqdbqmoq{kag_tmhq_x ...
- 缺氧debu模式
OxygenNotIncluded_Data(E:\SteamLibrary\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data) 文件 ...
- P9358 题解
不难发现,最开始有 \(n\) 条链,并且由于每个点最多有一个桥,所以我们的交换操作实际上等价于将相邻的两条链断开,然后将它们后半部分交换.并且每个点在路径中的相对位置不变. 于是考虑维护这些链. 有 ...
- Qt 学习笔记 - 第四章 - Qt的三驾马车之 - 网络编程
Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布局.界面切换 Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口 ...
- Mac下安装Redis,附可视化工具Medis
导读 我之前写过很多相关的redis的博文,有时候,为了开发,还得去虚拟机上搭建一个redis,感觉太麻烦了,为了做个demo,直接在自己mac本上安装一个即可. Redis 从入门到精通:点我直达 ...
- yb课堂 搭建node环境和npm安装 《二十六》
搭建node环境和npm安装 什么是NodeJS? Node.js就是运行在服务端得JavaScript 什么是npm? nodejs的包管理工具,可以下载使用公共仓库的包,类似maven包安装分为本 ...
- TLScanary:Pwn中的利器
TLScanary:Pwn中的利器 引言:什么是TLScanary? 在二进制漏洞利用(Pwn)领域,攻击者面临着层层防护措施的挑战.在安全竞赛(如CTF)和实际漏洞利用中,TLS(线程本地存储) ...
- 【解决方案】智能UI自动化测试
你的UI自动化追得上业务的变更和UI更迭吗?当今瞬息万变的时代,成千上万的App围绕着现代人生活的点点滴滴.为了满足用户的好的体验和时刻的新鲜感,这些App需要时刻保持变化,也给 UI自动化落地实施带 ...
- 输入Javac提示不是内部或外部命令
先去百度搜索"jdk下载"下载最新版jdk,并安装,安装目录不用去更改,直接默认就好,下载完了之后,双击打开安装,jdk安装完成后,会接着安装jre包,(jre和jdk是配对的,不 ...
- Odoo 通过Javascript调用模型中自定义方法
实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 在js脚本函数中调用模型中自定义方法: this._rpc({ model: 'demo.wizard ...