基于docker部署ELK实战- ELK文章1

news2024/11/18 1:51:50

选择版本为elasticsearch:7.17.9,kibana:7.17.9,logstash:7.17.9
版本一定要一致
docker hub地址:https://hub.docker.com
elk相关文档:https://www.elastic.co/guide/en/kibana/7.17

一、部署单点es

1.创建网络

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:
这个可用,可不用,看具体的网络环境

    docker network create es-net

拉取镜像

考虑到elasticsearch的兼容性,这里elasticsearch、kibana、IK分词器统一下载7.17.9版本

拉取镜像

    docker  pull  elasticsearch:7.17.9
    docker  pull  kibana:7.17.9

运行es

#–network es-net
运行docker命令,部署单点es:

docker run -d --name es \
    --restart=always \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v /etc/localtime:/etc/localtime:ro \
    -v /home/docker_data/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /home/docker_data/elasticsearch/logs:/usr/share/elasticsearch/logs \
    -v /home/docker_data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    -p 9200:9200 \
    -p 9300:9300 \
    elasticsearch:7.17.9

命令解释

-e “cluster.name=es-docker-cluster”:设置集群名称
-e “http.host=0.0.0.0”:监听的地址,可以外网访问
-e “ES_JAVA_OPTS=-Xms512m -Xmx512m”:内存大小
-e “discovery.type=single-node”:非集群模式
-v es-data:/home/docker_data/elasticsearch/data:挂载逻辑卷
-v es-logs:/home/docker_data/elasticsearch/logs:挂载逻辑卷
-v es-plugins:/home/docker_data/elasticsearch/plugins:挂载逻辑卷
–privileged:授予逻辑卷访问权
–network es-net :加入一个名为es-net的网络中
-p 9200:9200:端口映射配置

结果

在浏览器中输入:http://10.255.20.231:9200 即可看到elasticsearch的响应结果:

配置拷贝

docker cp es:/usr/share/elasticsearch/config /home/docker_data/elasticsearch
chmod -R 777 config/
#重启

增加配置文件映射,重启

运行docker命令,部署单点es:

docker run -d --name es \
    --restart=always \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v /etc/localtime:/etc/localtime:ro \
    -v /home/docker_data/elasticsearch/config:/usr/share/elasticsearch/config \
    -v /home/docker_data/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /home/docker_data/elasticsearch/logs:/usr/share/elasticsearch/logs \
    -v /home/docker_data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    -p 9200:9200 \
    -p 9300:9300 \
    elasticsearch:7.17.9

二、部署kibana

kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。
#–network=es-net \


docker pull kibana:7.17.9

部署

运行docker命令,部署kibana

    docker run -d \
        --name kibana \
        --restart=always \
        -v /etc/localtime:/etc/localtime:ro \
        -v /home/docker_data/kibana/config:/usr/share/kibana/config \
        -v /home/docker_data/kibana/data:/usr/share/kibana/data \
        -e ELASTICSEARCH_HOSTS=http://10.255.20.231:9200 \
        -p 5601:5601  \
        kibana:7.17.9

参数说明

–network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
-e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
-p 5601:5601:端口映射配置

结果

kibana启动一般比较慢,需要多等待一会,可以通过命令:

docker logs -f kibana

查看运行日志,当查看到下面的日志,说明成功:

配置文件

docker cp kibana:/usr/share/kibana/config /home/docker_data/kibana/config
docker cp kibana:/usr/share/kibana/config/kibana.yml /home/docker_data/kibana/config/kibana.yml

查看页面: http://10.255.20.231:5601

三、部署logstash

镜像拉取

    docker pull logstash:7.17.9

部署

[root@test231 docker_data]# mkdir logstash
[root@test231 docker_data]# mkdir -p logstash/config/conf.d
[root@test231 docker_data]# cd logstash/config/conf.d
[root@test231 docker_data]# touch shininglog.conf
[root@test231 docker_data]# chmod -R 777 /home/docker_data/logstash

#–network=es-net \

docker run -d \
  --name=logstash \
  --restart=always \
  -p 5044:5044 \
  -v /etc/localtime:/etc/localtime:ro \
  -v /data/logs:/data/logs \
  -v /home/docker_data/logstash/config:/usr/share/logstash/config \
  -v /home/docker_data/logstash/data:/usr/share/logstash/data \
  -v /home/docker_data/logstash/log/messages:/var/log/messages \
  logstash:7.17.9

配置

    input {
      file {
        #标签
        type => "shining-plat-applet"
        #采集点
        path => "/data/logs/shining-plat-applet/*.log"
        #开始收集点
        start_position => "beginning"
        #扫描间隔时间,默认是1s,建议5s
        stat_interval => "5"
      }
    }
    output {
        if ["type"] == "shining-plat-applet" {
            elasticsearch {
                hosts => ["10.255.20.231:9200"]
                index => "shininglog-plat-applet-%{+YYYY.MM.dd}"
            }
        }
    }

注意⚠️

我们使用的是docker容器,所以,一定要做输入数据源的来源文件映射,切记

效果

在这里插入图片描述
后续会发一系列问题文章。。。
环境交流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iframe嵌套grafana (前端视角)

1、grafana 启动方式 ①.grafana目录鉴赏。咱们就是直接拿到配置好的grafana。咱们暂时不涉及配置数据啥。 ①.双击grafana-server.exe &#xff0c;会出现黑色命令框。 ②.在浏览器中访问 http://localhost:3000 此时就可以看到配置好的grafana 2.前端嵌入 ①.html <…

消息队列中间件 - Docker安装RabbitMQ、AMQP协议、和主要角色

概述 不管是微服务还是分布式的系统架构中&#xff0c;消息队列中间件都是不可缺少的一个重要环节&#xff0c;主流的消息队列中间件有RabbitMQ、RocketMQ等等&#xff0c;从这篇开始详细介绍以RabbitMQ为代表的消息队列中间件。 AMQP协议 AMQP协议是一个提供统一消息服务的应…

图像处理:基于cv2.inpaint()图像修补

前言 今天我们将学习如何通过一种“修复”的方法消除旧照片中的小噪音&#xff0c;笔画等。当然&#xff0c;经过我的测试你也可以将其用于削弱混杂了其他的颜色的图像。 实验背景 大多数人家都会有一些旧的的旧化照片&#xff0c;上面有黑点&#xff0c;一些笔触等。你是否…

从零实现深度学习框架——常见学习率调整策略原理与实现

引言 本着“凡我不能创造的&#xff0c;我就不能理解”的思想&#xff0c;本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架&#xff0c;该框架类似PyTorch能实现自动求导。 &#x1f4a1;系列文章完整目录&#xff1a; &#x1f449;点此&#x1f448; 要深入理解…

day24_多线程

今日内容 零、 复习昨日 一、作业 二、线程安全的集合 三、死锁 四、线程通信 五、生产者消费者 六、线程池 零、 复习昨日 见晨考 一、作业 售卖后车票 见代码二、线程安全的类[了解] StringBuffer是线程安全的,是因为每个方法都加上synchronized,即都是同步方法 StringBuil…

【前端】前后端分离ruoyi-vue初步学习

1.了解vue基础知识。 Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org) 2.将ruoyi-vue项目拉下来&#xff0c;并成功运行。 开源项目网址&#xff1a;RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|…

《Netty》从零开始学netty源码(五十四)之PoolThreadLocalCache

PoolThreadLocalCache 前面讲到PoolThreadCache&#xff0c;它为线程提供内存缓存&#xff0c;当线程需要分配内存时可快速从其中获取&#xff0c;在Netty中用PoolThreadLocalCache来管理PoolThreadCache&#xff0c;它的数据结构如下&#xff1a; PoolThreadLocalCache相当…

【网络】UDP网络服务器简单模拟实现

【网络】UDP网络服务器简单模拟实现 文章目录 makefile服务端udpServerudpServer.ccudpServer.hpp初始化启动测试 客户端udpClientudpClient.ccudpClient.hpp初始化启动 整体代码 UDP的封装: UDP网络服务器模拟实现&#xff1a;主要分为makefile文件进行编译 UDP客户端&#xf…

Java开发 - 不知道算不算详细的分布式事务详解

前言 前日对JUC进行了一个深度总结&#xff0c;不过现在博主能记得的也不多了&#xff0c;只是这东西&#xff0c;不是看几遍写几遍就能完全记住的&#xff0c;功夫在平时&#xff0c;很多知识点都需要反复的看&#xff0c;不光要看&#xff0c;还要用&#xff0c;这样才能了解…

在CentOS上安装Jenkins并配置Docker

文章目录 步骤1 - 安装Java 11步骤2 - 安装Jenkins步骤3 - 安装Docker步骤4 - 配置Docker Cloud步骤 5 - 验证步骤 6 - 可能会遇到的问题 在本教程中&#xff0c;我们将展示如何在CentOS上安装Jenkins和Docker&#xff0c;并将它们配置在同一台机器上&#xff0c;使Jenkins能够…

《花雕学AI》WeTab+ChatGPT:让浏览器变成你的智能助手

引言&#xff1a; 浏览器是我们日常使用的最重要的工具之一&#xff0c;它可以帮助我们获取信息、娱乐、学习、工作等。但是&#xff0c;传统的浏览器往往不能满足我们的个性化需求&#xff0c;也不能给我们提供智能化的服务。那么&#xff0c;有没有一种浏览器可以让我们的体…

yoloV2细节改进

文章目录 1 v2 细节升级概述2 .网络结构特点3. 架构细节解读4. 基于聚类来选择先验框尺寸5. 偏移量计算方法6. 坐标映射与还原7 感受野8. 特征融合的改进其他知识点filter 是什么&#xff1f; 1 v2 细节升级概述 2 .网络结构特点 使用dropout&#xff0c;杀死部分神经元&#…

Java集合之单列集合

分类 集合分为单列集合&#xff08;Collection&#xff09;和双列集合&#xff08;Map&#xff09; 单列集合的体系结构 List集合和Set集合的区别 List系列集合&#xff1a;添加元素是有序的&#xff08;添加的顺序&#xff0c;而非数据的大小顺序&#xff09;、可重复、有索引…

为什么在Ubuntu系统使用附加驱动更新Nvidia显卡驱动不起作用

1. 硬件环境 CPU&#xff1a;AMD Ryzen 9 5950x 16-core processor 32 GPU&#xff1a;双GeForce RTX 3090 操作系统&#xff1a;Ubuntu 22.04.2 LTS 64 位 主板&#xff1a;ASUS的ROG CROSSHAIR VIII EXTREME 2. 问题描述 使用上图所示的附加驱动程序更新Nvidia显卡驱动&am…

恢复item2和oh-my-zsh的配置

1. 首先正常安装item2 2. 加载onedrive里的传家宝iterm2_default_profile.json&#xff0c;让iterm2的配置生效 2. 然后正常安装oh-my-zsh (官方步骤&#xff1a; sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&q…

C# 学习abstract

abstract 顾名思义&#xff1a;抽象 从微软官方文档来看&#xff1a;abstract 修饰符指示被修改内容的实现已丢失或不完整。 abstract 修饰符可用于类、方法、属性、索引和事件。 在类声明中使用 abstract 修饰符来指示某个类仅用作其他类的基类&#xff0c;而不用于自行进行…

linux内核调试的几个方法

参考 以下内容&#xff1a; Linux 笔记&#xff1a; https://xuesong.blog.csdn.net/article/details/109522945?spm1001.2014.3001.5502 printk: printk在内核源码中用来记录日志信息的函数&#xff0c;只能在内核源码范围内使用。用法和printf非常相似&#xff1b; printk…

InsCode体验报告

文章目录 前言一、InsCode是什么&#xff1f;二、体验过程1.创建项目2.在线IDE3.运行和部署项目4.浏览和学习项目5.分享和协作项目6.支持AI助手 三、体验感受优点缺点 总结 官方宣传视频 InsCode-AI 前言 作为一个大三计算机专业的学生&#xff0c;我对编程有着浓厚的兴趣和热…

Triloga 的任务 — Satta 系列来袭!

谁战胜了这些凶兽&#xff0c;谁就获得了力量&#xff0c;让我们通过装备体现出来&#xff01;来自神秘洞穴的疯狂昆虫外壳&#xff0c;黄昏之地燃烧中的部落的骨质盔甲&#xff0c;以及深海的美妙灯光。 Triloga 的任务——Satta 系列已在 The Sandbox 市场平台上架&#xff1…

JVM(类的加载与ClassLoader、双亲委派机制)

文章目录 1. 类的生命周期2. 类的加载过程3. 类加载器&#xff08;classloader)3.1 类加载器的作用3.2 类加载器的分类(JDK8)3.3 双亲委派机制3.3.1 双亲委派机制优势 3.4 查看某个类的类加载器对象3.5 使用ClassLoader获取流 1. 类的生命周期 类在内存中完整的生命周期&#…