说明:本次使用的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

第三步:访问地址

http://localhost:9100/

见如下效果就成功了

八、安装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的更多相关文章

  1. 基于docker搭建开源扫描器——伏羲

    基于docker搭建开源扫描器——伏羲 1.简介 项目地址 伏羲是一款开源的安全检测工具,适用于中小型企业对企业内部进行安全检测和资产统计. 功能一览: 基于插件的漏洞扫描功能(类似于巡风) 漏洞管理 ...

  2. 基于Docker搭建大数据集群(一)Docker环境部署

    本篇文章是基于Docker搭建大数据集群系列的开篇之作 主要内容 docker搭建 docker部署CentOS 容器免密钥通信 容器保存成镜像 docker镜像发布 环境 Linux 7.6 一.D ...

  3. 基于Docker搭建Hadoop+Hive

    为配合生产hadoop使用,在本地搭建测试环境,使用docker环境实现(主要是省事~),拉取阿里云已有hadoop镜像基础上,安装hive组件,参考下面两个专栏文章: 克里斯:基于 Docker 构 ...

  4. 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现

    庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介      在第七篇文章<庐山真面目之七微服务架构Consul ...

  5. 基于Docker搭建大数据集群(六)Hive搭建

    基于Docker搭建大数据集群(六)Hive搭建 前言 之前搭建的都是1.x版本,这次搭建的是hive3.1.2版本的..还是有一点细节不一样的 Hive现在解析引擎可以选择spark,我是用spar ...

  6. 基于Docker搭建大数据集群(七)Hbase部署

    基于Docker搭建大数据集群(七)Hbase搭建 一.安装包准备 Hbase官网下载 微云下载 | 在 tar 目录下 二.版本兼容 三.角色分配 节点 Master Regionserver cl ...

  7. 基于Docker搭建分布式消息队列Kafka

    本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...

  8. [转帖]基于docker 搭建Prometheus+Grafana

    基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...

  9. 基于 Docker 搭建 Consul 多数据中心集群

    本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...

  10. 基于docker搭建laravel项目

    基于docker搭建laravel项目 公司PHP项目是Laravel框架写的,目前环境需要通过docker来部署一下.网上学习了一下相关知识.整理后做一个笔记.用到定时任务crontab与进程管理s ...

随机推荐

  1. Linux 中 uid、gid、euid、egid、groups 之间的关系

    导航 1 权限匹配流程 2 五种身份变化 3 有效用户/组 4 特权对 Shell 脚本无效 5 Sudo 与 SUID/SGID 的优先级 6 SUID.SGID.Sticky 各自的功能 Linu ...

  2. 【ClickHouse】7:clickhouse多实例安装

    背景介绍: 有三台CentOS7服务器安装了ClickHouse HostName IP 安装程序 实例1端口 实例2端口 centf8118.sharding1.db 192.168.81.18 c ...

  3. HTTP 和 HTTPS,为什么HTTPS安全?

    HTTP协议通常承载与 TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS 默认HTTP的端口号为80,HTTPS的端口号为443 因为网 ...

  4. PLSQL 编码设置

    1.先查询plsql编码格式 select userenv('language')from dual 2.新建用户变量,变量名=NLS_LANG,变量值,刚才sql查询的结果 保存后,重启plsql即 ...

  5. 机器学习策略篇:快速搭建你的第一个系统,并进行迭代(Build your first system quickly, then iterate)

    快速搭建的第一个系统,并进行迭代 如果正在考虑建立一个新的语音识别系统,其实可以走很多方向,可以优先考虑很多事情. 比如,有一些特定的技术,可以让语音识别系统对嘈杂的背景更加健壮,嘈杂的背景可能是说咖 ...

  6. 历代iPhone及Android手机的屏幕参数对比

    手机逻辑分辨率Point,也就是CSS像素,是进行网页适配的关键,以下是平时整理的一些备忘录数据,可以收藏. 屏幕清晰度分类 SD标清 HD高清(2倍屏) FHD全高清(3倍屏) QHD倍高清(4倍屏 ...

  7. API引用在Element UI (Vue 2)和Element Plus (Vue 3)中的不同

    API 变动 样式类名变化: 一些组件的样式类名有所变动,可能需要更新你的自定义样式. 事件名和属性名变化: 某些组件的事件名和属性名发生了变化,需要检查 Element Plus 文档 以了解详细信 ...

  8. oeasy教您玩转vim - 65 - # 批处理操作

    ​ 批处理操作 回忆上次 我们上次参数列表 arguments list 所谓参数列表指的是 vim 打开的 参数列表 参数会加载到内存中成为 buffer 参数的控制 :arga filename ...

  9. 【JavaScript高级04】作用域和作用域链

    1,作用域 作用域表示的是变量的有效区域,JavaScript中作用域分为全局作用域和函数作用域(在es6之前没有块作用域).其确定时间为编写成功之后就已经确定好了. 作用域的作用是用来隔离变量,不同 ...

  10. 2024-07-24:用go语言,给定一个整数数组 nums,其中至少包含两个元素。 可以根据以下规则执行操作:选择最前面两个元素删除、选择最后两个元素删除,或选择第一个和最后一个元素删除。 每次操作

    2024-07-24:用go语言,给定一个整数数组 nums,其中至少包含两个元素. 可以根据以下规则执行操作:选择最前面两个元素删除.选择最后两个元素删除,或选择第一个和最后一个元素删除. 每次操作 ...