国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

docker 快速搭建elk

這篇具有很好參考價(jià)值的文章主要介紹了docker 快速搭建elk。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Docker搭建ELK步驟詳解

一.安裝前須知

以下步驟在 VMware 中的 centos 7 中操作,ip 地址為:192.168.161.128;

注意安裝的時(shí)候最好統(tǒng)一版本,否則后面會(huì)出現(xiàn)許多問題,進(jìn)官網(wǎng)搜索對應(yīng)鏡像,查看 Tags 標(biāo)簽下的版本,目前我這最新的 Tags 是 7.12.1,所以拉取鏡像時(shí)統(tǒng)一加上該版本號。官網(wǎng)鏡像地址

Docker 搭建 ELK 之前需熟悉 Docker 的相關(guān)指令,如:拷貝容器文件docker cp、強(qiáng)制刪除容器: docker rm -f 容器id、創(chuàng)建網(wǎng)絡(luò): docker network create elk、查看日志:docker logs container 等等。

為了方便后續(xù)文件的掛載,先創(chuàng)建如下目錄 /usr/local/elk ,再執(zhí)行 mkdir /usr/local/elk/{elasticsearch,kibana,logstash} 創(chuàng)建3個(gè)對應(yīng)的目錄,所以以下操作如無特別說明,均在 /usr/local/elk下執(zhí)行。

為了容器間的通信,需要先用 docker 創(chuàng)建一個(gè)網(wǎng)絡(luò): docker network create elk。

二.安裝 Docker

安裝 docker 可以照著官網(wǎng)步驟一步一步來,挺簡單的。

Install Docker Engine on CentOS

安裝完后可以看下版本:docker -v
查看 docker 詳細(xì)信息:docker info

三.Docker 安裝 ElasticSearch

1.搜索、下載并查看鏡像

# 搜索鏡像
docker search elasticsearch
# 拉取 7.12.1 版本鏡像
docker pull elasticsearch:7.12.1
# 查看所有鏡像
docker images

2.拷貝配置文件

# 運(yùn)行 elasticsearch
docker run -d --name es --net elk -P -e "discovery.type=single-node" elasticsearch:7.12.1
# 進(jìn)入容器查看配置文件路徑
docker exec -it es /bin/bash
cd config

在 config 中可看到 elasticsearch.yml 配置文件,再執(zhí)行 pwd 可以看到當(dāng)前目錄為: /usr/share/elasticsearch/config,所以退出容器,執(zhí)行文件的拷貝:

# 將容器內(nèi)的配置文件拷貝到 /usr/local/elk/elasticsearch/ 中
docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch/

# 修改文件權(quán)限
chmod 666 elasticsearch/elasticsearch.yml

# 在elasticsearch 目錄下再創(chuàng)建data目錄,同時(shí)修改權(quán)限
chmod -R 777 elasticsearch/data

注意:這里要修改文件的權(quán)限為可寫,否則,進(jìn)行掛載后,在外部修改配置文件,容器內(nèi)部的配置文件不會(huì)更改。同時(shí),創(chuàng)建 data 目錄進(jìn)行掛載。

3.重新運(yùn)行容器并掛載:

# 先刪除舊的容器
docker rm -f es

# 運(yùn)行新的容器
docker run -d --name es \
--net elk \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
--privileged=true \
-v $PWD/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v $PWD/elasticsearch/data/:/usr/share/elasticsearch/data \
elasticsearch:7.12.1

說明:

-p (小寫)映射端口號,主機(jī)端口:容器端口
-P(大寫)隨機(jī)為容器指定端口號
-v 進(jìn)行容器的掛載
–name 指定容器別名
–net 連接指定網(wǎng)絡(luò)
-e 指定啟動(dòng)容器時(shí)的環(huán)境變量
-d 后臺運(yùn)行容器
–privileged=true 使容器有權(quán)限掛載目錄

4.查看容器

# 查看運(yùn)行中的容器
docker ps

# 查看容器日志
docker logs es

curl localhost:9200

如果日志無誤,可以用 curl ip:9200 查看結(jié)果,也可用瀏覽器輸入 http://ip:9200 查看。至此,elasticsearch 安裝完成。

同時(shí),我們可以在 data 目錄下看到容器內(nèi)的數(shù)據(jù),并且在宿主機(jī)修改也會(huì)同步到容器的內(nèi)部。

四.Docker 安裝 ElasticSearch-head(可選)

說明:這是 ES 的可視化界面,是為了方便后面調(diào)試時(shí)看日志有沒成功輸入到 ES 用的,非必須安裝的項(xiàng)目,也可跳過此步。

1.拉取鏡像

docker pull mobz/elasticsearch-head:5

2.運(yùn)行容器

docker run -d --name es_admin --net elk -p 9100:9100 mobz/elasticsearch-head:5

注意:這里使用到了 --net elk,即我們之間創(chuàng)建的網(wǎng)絡(luò);
如果沒有創(chuàng)建,則需要進(jìn)行下一步修改配置配件,如果前面照著創(chuàng)建了,則可以直接跳過。

3.編輯配置文件(可選)

#將配置文件拷貝到當(dāng)前目錄下
docker cp es_admin:/usr/src/app/Gruntfile.js ./

編輯該配置文件,在 connect -> server -> options 下添加: hostname: ‘0.0.0.0’
docker 搭建elk,elk,docker,elk,elasticsearch

#將文件拷貝回去
docker cp Gruntfile.js es_admin:/usr/src/app/
# 重啟容器
docker restart es_admin

因?yàn)樵撶R像內(nèi)部沒有安裝 vi 和 vim,所以無法直接在容器內(nèi)部編輯,需要我們拷貝出來,修改后再進(jìn)行覆蓋。
重啟容器后,通過 http://ip:9100 訪問即可查詢 ES 中的數(shù)據(jù)。

4.頁面無數(shù)據(jù)問題
如果打開頁面之后節(jié)點(diǎn)、索引等顯示完全,但是數(shù)據(jù)瀏覽中無數(shù)據(jù)顯示,那么我們還需要改一個(gè)配置文件,這是因?yàn)?ES 6 之后增加了請求頭嚴(yán)格校驗(yàn)的原因(我們裝的是 7.12.1 版本):

docker cp es_admin:/usr/src/app/_site/vendor.js ./
vi vendor.js
docker cp vendor.js es_admin:/usr/src/app/_site/

這個(gè)配置文件內(nèi)容有點(diǎn)多,這里需要了解 vim 的部分操作:
按 ESC 進(jìn)入命令模式,接著 : set nu 顯示行號,接著 : 行號 跳轉(zhuǎn)到對應(yīng)的行。
在這里我們需要修改:(注意不是把整行替換掉)
6886 行:contentType: “application/json;charset=UTF-8”
7573 行: contentType === “application/json;charset=UTF-8”
改完后再將配置文件 copy 回容器,不需重啟,直接刷新頁面即可。

五.Docker 安裝 Kibana

步驟大致如同 elasticsearch:

1.拉取鏡像
docekr search kibana
docker pull kibana:7.12.1

# 啟動(dòng) kibana 容器并連接同一網(wǎng)絡(luò)
docker run -d --name kibana --net elk -P -e "ELASTICSEARCH_HOSTS=http://es:9200" -e "I18N_LOCALE=zh-CN" kibana:7.12.1

注意: -e “ELASTICSEARCH_HOSTS=http://es:9200” 表示連接剛才啟動(dòng)的 elasticsearch 容器,因?yàn)樵谕痪W(wǎng)絡(luò)(elk)中,地址可直接填 容器名+端口,即 es:9200, 也可以填 http://192.168.161.128:9200,即 http://ip:端口。

2.拷貝文件

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

chmod 666 kibana/kibana.yml

拷貝完成后,修改該配置文件,主要修改 elastissearch.hosts 并新增 i18n.locale 配置:

  1. es 地址改為剛才安裝的 es 地址,因容器的隔離性,這里最好填寫 http://ip:9200;
  2. kibana 界面默認(rèn)是英文的,可以在配置文件中加上 i18n.locale: zh-CN(注意冒號后面有個(gè)空格)。
    這樣有了配置文件,在啟動(dòng)容器時(shí)就不用通過 -e 指定環(huán)境變量了。
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
# elasticsearch 地址
elasticsearch.hosts: [ "http://192.168.161.128:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
# 開啟 kibana 的漢化
i18n.locale: zh-CN

注意:如果使用掛載配置文件的方式啟動(dòng)的話,elasticsearch.hosts 這需填寫 http://ip:9200,而不能使用容器名了,否則后面 kibana 連接 es 會(huì)失敗。

3.重新開個(gè)容器

#刪除原來未掛載的容器
docker rm -f kibana

# 啟動(dòng)容器并掛載
docker run -d --name kibana \
-p 5601:5601 \
-v $PWD/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
--net elk \
kibana:7.12.1

4.查看結(jié)果
打開瀏覽器,輸入:http://ip:5601 打開 kibana 控制臺,如果未能成功打開,可以使用: docker logs kibana 查看容器日志看是否運(yùn)行有誤等。

可參考官網(wǎng):Install Kibana with Docker

六.Docker 安裝 LogStash

安裝 Logtash 繼續(xù)同上:

1.拉取鏡像并拷貝配置

docker pull logstash:7.12.1

docker run -d -P --name logstash --net elk logstash:7.12.1

# 拷貝數(shù)據(jù)
docker cp logstash:/usr/share/logstash/config logstash/
docker cp logstash:/usr/share/logstash/data logstash/
docker cp logstash:/usr/share/logstash/pipeline logstash/

#文件夾賦權(quán)
chmod -R 777 logstash/

2.修改相應(yīng)配置文件
修改 logstash/config 下的 logstash.yml 文件,主要修改 es 的地址:

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.161.128:9200" ]

修改 logstash/pipeline 下的 logstash.conf 文件:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"  # 允許任意主機(jī)發(fā)送日志
    port => 5044
    codec => json_lines    # 數(shù)據(jù)格式
  }
}

output {
  elasticsearch {
      hosts  => ["http://192.168.161.128:9200"]   # ElasticSearch 的地址和端口
      index  => "elk"         # 指定索引名
      codec  => "json"
  }
  stdout {
    codec => rubydebug
  }
}

3.啟動(dòng)容器并掛載

#注意先刪除之前的容器
docker rm -f logstash

# 啟動(dòng)容器并掛載
docker run -d --name logstash --net elk \
--privileged=true \
-p 5044:5044 -p 9600:9600 \
-v $PWD/logstash/data/:/usr/share/logstash/data \
-v $PWD/logstash/config/:/usr/share/logstash/config \
-v $PWD/logstash/pipeline/:/usr/share/logstash/pipeline \
logstash:7.12.1

4.查看日志

docker logs -f logstash

每次啟動(dòng)完容器最好檢查下日志,這樣方便后續(xù)的步驟,如果出了問題,可以看到是哪的問題并方便解決。

七.創(chuàng)建springboot應(yīng)用

這個(gè)比較簡單,主要就是幾個(gè)配置文件:

pom.xml 文件,引入 logstash 的依賴:
<dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>6.6</version>
</dependency>

在 resource 下創(chuàng)建 log/logback-springxml 文件,這里我們主要填寫
ip:端口,關(guān)于 標(biāo)簽則看個(gè)人使用情況修改。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>192.168.161.128:5044</destination>
        <!-- 日志輸出編碼 -->
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
            <providers>
                <timestamp>
                    <timeZone>UTC</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        <!--es索引名稱 -->
                        "index":"elk",
                        <!--應(yīng)用名稱 -->
                        "appname":"${spring.application.name}",
                        <!--打印時(shí)間 -->
                        "timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}",
                        <!--線程名稱 -->
                        "thread": "%thread",
                        <!--日志級別 -->
                        "level": "%level",
                        <!--日志名稱 -->
                        "logger_name": "%logger",
                        <!--日志信息 -->
                        "message": "%msg",
                        <!--日志堆棧 -->
                        "stack_trace": "%exception"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="LOGSTASH" />
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

最后修改 application.yml 文件:

logging:
  config: classpath:log/logback-spring.xml

啟動(dòng)后在 elasticsearch-head 界面即可看到輸出的日志:
docker 搭建elk,elk,docker,elk,elasticsearch

同時(shí)在 kibana 頁面可以看到增加了索引 elk:
docker 搭建elk,elk,docker,elk,elasticsearch

至此,完成了用 Docker 搭建 elk 的過程。

七.后記

在搭建 ELK 時(shí)有遇到如下幾個(gè)問題,特此記錄一下:

1.Docker 拉取內(nèi)存不足
由于我是在 VMware 裝的 centos 7 上搭建的,開始裝系統(tǒng)時(shí)掛載到根目錄下的內(nèi)存較小,因此,docker 拉取鏡像時(shí),到了 Logstash 這一步就提示內(nèi)存不足了,又不想重新裝過系統(tǒng),因此,可以通過編輯 docker 的配置文件,來改變默認(rèn)的容器卷下載的目錄。

# 查看 docker 默認(rèn)下載地址
docker info | grep "Docker Root Dir"

# 創(chuàng)建目錄
mkdir /home/docker-root

# 編輯配置文件 
vi /usr/lib/systemd/system/docker.service

在編輯 docker.service 配置文件時(shí),在 [Service] 節(jié)點(diǎn)下找到 ExecStart,在后面加上: --graph=/home/docker-root 即可,docker-root 即為剛才創(chuàng)建的目錄:

[Service]
ExecStart=/usr/bin/dockerd --graph=/home/docker-root

最后重啟 docker:

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

2.Logstash端口映射
在編輯 logstash.conf 文件時(shí),需要注意暴露出來的端口還需要容器映射才行,否則會(huì)導(dǎo)致 springboot 連接不上 logstash,如:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"  # 允許任意主機(jī)發(fā)送日志
    port => 5044
    codec => json_lines    # 數(shù)據(jù)格式
  }
}

這里允許任意主機(jī)通過 5044 端口發(fā)送日志,則在啟動(dòng)容器的時(shí)候,同時(shí)需要 -p 5044:5044 將端口映射出去,否則 springboot 在啟動(dòng)時(shí)會(huì)連接不到 logstash。

3.啟動(dòng)容器時(shí)內(nèi)存不足
在啟動(dòng) elasticsearch 或 logstash 容器時(shí),可能會(huì)出現(xiàn)內(nèi)存不足的情況,我們可以通過編輯修改指定文件來修改內(nèi)存分配:

# 查找 jvm.options 文件
find / -name jvm.options

找到對應(yīng)的 jvm.options 修改文件中的 -Xms(最小內(nèi)存)和-Xmx(最大內(nèi)存)。

或者在啟動(dòng) elasticsearch 容器時(shí),可直接加入環(huán)境變量如下所示,而 logstash 的目前沒找到,可通過前面修改 jvm.options來修改。

-e "ES_JAVA_OPTS=-Xms1g -Xmx1g" 

| 轉(zhuǎn)載 https://blog.csdn.net/weixin_45103378/article/details/117032750文章來源地址http://www.zghlxwxcb.cn/news/detail-647749.html

到了這里,關(guān)于docker 快速搭建elk的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ELK入門(一)-Elasticsearch(docker版)

    ELK入門(一)-Elasticsearch(docker版)

    Elasticsearch安裝(docker) 下載Elasticsearch 查詢鏡像 拉取鏡像 docker pull elasticsearch:版本號 · 掛載配置 創(chuàng)建掛載文件夾 修改文件夾權(quán)限 elasticsearch.yml 在config文件夾下創(chuàng)建elasticsearch.yml文件,并修改其為可讀寫執(zhí)行權(quán)限。 修改elasticsearch.yml的內(nèi)容 xpack.security.enabled: 配置es的安全,但是

    2024年02月21日
    瀏覽(51)
  • elasticsearch定期刪除策略 - 日志分析系統(tǒng)ELK搭建

    日志分析系統(tǒng)ELK搭建 ELK ELK是日志收集、索引與檢索三件套,包含了三個(gè)組件 ElasticSearch Logstash Kibana 其中ElasticSearch完成日志的索引,并提供查詢接口,Logstash完成日志的收集,Kibana則提供可視化展示 有了ELK,我們不再需要到線上的每一臺機(jī)器上grep日志,而且能可視化查詢?nèi)?/p>

    2023年04月08日
    瀏覽(30)
  • ELK日志平臺(elasticsearch+logstash+kibana)搭建

    ELK日志平臺(elasticsearch+logstash+kibana)搭建

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 為了實(shí)現(xiàn)分布式日志數(shù)據(jù)統(tǒng)一收集,實(shí)現(xiàn)集中式查詢和管理 故障排查 安全信息和事件管理 ELK 是三個(gè)開源項(xiàng)目的首字母縮寫,這三個(gè)項(xiàng)目分別是: Elasticsearch 、 Logstash 和 Kibana 。 ? Elasticsearch 是一個(gè)搜索

    2024年02月03日
    瀏覽(22)
  • ELK的搭建—Elasticsearch-8.11.3的安裝及集群的搭建

    ELK的搭建—Elasticsearch-8.11.3的安裝及集群的搭建

    應(yīng)用場景:信息檢索,旅游網(wǎng)站,滴滴車離我多遠(yuǎn) 1. Elasticsearch的rpm包下載 es官方下載網(wǎng)址:https://www.elastic.co/cn/downloads/elasticsearch 2. 安裝Elasticsearch服務(wù) 3. 設(shè)置系統(tǒng)資源及內(nèi)存大小分配 4. Elasticsearch的配置修改 1. 安裝Elasticsearch主節(jié)點(diǎn)server1 注意:此處步驟看目錄的第一大點(diǎn)所

    2024年02月02日
    瀏覽(28)
  • elk(elasticsearch+logstash+kibana)搭建日志監(jiān)控平臺

    elk(elasticsearch+logstash+kibana)搭建日志監(jiān)控平臺

    目錄 elk架構(gòu)原理 安裝部署elasticsearch 什么是elasticsearch 創(chuàng)建elasticserch docker容器 ?安裝部署kibana 什么是Kinana 創(chuàng)建Kibana docker容器 ? ? ? ? 拉取鏡像 ? ? ? ? 創(chuàng)建配置文件:D:Programsdockerkibanakibana.yml ? ? ? ? ?創(chuàng)建并運(yùn)行kibana容器 ? ? ? ? 驗(yàn)證登錄kibana 安裝部署logstash 什么

    2024年02月04日
    瀏覽(51)
  • Elasticsearch 8.x ELK 搭建并配置 SSL

    說明:這只是本人在家里組網(wǎng)搭建的集群,所以內(nèi)容排版可能比較隨意了,沒有耐心的同學(xué)直接跳過去看別的文章吧,我只是放在這里留作記錄方便以后翻閱 ELK 的坑實(shí)在太多了,自己在物理機(jī)(多臺)逐漸摸索的,安裝最新版本的記錄 為了好看可能我下面會(huì)出現(xiàn)多個(gè)這種的命

    2024年04月12日
    瀏覽(19)
  • docker安裝elk(Elasticsearch+logstash+kibana)

    docker安裝elk(Elasticsearch+logstash+kibana)

    1. 安裝Docker 如果您還沒有安裝Docker,請先安裝Docker。您可以按照官方文檔進(jìn)行安裝:https://docs.docker.com/engine/installation/ 安裝 docker-ce [root@k8s-master ~]# yum install docker-ce -y [root@k8s-master ~]# systemctl start docker systemctl enable docker.service ? 配置 docker 鏡像加速器和驅(qū)動(dòng) [root@k8s-master ~]#vi

    2024年01月20日
    瀏覽(98)
  • Elasticsearch基本操作+集成SpringBoot+ELK日志平臺搭建

    Elasticsearch是一種開源的搜索和分析引擎,最初由開源搜索引擎Lucene的作者于2010年創(chuàng)建。它提供了一個(gè)可伸縮、高性能的搜索和數(shù)據(jù)分析平臺,可用于多種用途,包括 文本搜索、應(yīng)用程序性能監(jiān)控、業(yè)務(wù)分析、日志聚合 等。 Elasticsearch使用分布式架構(gòu),可以處理大量數(shù)據(jù)并實(shí)

    2024年02月06日
    瀏覽(24)
  • centos7 搭建ELK(elasticsearch、logstash、kibana)

    centos7 搭建ELK(elasticsearch、logstash、kibana)

    1、下載安裝包 使用華為鏡像站下載速度很快,華為鏡像站: https://mirrors.huaweicloud.com/home ,下載時(shí)需要保證版本一致 2、安裝elasticsearch 解壓到當(dāng)前目錄 安裝,將Elasticsearch移動(dòng)到/opt目錄之中 創(chuàng)建Elasticsearch用戶 es 規(guī)定 root 用戶不能啟動(dòng) es,所以需要新建一個(gè)其他用戶來啟動(dòng)

    2024年02月13日
    瀏覽(60)
  • bitnami Docker 安裝ELK(elasticsearch, logstash, kibana)

    網(wǎng)上想找個(gè)用bitnami的ELK鏡像安裝ELK環(huán)境的,找了好半天沒找到,于是自己嘗試著安裝了一套,分享給大家。 直接上干貨: 安裝Elasticsearch 用瀏覽器查看:http://localhost:9200, 應(yīng)該可以看到ES安裝成功 安裝Logstash 這一步要點(diǎn): 1、要把elk-es這個(gè)容器映射到logstash容器里面,里面的

    2024年02月04日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包