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

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

這篇具有很好參考價值的文章主要介紹了使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

ELK 是指 Elasticsearch、Logstash 和 Kibana 這三個開源軟件的組合。

Elasticsearch 是一個分布式的搜索和分析引擎,用于日志的存儲,搜索,分析,查詢。

Logstash 是一個數(shù)據(jù)收集、轉(zhuǎn)換和傳輸工具,用于收集過濾和轉(zhuǎn)換數(shù)據(jù),然后將其發(fā)送到 Elasticsearch 或其他目標(biāo)存儲中。

Kibana 是一個數(shù)據(jù)可視化平臺,通過與 Elasticsearch 的集成,提供了強大的數(shù)據(jù)分析和儀表盤功能。

Filebeat 是 Elastic Stack(ELK)中的一個組件,用于輕量級的日志文件收集和轉(zhuǎn)發(fā)。它能夠?qū)崟r監(jiān)控指定的日志文件,并將其發(fā)送到 Elasticsearch 或 Logstash 進行處理和分析。

ELK的架構(gòu)有多種,本篇分享使用的架構(gòu)如圖所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生產(chǎn)環(huán)境一天幾千萬的日志,內(nèi)存占用大概 10G 左右

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

特點

  • 開源免費
  • 靈活性和可擴展性,高可用性,易擴展,支持集群
  • 高效的搜索和分析功能
  • 實時性
  • 易于使用

使用情況

  • 目前微服務(wù)項目使用,ELK單機部署,處理千萬級日志無壓力
  • 使用 Kibana 做了面板,根據(jù)面板監(jiān)控系統(tǒng)情況
  • 使用 Docker 部署,方便快捷
  • 上手用還算簡單,但是弄懂這一套,就不是那么容易了
  • 提煉出 docker compose 配置,分分鐘部署好

實踐

準(zhǔn)備

  • 一臺 linxu 服務(wù)器,內(nèi)存 8G+
  • 安裝 docker,docker compose
  • 新機器搭建后的運行情況,限制了Elasticsearch的jvm參數(shù) 4g

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

  • 本篇文件目錄結(jié)構(gòu),完整文件在Github MeDevOps 倉庫

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

安裝

本篇 ELK 的版本為 v7.8.1,本篇使用的容器網(wǎng)絡(luò)為 devopsnetwork ,需創(chuàng)建 docker network create devopsnetwork

Elasticsearch 使用 docker compose 安裝

  • 官方使用 Docker 安裝文檔

  • compose.yml

    • 指定了jvm參數(shù):4g
    • 暴露端口 9200:該端口是Elasticsearch REST API的默認(rèn)端口。
    • 暴露端口 9300:該端口是Elasticsearch節(jié)點之間的內(nèi)部通信端口,默認(rèn)用于節(jié)點之間的集群通信
    • 掛載數(shù)據(jù)目錄 ./data及配置文件./config/elasticsearch.yml
    • 需要對兩個目錄進行授權(quán),這里直接用了777,也可以根據(jù)官網(wǎng)使用對應(yīng)es的用戶id 1000
version: '3.1'
services:
  elk_elasticsearch:
    image: elasticsearch:7.8.1
    container_name: elk_elasticsearch
    restart: always
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms4096m -Xmx4096m
    ports:
      - 9200:9200 
      - 9300:9300 
    volumes:
      # 授權(quán) chmod 777 ./config/ && chmod 777 ./data/
      - ./data:/usr/share/elasticsearch/data
      - ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    networks:
      - devopsnetwork

networks:
  devopsnetwork:
    external: true
  • config/elasticsearch.yml
network.host: 0.0.0.0
xpack:
  ml.enabled: false
  monitoring.enabled: false
  security.enabled: false
  watcher.enabled: false

將其拷貝到服務(wù)器執(zhí)行啟動即可

#cd /app/elasticsearch
mkdir ./config
mkdir ./data
chmod 777 ./config/ && chmod 777 ./data/
docker compose up -d

驗證訪問

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

Logstash 使用 docker compose 安裝

  • 官方使用 Docker 安裝 文檔

  • compose.yml

    • 暴露端口5044:用于接收來自其他主機的日志數(shù)據(jù)、
    • 掛載的 ./pipeline./config目錄可以運行容器復(fù)制出來
    • 需要將./config/logstash.yml 和 ./pipeline/logstash.conf 改成es地址,參考
version: '3.1'
services:
  elk_logstash:
    image: logstash:7.17.16
    container_name: elk_logstash
    restart: always
    ports:
      - 5044:5044 
    volumes:
     # 授權(quán) chmod 777 ./logs/ && chmod 777 ./data/ && chmod 777 ./pipeline/ && chmod 777 ./config/ 
      - /etc/timezone:/etc/timezone
      - /etc/localtime:/etc/localtime:ro
      - ./logs:/usr/share/logstash/logs
      - ./data:/usr/share/logstash/data
      - ./pipeline:/usr/share/logstash/pipeline
      - ./config:/usr/share/logstash/config
    networks:
      - devopsnetwork

networks:
  devopsnetwork:
    external: true
  • pipeline/logstash.conf

    • 根據(jù)需要修改 output ,這里將推送到es地址中
    • 輸出插件文檔
input {
    beats {
        port => 5044
        codec => json {
            charset => "UTF-8"
        }
    }

}

filter {  
 
}

output {
    elasticsearch { 
      hosts => ["http://192.168.123.102:9200"]
      index => "%{[app]}-%{+YYYY.MM.dd}" 
  }    
  stdout { 
    codec => rubydebug 
  }
}

將其拷貝到服務(wù)器執(zhí)行啟動即可

mkdir ./data
mkdir ./logs
chmod 777 ./logs/ && chmod 777 ./data/ && chmod 777 ./pipeline/ && chmod 777 ./config/ 
docker compose up -d

Kibana 使用 docker compose 安裝

  • 官方使用 Docker 安裝文檔

  • compose.yml

    • 指定es節(jié)點是單節(jié)點,多節(jié)點使用zen
    • 掛載配置文件 ./config/kibana.yml
    • 暴露端口 5601:面板訪問端口
version: '3.1'
services:
  elk_kibana:
    image: kibana:7.8.1
    container_name: elk_kibana
    restart: always
    environment:
      - discovery.type=single-node
    ports:
      - 5601:5601 
    volumes:
      - ./config/kibana.yml:/usr/share/kibana/config/kibana.yml
    networks:
      - devopsnetwork

networks:
  devopsnetwork:
    external: true
  • config/kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.123.102:9200/"]
i18n.locale: "zh-CN"
xpack:
  apm.ui.enabled: false
  graph.enabled: false
  ml.enabled: false
  monitoring.enabled: false
  reporting.enabled: false
  security.enabled: false
  grokdebugger.enabled: false
  searchprofiler.enabled: false

將其拷貝到服務(wù)器執(zhí)行啟動即可

docker compose up -d

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

Filebeat 使用 docker compose 安裝

  • compose.yml

    • 掛載filebeat的配置文件,數(shù)據(jù)目錄及日志目錄,需要設(shè)置權(quán)限
    • 掛載容器外的日志到容器內(nèi)的日志采集目錄
version: '3.1'
services:
  elk_filebeat:
    image: elastic/filebeat:7.8.1
    container_name: elk_filebeat
    restart: always
    volumes:
      # 授權(quán) chmod 777 ./config/ && chmod 777 ./data/ && chmod 777 ./logs/ && chmod 777 /app/logs
      - ./config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
      - ./data:/usr/share/filebeat/data 
      - ./logs:/usr/share/filebeat/logs
      - /app/logs:/app/logs
    networks:
      - devopsnetwork

networks:
  devopsnetwork:
    external: true
  • config/filebeat.yml

    • hosts 節(jié)點需要配置 logstash 地址
    • paths 指定日志目錄

output.logstash:
  #logstash hosts
  hosts: ["192.168.123.102:5044"]
fields_under_root: true    
filebeat.inputs: 
 - type: log
   enabled: true
   paths:
       - /app/logs/*/*.log    
   close_older: 24h
   ignore_older: 24h   
   json.keys_under_root: true
   json.overwrite_keys: true
   encoding: utf-8 
filebeat.config.modules: 
  path: ${path.config}/modules.d/*.yml 
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 3  
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~  
  - drop_fields:    
      fields: ["log","@version","ecs","agent","beat","host","beat.hostname","beat.version","beat.name","prospector.type","input.type","host.id","host.name","host.os.build","host.os.family","host.os.name","host.os.platform","host.os.platform","log.file.path","tags","offset","host.architecture","host.os.version"]

安全使用

配置 nginx 域名轉(zhuǎn)發(fā)

server {

    listen 80;
    listen       443 ssl;
    server_name kibana.devops.test.com;  # 自行修改成你的域名

    ssl_certificate      /certs/kibana.devops.test.com/server.crt;
    ssl_certificate_key  /certs/kibana.devops.test.com/server.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
            proxy_pass http://192.168.123.102:5601;
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_request_buffering off;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
    }
}

配置完成,即可使用域名訪問

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

配置 nginx 基本認(rèn)證

在Nginx配置文件中添加以下內(nèi)容

location / {
    auth_basic "Restricted Content";
    auth_basic_user_file /certs/kibana.devops.test.com/passwd;
    ...
}

添加對應(yīng)的passwd文件,使用 htpasswd 生成,如賬號密碼是 root devops666 的配置文件

root:WvesKBTr22.wY

可以使用我 metools 工具的 密碼生成器 生成

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

配置完成,重載配置后刷新頁面就提示輸入賬號密碼了

使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)

配置 nginx IP白名單

location / {
    allow 192.168.123.201;   # 允許的IP地址
    deny all;              # 拒絕所有其他IP地址
}

后語

本篇只針對 ELK 的安裝進行了介紹及整理對應(yīng)的 Docker Compose 配置文件,后續(xù)即可快速安裝配置 ELK 環(huán)境,如何與項目結(jié)合使用后續(xù)再分享文章來源地址http://www.zghlxwxcb.cn/news/detail-808811.html

到了這里,關(guān)于使用 Docker Compose V2 快速搭建日志分析平臺 ELK (Elasticsearch、Logstash 和 Kibana)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Sentry 是一個開源的錯誤監(jiān)控和日志聚合平臺-- 通過docker-compose 安裝Sentry

    Sentry 是一個開源的錯誤監(jiān)控和日志聚合平臺-- 通過docker-compose 安裝Sentry

    章節(jié) 1 docker以及docker-compose在window以及l(fā)inux的安裝 2 項目對應(yīng)的docker-compose結(jié)構(gòu) 3 怎么將docker-compose項目部署到服務(wù)器上 4 配置服務(wù)器JENKINS環(huán)境 額外篇 章節(jié) 1 Sentry 是一個開源的錯誤監(jiān)控和日志聚合平臺-- 通過docker-compose 安裝Sentry Sentry 是一個開源的錯誤監(jiān)控和日志聚合平臺,

    2024年02月09日
    瀏覽(22)
  • 使用docker-compose.yml快速搭建開發(fā)、部署環(huán)境(nginx、tomcat、mysql、jar包、各種程序)以及多容器通信和統(tǒng)一配置

    image 鏡像名稱,可去鏡像市場查找自己需要的 hostname 容器內(nèi)服務(wù)名 container_name 容器名 volumes 可以把自己電腦的路徑映射到容器中的文件夾中 networks 寫同一個網(wǎng)絡(luò)可以讓容器之間進行通信 啟動 在項目根目錄的命令行中輸入 docker-compose up 停止 在項目根目錄的命令行中輸入 d

    2024年02月12日
    瀏覽(27)
  • halo搭建炫酷個人博客快速部署:docker+docker-compose+nginx

    halo搭建炫酷個人博客快速部署:docker+docker-compose+nginx

    ?? 服務(wù)器與網(wǎng)站部署知識體系目錄 部署一個炫酷的個人博客只需要按照本文的指令直接 cv 即可。 但請注意打開服務(wù)器防火墻的 80 和 3306 端口。 Halo是一款現(xiàn)代化的開源博客/CMS系統(tǒng),所有代碼開源在GitHub上且處于積極維護狀態(tài)。它是基于 Java Spring Boot 構(gòu)建的,易于部署,支

    2024年02月08日
    瀏覽(15)
  • 基于Filebeat、Kafka搭建ELK日志分析平臺詳細(xì)步驟

    基于Filebeat、Kafka搭建ELK日志分析平臺詳細(xì)步驟

    寫在前頭:公司一直沒有搭建一個支持實時查詢?nèi)罩镜钠脚_,平常看日志都得去服務(wù)器下載,大大降低開發(fā)效率,前段時間有大佬同事搭建了一款日志平臺,支持sit,uat等各個環(huán)境的日志實時查詢,大大提高bug定位速度。因?qū)ζ涓信d趣特向大佬請教,學(xué)習(xí)記錄下搭建流程。 選

    2024年02月06日
    瀏覽(36)
  • 使用Docker Compose快速部署整套Nacos集群

    使用Docker Compose快速部署整套Nacos集群 Nacos是一款開源的服務(wù)發(fā)現(xiàn)、配置管理和動態(tài) DNS 服務(wù)的平臺。它具有高可用、可擴展、易于使用的特點,因此受到了很多開發(fā)者的歡迎。但是,對于初學(xué)者來說,Nacos的安裝和配置可能會有些困難。本文將介紹如何使用Docker Compose快速部署

    2024年02月12日
    瀏覽(22)
  • docker搭建Grafana+Loki+Promtail日志分析

    docker搭建Grafana+Loki+Promtail日志分析

    1. Docker 安裝 Docker 官網(wǎng)下載:Docker: Accelerated, Containerized Application Development Note: 本人個人原因,在WIndows OS 安裝Docker ?2. 安裝完成后,驗證Docker Service ? 3. 為了方便,推薦安裝Git Bash 請自行安裝Git Bash 4. 開始安裝grafana 1. 獲取grafana? image 方式: 方式一: cmd管理員窗口? ? ? ?

    2024年02月09日
    瀏覽(24)
  • 使用Docker-compose快速構(gòu)建Nacos服務(wù)

    使用Docker-compose快速構(gòu)建Nacos服務(wù)

    在微服務(wù)架構(gòu)中,服務(wù)的注冊與發(fā)現(xiàn)扮演著至關(guān)重要的角色。Nacos(Naming and Configuration Service)是阿里巴巴開源的服務(wù)注冊與發(fā)現(xiàn)組件,致力于支持動態(tài)配置管理和服務(wù)發(fā)現(xiàn)。最近,一位朋友表達了對搭建一套Nacos開發(fā)環(huán)境的興趣。先前,我們曾發(fā)布了一篇有關(guān)在Linux上直接部

    2024年01月24日
    瀏覽(28)
  • docker使用code-server搭建開發(fā)環(huán)境 v2.0

    docker安裝 1、設(shè)置安裝目錄 2、安裝nodejs16 3、安裝rust 設(shè)置國內(nèi)更新路徑,放到 vim /etc/profile 安裝rust 1、下載鏡像 2、運行和掛載目錄 說一下運行命令 3、配置容器內(nèi)的環(huán)境變量 驗證 ip:80 然后輸入密碼就行

    2024年02月12日
    瀏覽(21)
  • 『Kafka』在Docker中快速部署Kafka及其管理平臺搭建

    『Kafka』在Docker中快速部署Kafka及其管理平臺搭建

    ??讀完這篇文章里你能收獲到 在Docker中快速部署Kafka 在Docker中快速部署Zookeeper 搭建Kafka管理平臺 Kafka部署測試 感謝點贊+收藏,避免下次找不到~ 參數(shù)說明: -e KAFKA_BROKER_ID=0 在kafka集群中,每個kafka都有一個BROKER_ID來區(qū)分自己 -e KAFKA_ZOOKEEPER_CONNECT=172.16.0.13:2181/kafka 配置zookeep

    2024年02月16日
    瀏覽(52)
  • 使用docker-compose搭建gitlab

    使用Docker搭建GitLab帶來的好處。它簡化了部署過程,將安裝和配置整合為一個容器,并通過簡單的命令即可啟動和運行GitLab實例。Docker的隔離和容器化特性確保了GitLab與其依賴的軟件環(huán)境的隔離,避免了沖突問題。此外,Docker的可移植性使得GitLab可以在不同平臺和環(huán)境中運行

    2024年01月18日
    瀏覽(59)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包