亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker 安裝 LogStash的詳細(xì)過(guò)程

 更新時(shí)間:2024年03月20日 16:21:36   作者:花傷情猶在  
Logstash,作為Elastic Stack家族中的核心成員之一,是一個(gè)功能強(qiáng)大的開(kāi)源數(shù)據(jù)收集引擎,在本文中,我們將詳細(xì)介紹如何借助Docker容器技術(shù)快速安裝配置Logstash,以實(shí)現(xiàn)日志及各類(lèi)事件數(shù)據(jù)的無(wú)縫集成與實(shí)時(shí)處理,感興趣的朋友一起看看吧

關(guān)于LogStash

Logstash,作為Elastic Stack家族中的核心成員之一,是一個(gè)功能強(qiáng)大的開(kāi)源數(shù)據(jù)收集引擎。它專(zhuān)長(zhǎng)于從各種來(lái)源動(dòng)態(tài)地獲取、解析、轉(zhuǎn)換和豐富數(shù)據(jù),并將這些結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)高效地傳輸?shù)街T如Elasticsearch等存儲(chǔ)系統(tǒng)中進(jìn)行集中分析和可視化展現(xiàn)。在本文中,我們將詳細(xì)介紹如何借助Docker容器技術(shù)快速安裝配置Logstash,以實(shí)現(xiàn)日志及各類(lèi)事件數(shù)據(jù)的無(wú)縫集成與實(shí)時(shí)處理。

拉取鏡像并拷貝配置

docker run -d --name logstash logstash:7.14.1
# 拷貝數(shù)據(jù)
docker cp logstash:/usr/share/logstash/config ./config
docker cp logstash:/usr/share/logstash/data ./data
docker cp logstash:/usr/share/logstash/pipeline ./pipeline
#文件夾賦權(quán)
chmod -R 777 ./config ./data ./pipeline

修改相應(yīng)配置文件

修改config 下的 logstash.yml 文件,主要修改 es 的地址

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ]
  • http.host:當(dāng)設(shè)置為 “0.0.0.0” 時(shí),意味著服務(wù)將在所有可用網(wǎng)絡(luò)接口上監(jiān)聽(tīng)HTTP請(qǐng)求,允許任何IP地址的客戶端連接。
  • xpack.monitoring.elasticsearch.hosts:指向Elasticsearch服務(wù)的URL ->http://elasticsearch:9200,但這里沒(méi)有使用具體的IP地址,而是用了一個(gè)名為 elasticsearch 的服務(wù)名或容器名。

elasticsearch:9200 就是通過(guò)內(nèi)部DNS解析機(jī)制引用在同一網(wǎng)絡(luò)命名空間下的Elasticsearch服務(wù)容器的9200端口,這意味著Logstash或相關(guān)組件收集的監(jiān)控信息將被自動(dòng)發(fā)送到關(guān)聯(lián)的Elasticsearch容器進(jìn)行存儲(chǔ)和分析。

安全考慮
如果為了安全考慮給ElasticSearch設(shè)置了訪問(wèn)認(rèn)證,則需要配置用戶名與密碼,需要新增2條認(rèn)證配置:

xpack.monitoring.elasticsearch.username: "elastic"
xpack.monitoring.elasticsearch.password: "123456"

最終示例:

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.elasticsearch.username: "elastic"
xpack.monitoring.elasticsearch.password: "123456"

修改config下的jvm.options

Elasticsearch、Logstash或其他使用Java虛擬機(jī)(JVM)的應(yīng)用程序中,jvm.options 文件是用來(lái)配置JVM運(yùn)行時(shí)參數(shù)的重要文件。當(dāng)你需要調(diào)整JVM相關(guān)的設(shè)置,比如堆內(nèi)存大小、垃圾回收策略、線程數(shù)量等時(shí),就需要修改這個(gè)文件。

# 增加JVM堆內(nèi)存大小
-Xms512m
-Xmx512m

修改pipeline 下的 logstash.conf

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 5044
    codec => json_lines
  }
}
output {
  elasticsearch {
      hosts  => ["http://124.221.147.235:9200"]
      user => elastic
      password => 123456
      index  => "logs-%{+YYYY.MM}"
      codec  => "json"
  }
  stdout {
    codec => rubydebug
  }
}

input部分:

  • 使用TCP輸入插件(tcp)創(chuàng)建一個(gè)服務(wù)器監(jiān)聽(tīng)器,等待來(lái)自客戶端的連接。
    • mode => "server" 指定為服務(wù)器模式,接受來(lái)自其他服務(wù)或應(yīng)用的日志數(shù)據(jù)。
    • host => "0.0.0.0" 表示在所有網(wǎng)絡(luò)接口上監(jiān)聽(tīng)連接請(qǐng)求。
    • port => 5044 設(shè)置了監(jiān)聽(tīng)端口為5044。
    • codec => json_lines 指定了編解碼器類(lèi)型,這意味著每個(gè)TCP消息應(yīng)該包含一個(gè)或多條JSON格式的數(shù)據(jù),每行一條JSON記錄。

output部分:

  • 使用Elasticsearch輸出插件(elasticsearch)將處理后的日志事件發(fā)送到Elasticsearch集群。
    • hosts => "127.0.0.1:9200" 設(shè)置了Elasticsearch集群的地址與端口,這里指本地主機(jī)上的默認(rèn)Elasticsearch實(shí)例。
    • index => "%{[spring.application.name]}-%{+YYYY.MM.dd}" 定義了索引名稱(chēng)模板。該模板會(huì)根據(jù)事件中的字段動(dòng)態(tài)生成索引名,其中:
      • %{[spring.application.name]} 是從日志事件中提取的Spring Boot應(yīng)用的名字作為索引前綴。
      • %{+YYYY.MM.dd} 是基于當(dāng)前日期時(shí)間動(dòng)態(tài)生成的索引后綴,每天都會(huì)創(chuàng)建一個(gè)新的索引以存儲(chǔ)當(dāng)天的日志數(shù)據(jù)。

這樣配置后,Logstash將作為一個(gè)TCP日志收集服務(wù)器運(yùn)行,并且能夠接收JSON格式的日志數(shù)據(jù),然后將其按照指定的規(guī)則寫(xiě)入到Elasticsearch集群中相應(yīng)的索引里,便于后續(xù)進(jìn)行搜索、分析和可視化展示。

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

#注意先刪除之前的容器
docker rm -f logstash
# 啟動(dòng)容器并掛載
docker run --name logstash \
-p 5044:5044 \
-p 9600:9600 \
--privileged=true \
-e ES_JAVA_OPTS="-Duser.timezone=Asia/Shanghai" \
-v /mydata/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-v /mydata/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml \
-d logstash:7.14.2

查看運(yùn)行情況

docker logs -f logstash

SpringBoot 整合 ELK

引入Maven依賴

<!-- logstash -->
<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
  version>7.1.1</version>
</dependency>

修改項(xiàng)目?jī)?nèi)的 logback.xml 文件 增加 logstash 配置

    <springProperty scope="context" name="appName" source="spring.application.name"/>
    <!--輸出到logstash的appender-->
    <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!--可以訪問(wèn)的logstash日志收集端口-->
        <destination>127.0.0.1:5044</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
            <customFields>{"spring.application.name":"${appName}"}</customFields>
        </encoder>
    </appender>
    <root level="info">
        <appender-ref ref="logstash"/>
    </root>

啟動(dòng)項(xiàng)目查看是否成功推送日志

到此這篇關(guān)于Docker 安裝 LogStash的文章就介紹到這了,更多相關(guān)Docker 安裝 LogStash內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker安裝單點(diǎn)elasticsearch過(guò)程

    docker安裝單點(diǎn)elasticsearch過(guò)程

    這篇文章主要介紹了docker安裝單點(diǎn)elasticsearch過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • docker部署jdk21的鏡像全過(guò)程

    docker部署jdk21的鏡像全過(guò)程

    這篇文章主要給大家介紹了關(guān)于docker部署jdk21的鏡像的相關(guān)資料,鏡像中包含了應(yīng)用程序所需要的運(yùn)行環(huán)境,函數(shù)庫(kù),配置,以及應(yīng)用本身等各種文件,這些文件分層打包而成,需要的朋友可以參考下
    2024-02-02
  • 基于alpine用dockerfile創(chuàng)建的爬蟲(chóng)Scrapy鏡像的實(shí)現(xiàn)

    基于alpine用dockerfile創(chuàng)建的爬蟲(chóng)Scrapy鏡像的實(shí)現(xiàn)

    這篇文章主要介紹了基于alpine用dockerfile創(chuàng)建的爬蟲(chóng)Scrapy鏡像的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Docker搭建Gogs的實(shí)現(xiàn)步驟

    Docker搭建Gogs的實(shí)現(xiàn)步驟

    本文主要介紹了Docker搭建Gogs的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Docker 部署 Prometheus的安裝詳細(xì)教程

    Docker 部署 Prometheus的安裝詳細(xì)教程

    這篇文章主要介紹了Docker 部署 Prometheus及安裝方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 在Mac OS X安裝Docker教程

    在Mac OS X安裝Docker教程

    本篇文章主要介紹了在OS X安裝Docker教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • docker?build運(yùn)行報(bào)錯(cuò)source:?not?found解決分析

    docker?build運(yùn)行報(bào)錯(cuò)source:?not?found解決分析

    這篇文章主要為大家介紹了docker?build運(yùn)行報(bào)錯(cuò)source:?not?found解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • docker-compose build使用參數(shù)args方式

    docker-compose build使用參數(shù)args方式

    這篇文章主要介紹了docker-compose build使用參數(shù)args方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 在 Ubuntu 下通過(guò) Docker 部署 Mastodon 服務(wù)器的步驟

    在 Ubuntu 下通過(guò) Docker 部署 Mastodon&nbs

    在Ubuntu系統(tǒng)上通過(guò)Docker部署Mastodon服務(wù)器的步驟,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • 使用?Docker?Compose?構(gòu)建復(fù)雜的多容器?App的方法

    使用?Docker?Compose?構(gòu)建復(fù)雜的多容器?App的方法

    Docker Compose 工具相當(dāng)于 C/C++ 的 make 工具,使用 make 需要 Makefile,所有的編譯鏈接設(shè)置都在Makefile 中指定,不需要為了運(yùn)行程序而每次都在終端手動(dòng)輸入長(zhǎng)串的指令,這篇文章主要介紹了使用?Docker?Compose?構(gòu)建復(fù)雜的多容器?App,需要的朋友可以參考下
    2022-04-04

最新評(píng)論