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.pswp.cn/news/386463.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386463.shtml
英文地址,請注明出處:http://en.pswp.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!前面兩次找工作,沒考慮到以后需要什么,自己的對未來的規劃是什么,只要有份工作,工資符合自己的要求…

kafka logstash elk

前言 企業開發中,一個應用會有多個測試環境,于是會有一個專門的服務器做日志收集,那就需要保存日志和應用隔離,這里就牽涉到異步存寫日志的問題,異步消息隊列選取kafka,高性能,日志消息消費我們…

模板概述

模板,按建筑學的說法是:施工時澆筑混凝土用的成組模型板;而模板之詞,恐怕可釋之為模型之板,顧名思義,模板為一套規定好了規范準則的樣板。既然為樣板,自然是可被多方使用;而準則既已…

我憑什么拿到了阿里、騰訊、今日頭條3家大廠offer?通用流行框架大全

前言 從畢業到現在面試也就那么幾家公司,單前幾次都比較順利,在面到第三家時都給到了我offer!前面兩次找工作,沒考慮到以后需要什么,自己的對未來的規劃是什么,只要有份工作,工資符合自己的要求…

解決讀寫分離過期讀的幾個方案

mysql讀寫分離的坑 讀寫分離的主要目標是分攤主庫的壓力,由客戶端選擇后端數據庫進行查詢。還有種架構就是在MYSQL和客戶端之間有一個中間代理層proxy,客戶端之連接proxy,由proxy根據請求類型和上下文決定請求的分發路由。 客戶端直連方案&am…

Feign接口 多線程問題

Spring Cloud Feign傳輸Header,并保證多線程情況下也適用 一、現象 微服務在生產中,常遇到需要把 header 傳遞到下一子服務的情況(如服務A訪問服務B的接口,需要傳遞header),網上大多數的方案是實現 Request…

serial port 的操作

import serial①選擇設備serserial.Serial("/dev/ttyUSB0",9600,timeout0.5) #使用USB連接串行口serserial.Serial("/dev/ttyAMA0",9600,timeout0.5) #使用樹莓派的GPIO口連接串行口serserial.Serial(1,9600,timeout0.5)#winsows系統使用com1口連接串行口s…

我在華為做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…

前端有用JavaScript技巧

數組去重 var arr [1, 2, 3, 3, 4];console.log(...new Set(arr))// [1, 2, 3, 4] 數組和布爾值 有時我們需要過濾數組中值為 false 的值. 例如(0, undefined, null, false) var myArray [1, 0 , undefined, null, false];myArray.filter(Boolean);//[1] 合并對象 const page…

還沒吃透內存緩存LruCache實現原理的看這篇文章,面試必會

前言 這篇文章主要是分享今年上半年的面試心得,現已就職于某大廠有三個月了,近期有很多公司均已啟動秋招,也祝大家在 2020 的下半年面試順利,獲得理想的offer! 之前找工作的那段時間感想頗多,總結一點面試…