说明:本次使用的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 中内核与应用程序的交互方式:netlink

    netlink介绍 一般来说用户空间和内核空间的通信方式有很多种,而Netlink可以实现双工通信. Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应 ...

  2. Linux启动Java程序jar包Shell脚本

    手动方式启动和终止java程序 启动java程序jar:nohup java -jar XXX.jar 查看程序占用pid:ps -ef | grep XXX.jar 或 jps jps是jdk提供的 ...

  3. 使用gitea搭建源码管理【0到1架构系列】

    使用开源搭建Git源码方案,gitlab和gitea是两个不错的方案,gitlab以前简单易用,现在功能复杂且对开源并不友好,gitea一直保持功能单一易用且完全开源,个人推荐gitea. 通过容器安 ...

  4. PHP函数http_build_query使用详解

    什么是http_build_query? 使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串.参数 formdata 可以是数组或包含属性的对象.一个 formdata 数组 ...

  5. [oeasy]python0144_try的完全体_否则_else_最终_finally

    try的完全体 回忆上次内容   上次细化了主控程序(main.py) 导入(get_fruits.py) 处理(process.py) 输出(output.py)   使用了 try 结构 try ...

  6. [oeasy]python0097_苹果诞生_史蒂夫_乔布斯_沃兹尼亚克_apple_I

    苹果诞生 回忆上次内容 上次时代华纳公司 凭借手中的影视ip和资本 吞并了雅达利公司 此时 雅达利公司 曾经开发过pong的 优秀员工 乔布斯 还在 印度禅修 寻找自我 看到游戏行业 蓬勃发展 乔布斯 ...

  7. P2427 题解

    洛谷链接 题目简述 给定 \(N \times M\) 的字符矩阵,有 \(Q\) 次询问,对于每次询问给出 \(x,y\),求以 \((x,y)\) 为中心的最大正方形边长且正方形中字符均相同. 思 ...

  8. 阅读翻译Mathematics for Machine Learning之2.5 Linear Independence

    阅读翻译Mathematics for Machine Learning之2.5 Linear Independence 关于: 首次发表日期:2024-07-18 Mathematics for M ...

  9. C#/.NET这些实用的编程技巧你都会了吗?

    DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.N ...

  10. C语言数据类型转换(自动类型转换+强制类型转换)

    自动类型转换 1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如: float f = 100; int n = f; f 是 float 类型的数据,需要先转换为 int 类 ...