基于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 ...
随机推荐
- python重拾第十一天-RABBITMQ队列
安装python rabbitMQ module pip install pika 官网 https://pypi.python.org/pypi/pika 安装rabbit-server服务,cen ...
- Swoole v6 能否让 PHP 再次伟大?
大家好,我是码农先森. 现状 传统的 PHP-FPM 也是多进程模型的的运行方式,但每个进程只能处理完当前请求,才能接收下一个请求.而且对于 PHP 脚本来说,只是接收请求和响应请求,并不参与网络通信 ...
- uboot 添加 自定义命令
--- title: uboot-uboot 添加 自定义命令 date: 2020-05-13 16:51:38 categories: tags: - uboot - cmd - config - ...
- 使用kk在centos7上离线部署kubesphere v3.0.0详解
环境准备 以三台centos 7.7 64bit 为例: 确保所有机器已经安装所需依赖软件(sudo curl openssl ebtables socat ipset conntrack docke ...
- Codeforces Round 955 (Div. 2, with prizes from NEAR!) codeforces div2 955
A. Soccer ------------------------题解--------------- 给你开始比分和结束比分问你中间两队比分有没有相等过有可能就是YES不可能就是NO 结束时两队比分 ...
- debian12 安装ch343驱动
前言 最近心血来潮,装了一台debian12玩,安装完毕arduino后发现没有ch343驱动,倒是在 ls /lib/modules/6.1.0-13-amd64/kernel/drivers/us ...
- VUE商城项目 -登录功能 - 手稿
用户列表功能开发
- c# 对DataTable数据筛选后进行修改操作
记录一次对DataTable中的数据筛选去重后,然后对数据进行修改! foreach (DataRow dr in dt.Rows) // 便利dt { if (StringUtil.isNotNul ...
- 使用gzexe加密shell脚本
使用 gzexe 加密 shell 脚本是一个相对简单的过程.以下是具体的步骤: 编写你的 shell 脚本:首先,你需要有一个 shell 脚本文件,比如 myscript.sh. 确保脚本可执行: ...
- 基于Java+Spring+Vue仓储出入库管理系统设计和实现
\n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 网络的广泛应用给生活带来了十分的便利.所以把仓储出入库管理与现在网络相结合,利 ...