ELK7.8.1的Docker搭建过程

在linux下首先在目录准备文件

首先说明,我的电脑宿主机的IP是192.168.1.5

为es准备文件

mkdir -p /opt/elk7/es
cd /opt/elk7/es
#创建对应的文件夹 数据 / 日志 / 配置
mkdir conf data logs 
#授权
chmod 777 -R conf data logs

然后进入到/opt/elk7/es/conf下

vim elasticsearch.yml

以下是elasticsearch.yml 的内容

cluster.name: "docker-cluster"
network.host: 0.0.0.0
# 访问ID限定,0.0.0.0为不限制,生产环境请设置为固定IP
transport.host: 0.0.0.0
# elasticsearch节点名称
#node.name: node-1
# elasticsearch节点信息
#cluster.initial_master_nodes: ["node-1"]
# 下面的配置是关闭跨域验证
http.cors.enabled: true
http.cors.allow-origin: "*"

 

为kibana准备宿主机文件

mkdir -p /opt/elk7/kibana
cd /opt/elk7/kibana
#创建对应的文件夹 数据 / 日志 / 配置
mkdir conf data logs 
#授权
chmod 777 -R conf data logs
cd logs
#创建日志文件
touch kibana.log
#授权
chmod 777 kibana.log 

然后进入到 /opt/elk7/kibana/conf

vim kibana.yml

以下是kibana.yml内容

elasticsearch.hosts: ['http://192.168.1.5:9200']
#发给es的查询记录 需要日志等级是verbose=true
elasticsearch.logQueries: true
##连接es的超时时间 单位毫秒
elasticsearch.pingTimeout: 30000
elasticsearch.requestTimeout: 30000
##是否只能使用server.host访问服务
elasticsearch.preserveHost: true
##首页对应的appid
kibana.defaultAppId: "home"
kibana.index: '.kibana'
##存储日志的文件设置
logging.dest: /usr/share/kibana/logs/kibana.log
logging.json: true
##是否只输出错误日志信息
logging.quiet: false
logging.rotate:enabled: true#日志文件最大大小everyBytes: 10485760#保留的日志文件个数keepFiles: 7
logging.timezone: UTC
logging.verbose: true
monitoring.kibana.collection.enabled: true
xpack.monitoring.collection.enabled: true
#存储持久化数据的位置
path.data: /usr/share/kibana/data
#访问kibana的地址和端口配置 一般使用可访问的服务器地址即可
server.host: "0.0.0.0"
#端口默认5601
server.port: 5601
server.name: "kibana"
#配置页面语言
i18n.locale: zh-CN

以下是Docker启动命令

#es
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 --privileged=true --log-driver=journald  -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xmx8g -Xms8g" -v /opt/elk7/es/data:/usr/share/elasticsearch/data -v /opt/elk7/es/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --user=root --restart=on-failure -d elasticsearch:7.8.1#kibana
docker run -it --name kibana  --link elasticsearch  -p 5601:5601 \
--privileged=true \
-v /opt/elk7/kibana/logs/kibana.log:/usr/share/kibana/logs/kibana.log \
-v /opt/elk7/kibana/data:/usr/share/kibana/data \
-v /opt/elk7/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml \
-d kibana:7.8.1

然后访问地址:http://192.168.1.5:5601/

 

 

如果在访问后发现了以下报错server is not ready yet

 可以进入到docker内部利用curl判断 在kibana下能否curl http://192.168.1.5:9200 返回内容,如果不能,设置下防火墙,设置方式如下

nmcli connection modify docker0 connection.zone trustedsystemctl stop NetworkManager.servicefirewall-cmd --permanent --zone=trusted --change-interface=docker0systemctl start NetworkManager.servicenmcli connection modify docker0 connection.zone trustedsystemctl restart docker.service

 

 

下面开始研究 logstash,由于直接从spring boot到logstash可能会造成瓶颈,所以一般采用kafka作为消息队列来承接日志信息

安装zookeeper

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper  

安装kafka

docker run  -d --name kafka  -p 9092:9092  --link zookeeper  -e KAFKA_BROKER_ID=0  -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181  -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.5:9092  -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka 

–link 用于容器直接的互通。
-e KAFKA_BROKER_ID=0 一个 kafka节点 就是一个 broker。一个集群由多个 broker 组成。一个 broker可以容纳多个 topic
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 配置zookeeper管理kafka的路径
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.5:9092 把kafka的地址端口注册给zookeeper,若远程访问要改成外网IP,千万注意是外网IP,很多文章只说是宿主机IP, 演示例子上写的是内网IP,很容易被误导
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间 

 

测试
创建topic
进入kafka容器

docker exec -it kafka /bin/bash


 
进入目录

 cd opt/kafka_2.12-2.4.0/


创建测试topic

./bin/kafka-topics.sh --create  --bootstrap-server localhost:9092  --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test-topic


生产者发布

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic


本地消费者订阅
 

 ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092  --topic test-topic


java程序远程消费者客户端订阅

 在这里插入图片描述

 

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

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

相关文章

如何使用git创建项目,创建分支

git config -global user.name "Your name" git config -global user.email "youexample.com" 建立一个存放工程的文件夹 git init命令用于初始化当前所在目录的这个项目 会创建一个隐藏文件 .git 创建 main.c 文件 创建 .gitignore文件,忽略…

我们究竟还要学习哪些Android知识?附赠课程+题库

2021新的一年,开启新的征程,回顾2020,真是太“南”了。 从年初各大厂裁员,竟然成为一件理所应当的事情,到四月份 GitHub 上“996.ICU” 引起了大家的共鸣。即使我们兢兢业业“996”,但依旧难以抵御 35 岁时…

WINDOWS上KAFKA运行环境安装

WINDOWS上KAFKA运行环境安装 1. 安装JDK 1.1 安装文件:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK 1.2 安装完成后需要添加以下的环境变量(右键点击“我的电脑” -> "高级系统设置" -> "环境变…

架构师成长之路-个人学习经验分享(公司研发峰会演讲ppt)

前天在公司分享了一些学习经验,园子中感兴趣可以看看。建议大家使用pptPlex来看这个片子。 首先从我在成长中不同阶段的工作和体会来谈不同阶段的学习内容谈起,为了做好这些必修课,我会对知识+实践+思考+心态&#xff…

我凭什么拿到了阿里、腾讯、今日头条3家大厂offer?这原因我服了

前言 从毕业到现在面试也就那么几家公司,单前几次都比较顺利,在面到第三家时都给到了我offer!前面两次找工作,没考虑到以后需要什么,自己的对未来的规划是什么,只要有份工作,工资符合自己的要求…

模板概述

模板,按建筑学的说法是:施工时浇筑混凝土用的成组模型板;而模板之词,恐怕可释之为模型之板,顾名思义,模板为一套规定好了规范准则的样板。既然为样板,自然是可被多方使用;而准则既已…

我凭什么拿到了阿里、腾讯、今日头条3家大厂offer?通用流行框架大全

前言 从毕业到现在面试也就那么几家公司,单前几次都比较顺利,在面到第三家时都给到了我offer!前面两次找工作,没考虑到以后需要什么,自己的对未来的规划是什么,只要有份工作,工资符合自己的要求…

解决读写分离过期读的几个方案

mysql读写分离的坑 读写分离的主要目标是分摊主库的压力,由客户端选择后端数据库进行查询。还有种架构就是在MYSQL和客户端之间有一个中间代理层proxy,客户端之连接proxy,由proxy根据请求类型和上下文决定请求的分发路由。 客户端直连方案&am…

Feign接口 多线程问题

Spring Cloud Feign传输Header,并保证多线程情况下也适用 一、现象 微服务在生产中,常遇到需要把 header 传递到下一子服务的情况(如服务A访问服务B的接口,需要传递header),网上大多数的方案是实现 Request…

我在华为做Android外包的真实经历!吊打面试官系列!

导语 本部分内容是关于Android进阶的一些知识总结,涉及到的知识点比较杂,不过都是面试中几乎常问的知识点,也是加分的点。 关于这部分内容,可能需要有一些具体的项目实践。在面试的过程中,结合具体自身实践经历&…

logstash windows

最新在研究elastic stack (elk) : logstash 安装,下载最新版本的logstash: 点击打开链接 解压到磁盘根目录下:在logstash>bin 1、目录下创建:logstash.conf 2、输入内容: # Sample Logstash configuration for creating …

H3C端口状态

转载于:https://www.cnblogs.com/fanweisheng/p/11153315.html

还有人不知道什么是AndroidX的吗?文末领取面试资料

谈起Android框架体系架构,我先提个问:什么是Android框架体系架构 ? Android系统构架是安卓系统的体系结构,android的系统架构和其操作系统一样,采用了分层的架构,共分为四层,从高到低分别是And…

zookeeper+kafka+logstash+elasticsearc+kibana

研究背景 1、之所以选用kafka是因为量起来的话单台logstash的抗压能力比较差 2、为了解决整个链路查询的问题,多个Feign传层的话,可以按照一个ID进行穿层,所以采用logback的MDC进行对唯一标识存储并且在Feign的调用链放在Header里&#xff…

还没吃透内存缓存LruCache实现原理的看这篇文章,跳槽薪资翻倍

目前情况:10届某民办大学本科生,实际接触Android年限6年多了,工作年限五年半(注意,我说的是工作年限,不是工作经验),今年1月份裸辞后歇了大半年,经常一周也收不到几个off…

利用 Docker 搭建单机的 Cloudera CDH 以及使用实践

利用 Docker 搭建单机的 Cloudera CDH 以及使用实践 想用 CDH 大礼包,于是先在 Mac 上和 Centos7.4 上分别搞个了单机的测试用。其实操作的流和使用到的命令差不多就一并说了: 首先前往官方下载包: https://www.cloudera.com/downloads/quickstart_vm…

还没吃透内存缓存LruCache实现原理的看这篇文章,面试必会

前言 这篇文章主要是分享今年上半年的面试心得,现已就职于某大厂有三个月了,近期有很多公司均已启动秋招,也祝大家在 2020 的下半年面试顺利,获得理想的offer! 之前找工作的那段时间感想颇多,总结一点面试…

fastjson反序列化漏洞原理及利用

重要漏洞利用poc及版本 我是从github上的参考中直接copy的exp,这个类就是要注入的类 import java.lang.Runtime; import java.lang.Process; public class Exploit { public Exploit() { try{ // 要执行的命令 String commands "calc.exe"; Process pc …

这个回答让我错失offer!offer拿到手软

开头 每到“金三银四”的季节,总人很多人去寻找名叫“面经”一样的东西,其实就是一个个具体的题目,然后临阵磨枪,去“背”答案,如果一直是这样的话,我相信你的能力不会有任何提高,即使工作三年…

Spark Windows

本文主要是讲解Spark在Windows环境是如何搭建的 一、JDK的安装 1、1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略。JDK(全称是JavaTM Platform Standard Edition Development Kit)的安装&…