1. 程式人生 > >基於docker-compose的 ELK5.5.1+logback 日誌系統搭建

基於docker-compose的 ELK5.5.1+logback 日誌系統搭建

基於elastic官方docker映象、版本5.5.1

一、目錄結構

這裡寫圖片描述

二、ELK的docker映象安裝

1、docker-compose.yml

version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - $PWD/elasticsearch/data:/usr/share/elasticsearch/data
container_name: elasticsearch551 hostname: elasticsearch restart: always ports: - "9200:9200" - "9300:9300" kibana: image: docker.elastic.co/kibana/kibana:5.5.1 environment: - ELASTICSEARCH_URL=http://elasticsearch:9200 container_name: kibana551 hostname: kibana depends_on: - elasticsearch
restart: always ports: - "5601:5601" logstash: image: docker.elastic.co/logstash/logstash:5.5.1 command: logstash -f /etc/logstash/conf.d/logstash.conf volumes: - $PWD/logstash/conf.d:/etc/logstash/conf.d - $PWD/log:/tmp container_name: logstash551 hostname: logstash restart: always depends_on: - elasticsearch
ports: - "7001-7005:7001-7005" - "4567:4567"

2.logstash.conf
監控4567埠,logback日誌的輸出將全部輸出到4567埠 logstash獲取資料 輸入到es中,實現監控

input {  
  tcp {  
        port => 4567
        #模式選擇為server  
        mode => "server"  
        tags => ["tags"] 
        #message格式化json輸入,可以解決中文亂碼問題 
        codec => json_lines 
      }  
}  

filter {  
}  

output { 
   elasticsearch {
    hosts => ["elasticsearch:9200"]
    user => "elastic"
    password => "changeme"
  }
}

三、logback.xml配置

1.maven安裝對應的包

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

2.配置logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false" scanPeriod="30 seconds" >
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
   <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <param name="Encoding" value="UTF-8"/>
        <remoteHost>localhost</remoteHost>
        <port>4567</port>
        <!-- encoder is required -->
        <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>
    <logger name="com.zhijia" level="TRACE" additivity="false">
        <appender-ref ref="logstash" />
    </logger>

    <root level="INFO">
        <appender-ref ref="logstash" />
    </root>

問題

1、don’t run elasticsearch as root.

因為安全問題elasticsearch 不讓用root使用者直接執行,所以要建立新使用者

第一步:liunx建立新使用者  adduser XXX    然後給建立的使用者加密碼 passwd XXX    輸入兩次密碼。

第二步:給XXX賦許可權,chown -R XXX /你的ELK的docker-compose的目錄。

然後執行成功。

相關推薦

基於docker-composeELK5.5.1+logback 日誌系統搭建

基於elastic官方docker映象、版本5.5.1 一、目錄結構 二、ELK的docker映象安裝 1、docker-compose.yml version: '2'

基於docker-compose部署tendermint多節點叢集

一.我們可以通過 docker-compose 來啟動多個 container 通過官方文件我們知道啟動 tendermint 叢集需要下面幾個步驟: 每個 node 都需要通過 tendermint init 來進行初始化; 需要有一個包含所有 validator 節點

基於docker-compose搭建laravel環境(nodejs+npm+bower)

laradock資源連結:https://github.com/laradock/laradock laradock基於docker-compose實現了整合化的laravelve環境搭建,提供了nginx, hhvm,php-fpm, mysql, redis, pos

Spring Cloud基於Docker進行打包部署1-環境配置和docker打包執行

1、使用linux虛擬機器離線安裝docker(2)將安裝包拷貝到本地linux虛擬機器中,使用dpkg -i xxx.deb命令安裝。這裡有個問題,docker有一些依賴包,需要一併安裝:下載依賴deb。網址:https://pkgs.org/搜尋:libltdl7搜尋:l

基於Docker Compose的.NET Core微服務持續釋出

是不是現在每個團隊都需要上K8s才夠潮流,不用K8s是不是就落伍了。今天,我就通過這篇文章來回答一下。 一、先給出我的看法和建議 我想說的是,對於很多的微小團隊來說,可能都不是一定要上K8s,畢竟上K8s也是需要成本和人力的。對像我司一樣的傳統企業做數字化轉型的資訊團隊來講,人數不多,沒有專門的Ops人員,

基於.net core webapi和mongodb的日誌系統

開發環境vs2017,資料寫入到mongodb。思路就是1.提供介面寫入日誌,2.基於介面封裝類庫。3.引入類庫使用 為什麼要寫它 很多開源專案像nlog、log4net、elk、exceptionless等都挺好的。就是除了引入所需類庫,還要在專案中新增配置,不喜歡。elk在分散式海量資料收集和檢索方面可能

Spring boot下 logback 日誌系統配置

<?xml version="1.0" encoding="UTF-8"?> <!-- scan:當此屬性設定為true時,配置檔案如果發生改變,將會被重新載入,預設值為true。 scanPeriod:設定監測配置檔案是否有修改的時間間隔,如果沒有給出時間單位,預設單位是

Android 5.1原始碼編譯環境搭建

      根據官方及網路上的教程,成功搭建了Android 5.1原始碼的編譯環境併成功編譯。過程如下: 一: 使用虛擬機器,安裝ubuntu。 ubuntu-14.04.5-desktop-amd

Logback日誌系統配置攻略

logback是log4j作者推出的新日誌系統,原生支援slf4j通用日誌api,允許平滑切換日誌系統,並且對簡化應用部署中日誌處理的工作做了有益的封裝。 官方地址為:http://logback.qos.ch/  Logback日誌需要依賴一下jar包:

Hadoop2.7.5 +Spark2.3.0+Anaconda2-5.1.0分散式叢集搭建

這幾天因為學習需要搭建了一個由3個節點組成的hadoop和spark分散式叢集,做記錄如下(已生成目錄,可按需檢視)。 叢集搭建環境及安裝軟體版本 centos6 jdk1.8.0_161 hadoop2.7.5 Spark2.3.0 Scala-2.11.8 An

VxWork5.5.1工控系統

所需環境: VMware 12.5.5 build-5234757VxWorks5.5.1系統 Tornado 2.2 for Pentium VXWORKS-VMWARE/vm.iso是一個製作好的

24、MySQL 8.0 5.1.6使用系統變數

MySQL伺服器維護許多系統變數,指出它如何配置。第5.1.5節“伺服器系統變數”描述了這些變數的含義。每個系統變數都有一個預設值。可以在伺服器啟動時使用命令列上的選項或選項檔案來設定系統變數。它們中的大多數都可以在伺服器通過SET 語句執行時動態更改 ,這使您可以修改伺服器

Python +Selenium日誌系統搭建

在自動化測試過程中如何對錯誤如何定位,主要的手段就是進行日誌定位,主要形式有兩種:1.控制檯;2.日誌檔案。 呼叫: import Logger logger = Logger(path).getl

ELK+kafka日誌系統搭建-實戰

日誌主要包括系統日誌、應用程式日誌和安全日誌。系統運維和開發人員可以通過日誌瞭解伺服器軟硬體資訊、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日誌可以瞭解伺服器的負荷,效能安全性,從而及時採取措施糾正錯誤。 通常,日誌被分散的儲存不同的裝置上。如果你管理數十上百臺伺服器,你還在使用依次登入每臺機器的

第10步 (1)logback.xml日誌配置(2) ftp(上傳檔案)伺服器配置(3) idea注入和自動編譯配置(4)專案提交gitee(5)fe助手和restlet client

****************************************************************************************************************************************** 1.直接複製&

【拆分版】 Docker-compose構建Logstash多例項,基於7.1.0

【拆分版】Docker-compose構建Logstash多例項 寫在最前 說起Logstash,這個元件並沒有什麼叢集的概念,與其說是叢集,不如說是各自去收集日誌分析過濾儲存到Elasticsearch中。這裡做個多例項的Logstash,其實本質上只是為Logstash指定好佔用的埠,輸入輸出的配置的掛載

基於深度學習的圖像語義分割技術概述之5.1度量標準

-s 公平性 的確 由於 表示 n-2 sub 包含 提升 本文為論文閱讀筆記,不當之處,敬請指正。 A Review on Deep Learning Techniques Applied to Semantic Segmentation:原文鏈接 5.1度量標準 為何需

日誌管理之 Docker logs - 每天5分鐘玩轉 Docker 容器技術(87)

docker 容器 教程 高效的監控和日誌管理對保持生產系統持續穩定地運行以及排查問題至關重要。在微服務架構中,由於容器的數量眾多以及快速變化的特性使得記錄日誌和監控變得越來越重要。考慮到容器短暫和不固定的生命周期,當我們需要 debug 問題時有些容器可能已經不存在了。因此,一套集中式的日誌管理

部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)

docker 教程 容器 Graylog 是與 ELK 可以相提並論的一款集中式日誌管理方案,支持數據收集、檢索、可視化 Dashboard。本節將實踐用 Graylog 來管理 Docker 日誌。Graylog 架構Graylog 架構如下圖所示:Graylog 負責接收來自各種設備和應用的日

Docker Compose 1.18.0 之服務編排詳解

ubun 它的 snapshot rep har container cdb 單獨 lib 一個使用Docker容器的應用,通常由多個容器組成。使用Docker Compose,不再需要使用shell腳本來啟動容器。在配置文件中,所有的容器通過services來定義,然後使