日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

大家好,我是不才陳某~

在排查線上異常的過程中,查詢?nèi)罩究偸潜夭豢扇钡囊徊糠帧,F(xiàn)今大多采用的微服務(wù)架構(gòu),日志被分散在不同的機(jī)器上,使得日志的查詢變得異常困難。

工欲善其事,必先利其器。如果此時(shí)有一個(gè)統(tǒng)一的實(shí)時(shí)日志分析平臺(tái),那可謂是雪中送碳,必定能夠提高我們排查線上問題的效率。本文帶您了解一下開源的實(shí)時(shí)日志分析平臺(tái) ELK 的搭建及使用。

ELK 簡介

ELK 是一個(gè)開源的實(shí)時(shí)日志分析平臺(tái),它主要由 Elasticsearch、Logstash 和 Kiabana 三部分組成。

Logstash

Logstash 主要用于收集服務(wù)器日志,它是一個(gè)開源數(shù)據(jù)收集引擎,具有實(shí)時(shí)管道功能。Logstash 可以動(dòng)態(tài)地將來自不同數(shù)據(jù)源的數(shù)據(jù)統(tǒng)一起來,并將數(shù)據(jù)標(biāo)準(zhǔn)化到您所選擇的目的地。

Logstash 收集數(shù)據(jù)的過程主要分為以下三個(gè)部分:

  • 輸入:數(shù)據(jù)(包含但不限于日志)往往都是以不同的形式、格式存儲(chǔ)在不同的系統(tǒng)中,而 Logstash 支持從多種數(shù)據(jù)源中收集數(shù)據(jù)(File、Syslog、MySQL、消息中間件等等)。
  • 過濾器:實(shí)時(shí)解析和轉(zhuǎn)換數(shù)據(jù),識(shí)別已命名的字段以構(gòu)建結(jié)構(gòu),并將它們轉(zhuǎn)換成通用格式。
  • 輸出:Elasticsearch 并非存儲(chǔ)的唯一選擇,Logstash 提供很多輸出選擇。

Elasticsearch

Elasticsearch (ES)是一個(gè)分布式的 Restful 風(fēng)格的搜索和數(shù)據(jù)分析引擎,它具有以下特點(diǎn):

  • 查詢:允許執(zhí)行和合并多種類型的搜索 — 結(jié)構(gòu)化、非結(jié)構(gòu)化、地理位置、度量指標(biāo) — 搜索方式隨心而變。
  • 分析:Elasticsearch 聚合讓您能夠從大處著眼,探索數(shù)據(jù)的趨勢和模式。
  • 速度:很快,可以做到億萬級(jí)的數(shù)據(jù),毫秒級(jí)返回。
  • 可擴(kuò)展性:可以在筆記本電腦上運(yùn)行,也可以在承載了 PB 級(jí)數(shù)據(jù)的成百上千臺(tái)服務(wù)器上運(yùn)行。
  • 彈性:運(yùn)行在一個(gè)分布式的環(huán)境中,從設(shè)計(jì)之初就考慮到了這一點(diǎn)。
  • 靈活性:具備多個(gè)案例場景。支持?jǐn)?shù)字、文本、地理位置、結(jié)構(gòu)化、非結(jié)構(gòu)化,所有的數(shù)據(jù)類型都?xì)g迎。

Kibana

Kibana 可以使海量數(shù)據(jù)通俗易懂。它很簡單,基于瀏覽器的界面便于您快速創(chuàng)建和分享動(dòng)態(tài)數(shù)據(jù)儀表板來追蹤 Elasticsearch 的實(shí)時(shí)數(shù)據(jù)變化。其搭建過程也十分簡單,您可以分分鐘完成 Kibana 的安裝并開始探索 Elasticsearch 的索引數(shù)據(jù) — 沒有代碼、不需要額外的基礎(chǔ)設(shè)施。另外,歡迎關(guān)注公眾號(hào)碼猿技術(shù)專欄,后臺(tái)回復(fù)“1111”,阿里內(nèi)部JAVA性能調(diào)優(yōu)手冊!

對(duì)于以上三個(gè)組件在 《ELK 協(xié)議棧介紹及體系結(jié)構(gòu)》 一文中有具體介紹,這里不再贅述。

在 ELK 中,三大組件的大概工作流程如下圖所示,由 Logstash 從各個(gè)服務(wù)中采集日志并存放至 Elasticsearch 中,然后再由 Kiabana 從 Elasticsearch 中查詢?nèi)罩静⒄故窘o終端用戶。

圖 1. ELK 的大致工作流程

ELK 實(shí)現(xiàn)方案

通常情況下我們的服務(wù)都部署在不同的服務(wù)器上,那么如何從多臺(tái)服務(wù)器上收集日志信息就是一個(gè)關(guān)鍵點(diǎn)了。本篇文章中提供的解決方案如下圖所示:

圖 2. 本文提供的 ELK 實(shí)現(xiàn)方案

如上圖所示,整個(gè) ELK 的運(yùn)行流程如下:

  1. 在微服務(wù)(產(chǎn)生日志的服務(wù))上部署一個(gè) Logstash,作為 Shipper 角色,主要負(fù)責(zé)對(duì)所在機(jī)器上的服務(wù)產(chǎn)生的日志文件進(jìn)行數(shù)據(jù)采集,并將消息推送到 redis 消息隊(duì)列。
  2. 另用一臺(tái)服務(wù)器部署一個(gè) Indexer 角色的 Logstash,主要負(fù)責(zé)從 Redis 消息隊(duì)列中讀取數(shù)據(jù),并在 Logstash 管道中經(jīng)過 Filter 的解析和處理后輸出到 Elasticsearch 集群中存儲(chǔ)。
  3. Elasticsearch 主副節(jié)點(diǎn)之間數(shù)據(jù)同步。
  4. 單獨(dú)一臺(tái)服務(wù)器部署 Kibana 讀取 Elasticsearch 中的日志數(shù)據(jù)并展示在 Web 頁面。

通過這張圖,相信您已經(jīng)大致清楚了我們將要搭建的 ELK 平臺(tái)的工作流程,以及所需組件。下面就讓我們一起開始搭建起來吧。

ELK 平臺(tái)搭建

本節(jié)主要介紹搭建 ELK 日志平臺(tái),包括安裝 Indexer 角色的 Logstash,Elasticsearch 以及 Kibana 三個(gè)組件。完成本小節(jié),您需要做如下準(zhǔn)備:

  1. 一臺(tái) Ubuntu 機(jī)器或虛擬機(jī),作為入門教程,此處省略了 Elasticsearch 集群的搭建,且將 Logstash(Indexer)、Elasticsearch 以及 Kibana 安裝在同一機(jī)器上。
  2. 在 Ubuntu 上安裝 JDK,注意 Logstash 要求 JDK 在 1.7 版本以上。
  3. Logstash、Elasticsearch、Kibana 安裝包,您可以在 此頁面 下載。

安裝 Logstash

解壓壓縮包:

tar -xzvf logstash-7.3.0.tar.gz

顯示更多簡單用例測試,進(jìn)入到解壓目錄,并啟動(dòng)一個(gè)將控制臺(tái)輸入輸出到控制臺(tái)的管道。

cd logstash-7.3.0  
elk@elk:~/elk/logstash-7.3.0$ bin/logstash -e 'input { stdin {} } output { { stdout {} } }'

顯示更多看到如下日志就意味著 Logstash 啟動(dòng)成功。

圖 3. Logstash 啟動(dòng)成功日志

在控制臺(tái)輸入 Hello Logstash ,看到如下效果代表 Logstash 安裝成功。

清單 1. 驗(yàn)證 Logstash 是否啟動(dòng)成功Hello Logstash

{  
    "@timestamp" => 2019-08-10T16:11:10.040Z,  
          "host" => "elk",  
      "@version" => "1",  
       "message" => "Hello Logstash"  
}

安裝 Elasticsearch

解壓安裝包:

tar -xzvf elasticsearch-7.3.0-linux-x86_64.tar.gz

啟動(dòng) Elasticsearch:

cd elasticsearch-7.3.0/  
bin/elasticsearch

在啟動(dòng) Elasticsearch 的過程中我遇到了兩個(gè)問題在這里列舉一下,方便大家排查。

問題一 :內(nèi)存過小,如果您的機(jī)器內(nèi)存小于 Elasticsearch 設(shè)置的值,就會(huì)報(bào)下圖所示的錯(cuò)誤。解決方案是,修改 elasticsearch-7.3.0/config/jvm.options 文件中的如下配置為適合自己機(jī)器的內(nèi)存大小,若修改后還是報(bào)這個(gè)錯(cuò)誤,可重新連接服務(wù)器再試一次。

圖 4. 內(nèi)存過小導(dǎo)致 Elasticsearch 啟動(dòng)報(bào)錯(cuò)

問題二 ,如果您是以 root 用戶啟動(dòng)的話,就會(huì)報(bào)下圖所示的錯(cuò)誤。解決方案自然就是添加一個(gè)新用戶啟動(dòng) Elasticsearch,至于添加新用戶的方法網(wǎng)上有很多,這里就不再贅述。

圖 5. Root 用戶啟動(dòng) Elasticsearch 報(bào)錯(cuò)

啟動(dòng)成功后,另起一個(gè)會(huì)話窗口執(zhí)行 curl http://localhost:9200 命令,如果出現(xiàn)如下結(jié)果,則代表 Elasticsearch 安裝成功。

清單 2. 檢查 Elasticsearch 是否啟動(dòng)成功

elk@elk:~$ curl http://localhost:9200  
{  
  "name" : "elk",  
  "cluster_name" : "elasticsearch",  
  "cluster_uuid" : "hqp4Aad0T2Gcd4QyiHASmA",  
  "version" : {  
    "number" : "7.3.0",  
    "build_flavor" : "default",  
    "build_type" : "tar",  
    "build_hash" : "de777fa",  
    "build_date" : "2019-07-24T18:30:11.767338Z",  
    "build_snapshot" : false,  
    "lucene_version" : "8.1.0",  
    "minimum_wire_compatibility_version" : "6.8.0",  
    "minimum_index_compatibility_version" : "6.0.0-beta1"  
  },  
  "tagline" : "You Know, for Search"  
}

安裝 Kibana

解壓安裝包:

tar -xzvf kibana-7.3.0-linux-x86_64.tar.gz

修改配置文件 config/kibana.yml ,主要指定 Elasticsearch 的信息。

清單 3. Kibana 配置信息#Elasticsearch主機(jī)地址

elasticsearch.hosts: "http://ip:9200"  
# 允許遠(yuǎn)程訪問  
server.host: "0.0.0.0"  
# Elasticsearch用戶名 這里其實(shí)就是我在服務(wù)器啟動(dòng)Elasticsearch的用戶名  
elasticsearch.username: "es"  
# Elasticsearch鑒權(quán)密碼 這里其實(shí)就是我在服務(wù)器啟動(dòng)Elasticsearch的密碼  
elasticsearch.password: "es"

啟動(dòng) Kibana:

cd kibana-7.3.0-linux-x86_64/bin  
./kibana

在瀏覽器中訪問 http://ip:5601 ,若出現(xiàn)以下界面,則表示 Kibana 安裝成功。

圖 6. Kibana 啟動(dòng)成功界面

圖片圖片

ELK 日志平臺(tái)安裝完成后,下面我們就將通過具體的例子來看下如何使用 ELK,下文將分別介紹如何將 Spring Boot 日志和 Nginx 日志交由 ELK 分析。

在 Spring Boot 中使用 ELK

首先我們需要?jiǎng)?chuàng)建一個(gè) Spring Boot 的項(xiàng)目,之前我寫過一篇文章介紹 如何使用 AOP 來統(tǒng)一處理 Spring Boot 的 Web 日志 ,本文的 Spring Boot 項(xiàng)目就建立在這篇文章的基礎(chǔ)之上。

修改并部署 Spring Boot 項(xiàng)目

在項(xiàng)目 resources 目錄下創(chuàng)建 spring-logback.xml 配置文件。

清單 4. Spring Boot 項(xiàng)目 Logback 的配置

<?xml versinotallow="1.0" encoding="UTF-8"?>  
<configuration debug="false">  
    <contextName>Logback For demo Mobile</contextName>  
    <property name="LOG_HOME" value="/log" />  
    <springProperty scope="context" name="AppName" source="spring.application.name"  
                    defaultValue="localhost" />  
    ...  
  
    <appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        ...  
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{25} ${appName} -%msg%n</pattern>  
        </encoder>  
        ...  
    </appender>  
    ...  
</configuration>

以上內(nèi)容省略了很多內(nèi)容,您可以在源碼中獲取。在上面的配置中我們定義了一個(gè)名為 ROLLING_FILE 的 Appender 往日志文件中輸出指定格式的日志。而上面的 pattern 標(biāo)簽正是具體日志格式的配置,通過上面的配置,我們指定輸出了時(shí)間、線程、日志級(jí)別、logger(通常為日志打印所在類的全路徑)以及服務(wù)名稱等信息。

將項(xiàng)目打包,并部署到一臺(tái) Ubuntu 服務(wù)器上。

清單 5. 打包并部署 Spring Boot 項(xiàng)目

# 打包命令  
mvn package -Dmaven.test.skip=true  
# 部署命令  
java -jar sb-elk-start-0.0.1-SNAPSHOT.jar

查看日志文件, logback 配置文件中我將日志存放在 /log/sb-log.log 文件中,執(zhí)行 more /log/sb-log.log 命令,出現(xiàn)以下結(jié)果表示部署成功。

圖 7. Spring Boot 日志文件

配置 Shipper 角色 Logstash

Spring Boot 項(xiàng)目部署成功之后,我們還需要在當(dāng)前部署的機(jī)器上安裝并配置 Shipper 角色的 Logstash。Logstash 的安裝過程在 ELK 平臺(tái)搭建小節(jié)中已有提到,這里不再贅述。

安裝完成后,我們需要編寫 Logstash 的配置文件,以支持從日志文件中收集日志并輸出到 Redis 消息管道中,Shipper 的配置如下所示。

清單 6. Shipper 角色的 Logstash 的配置

input {  
    file {  
        path => [  
            # 這里填寫需要監(jiān)控的文件  
            "/log/sb-log.log"  
        ]  
    }  
}  
  
output {  
    # 輸出到redis  
    redis {  
        host => "10.140.45.190"   # redis主機(jī)地址  
        port => 6379              # redis端口號(hào)  
        db => 8                   # redis數(shù)據(jù)庫編號(hào)  
        data_type => "channel"    # 使用發(fā)布/訂閱模式  
        key => "logstash_list_0"  # 發(fā)布通道名稱  
    }  
}

其實(shí) Logstash 的配置是與前面提到的 Logstash 管道中的三個(gè)部分(輸入、過濾器、輸出)一一對(duì)應(yīng)的,只不過這里我們不需要過濾器所以就沒有寫出來。上面配置中 Input 使用的數(shù)據(jù)源是文件類型的,只需要配置上需要收集的本機(jī)日志文件路徑即可。Output 描述數(shù)據(jù)如何輸出,這里配置的是輸出到 Redis。

Redis 的配置 data_type 可選值有 channel 和 list 兩個(gè)。channel 是 Redis 的發(fā)布/訂閱通信模式,而 list 是 Redis 的隊(duì)列數(shù)據(jù)結(jié)構(gòu),兩者都可以用來實(shí)現(xiàn)系統(tǒng)間有序的消息異步通信。

channel 相比 list 的好處是,解除了發(fā)布者和訂閱者之間的耦合。舉個(gè)例子,一個(gè) Indexer 在持續(xù)讀取 Redis 中的記錄,現(xiàn)在想加入第二個(gè) Indexer,如果使用 list ,就會(huì)出現(xiàn)上一條記錄被第一個(gè) Indexer 取走,而下一條記錄被第二個(gè) Indexer 取走的情況,兩個(gè) Indexer 之間產(chǎn)生了競爭,導(dǎo)致任何一方都沒有讀到完整的日志。

channel 就可以避免這種情況。這里 Shipper 角色的配置文件和下面將要提到的 Indexer 角色的配置文件中都使用了 channel 。

配置 Indexer 角色 Logstash

配置好 Shipper 角色的 Logstash 后,我們還需要配置 Indexer 角色 Logstash 以支持從 Redis 接收日志數(shù)據(jù),并通過過濾器解析后存儲(chǔ)到 Elasticsearch 中,其配置內(nèi)容如下所示。

清單 7. Indexer 角色的 Logstash 的配置

input {  
    redis {  
        host      => "192.168.142.131"    # redis主機(jī)地址  
        port      => 6379               # redis端口號(hào)  
        db        => 8                  # redis數(shù)據(jù)庫編號(hào)  
        data_type => "channel"          # 使用發(fā)布/訂閱模式  
        key       => "sb-logback"  # 發(fā)布通道名稱  
    }  
}  
  
filter {  
     #定義數(shù)據(jù)的格式  
     grok {  
       match => { "message" => "%{TIMESTAMP_ISO8601:time} [%{NOTSPACE:threadName}] %{LOGLEVEL:level}  %{DATA:logger} %{NOTSPACE:applicationName} -(?:.*=%{NUMBER:timetaken}ms|)"}  
     }  
}  
  
output {  
    stdout {}  
    elasticsearch {  
        hosts => "localhost:9200"  
        index => "logback"  
   }  
}

與 Shipper 不同的是,Indexer 的管道中我們定義了過濾器,也正是在這里將日志解析成結(jié)構(gòu)化的數(shù)據(jù)。下面是我截取的一條 logback 的日志內(nèi)容:

清單 8. Spring Boot 項(xiàng)目輸出的一條日志

2019-08-11 18:01:31.602 [http-nio-8080-exec-2] INFO  c.i.s.aop.WebLogAspect sb-elk -接口日志  
POST請(qǐng)求測試接口結(jié)束調(diào)用:耗時(shí)=11ms,result=BaseResponse{code=10000, message='操作成功'}

在 Filter 中我們使用 Grok 插件從上面這條日志中解析出了時(shí)間、線程名稱、Logger、服務(wù)名稱以及接口耗時(shí)幾個(gè)字段。Grok 又是如何工作的呢?

  1. message 字段是 Logstash 存放收集到的數(shù)據(jù)的字段, match = {"message" => ...} 代表是對(duì)日志內(nèi)容做處理。
  2. Grok 實(shí)際上也是通過正則表達(dá)式來解析數(shù)據(jù)的,上面出現(xiàn)的 TIMESTAMP_ISO8601 、 NOTSPACE 等都是 Grok 內(nèi)置的 patterns。
  3. 我們編寫的解析字符串可以使用 Grok Debugger 來測試是否正確,這樣避免了重復(fù)在真實(shí)環(huán)境中校驗(yàn)解析規(guī)則的正確性。

查看效果

經(jīng)過上面的步驟,我們已經(jīng)完成了整個(gè) ELK 平臺(tái)的搭建以及 Spring Boot 項(xiàng)目的接入。下面我們按照以下步驟執(zhí)行一些操作來看下效果。

啟動(dòng) Elasticsearch,啟動(dòng)命令在 ELK 平臺(tái)搭建 小節(jié)中有提到,這里不贅述(Kibana 啟動(dòng)同)。啟動(dòng) Indexer 角色的 Logstash。

# 進(jìn)入到 Logstash 的解壓目錄,然后執(zhí)行下面的命令  
bin/logstash -f indexer-logstash.conf

啟動(dòng) Kibana。

啟動(dòng) Shipper 角色的 Logstash。

# 進(jìn)入到 Logstash 的解壓目錄,然后執(zhí)行下面的命令  
            bin/logstash -f shipper-logstash.conf

調(diào)用 Spring Boot 接口,此時(shí)應(yīng)該已經(jīng)有數(shù)據(jù)寫入到 ES 中了。

在瀏覽器中訪問 http://ip:5601 ,打開 Kibana 的 Web 界面,并且如下圖所示添加 logback 索引。

圖 8. 在 Kibana 中添加 Elasticsearch 索引

圖片圖片

進(jìn)入 Discover 界面,選擇 logback 索引,就可以看到日志數(shù)據(jù)了,如下圖所示。

圖 9. ELK 日志查看

圖片圖片

在 Nginx 中使用 ELK

相信通過上面的步驟您已經(jīng)成功的搭建起了自己的 ELK 實(shí)時(shí)日志平臺(tái),并且接入了 Logback 類型的日志。但是實(shí)際場景下,幾乎不可能只有一種類型的日志,下面我們就再在上面步驟的基礎(chǔ)之上接入 Nginx 的日志。

當(dāng)然這一步的前提是我們需要在服務(wù)器上安裝 Nginx,具體的安裝過程網(wǎng)上有很多介紹,這里不再贅述。查看 Nginx 的日志如下(Nginx 的訪問日志默認(rèn)在 /var/log/nginx/access.log 文件中)。

清單 9. Nginx 的訪問日志

192.168.142.1 - - [17/Aug/2019:21:31:43 +0800] "GET /weblog/get-test?name=elk HTTP/1.1"  
200 3 "http://192.168.142.131/swagger-ui.html" "Mozilla/5.0 (windows NT 10.0; Win64; x64)  
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

同樣,我們需要為此日志編寫一個(gè) Grok 解析規(guī)則,如下所示:

清單 10. 針對(duì) Nginx 訪問日志的 Grok 解析規(guī)則

%{IPV4:ip} - - [%{HTTPDATE:time}] "%{NOTSPACE:method} %{DATA:requestUrl}  
HTTP/%{NUMBER:httpVersion}" %{NUMBER:httpStatus} %{NUMBER:bytes}  
"%{DATA:referer}" "%{DATA:agent}"

完成上面這些之后的關(guān)鍵點(diǎn)是 Indexer 類型的 Logstash 需要支持兩種類型的輸入、過濾器以及輸出,如何支持呢?首先需要給輸入指定類型,然后再根據(jù)不同的輸入類型走不同的過濾器和輸出,如下所示。

清單 11. 支持兩種日志輸入的 Indexer 角色的 Logstash 配置

input {  
    redis {  
        type      => "logback"  
        ...  
    }  
    redis {  
       type       => "nginx"  
       ...  
    }  
}  
  
filter {  
     if [type] == "logback" {  
         ...  
     }  
     if [type] == "nginx" {  
         ...  
     }  
}  
  
output {  
    if [type] == "logback" {  
        ...  
    }  
    if [type] == "nginx" {  
       ...  
    }  
}

我的 Nginx 與 Spring Boot 項(xiàng)目部署在同一臺(tái)機(jī)器上,所以還需修改 Shipper 類型的 Logstash 的配置以支持兩種類型的日志輸入和輸出,其配置文件的內(nèi)容可 點(diǎn)擊這里獲取。

以上配置完成后,我們按照 查看效果 章節(jié)中的步驟,啟動(dòng) ELK 平臺(tái)、Shipper 角色的 Logstash、Nginx 以及 Spring Boot 項(xiàng)目,然后在 Kibana 上添加 Nignx 索引后就可同時(shí)查看 Spring Boot 和 Nginx 的日志了,如下圖所示。

圖 10. ELK 查看 Nginx 日志

圖片圖片

ELK 啟動(dòng)

在上面的步驟中,ELK 的啟動(dòng)過程是我們一個(gè)一個(gè)的去執(zhí)行三大組件的啟動(dòng)命令的。而且還是在前臺(tái)啟動(dòng)的,意味著如果我們關(guān)閉會(huì)話窗口,該組件就會(huì)停止導(dǎo)致整個(gè) ELK 平臺(tái)無法使用,這在實(shí)際工作過程中是不現(xiàn)實(shí)的,我們剩下的問題就在于如何使 ELK 在后臺(tái)運(yùn)行。

根據(jù) 《Logstash 最佳實(shí)踐》 一書的推薦,我們將使用 Supervisor 來管理 ELK 的啟停。首先我們需要安裝 Supervisor,在 Ubuntu 上執(zhí)行 apt-get install supervisor 即可。安裝成功后,我們還需要在 Supervisor 的配置文件中配置 ELK 三大組件(其配置文件默認(rèn)為 /etc/supervisor/supervisord.conf 文件)。

清單 12. ELK 后臺(tái)啟動(dòng)

[program:elasticsearch]  
envirnotallow=JAVA_HOME="/usr/java/jdk1.8.0_221/"  
directory=/home/elk/elk/elasticsearch  
user=elk  
command=/home/elk/elk/elasticsearch/bin/elasticsearch  
  
[program:logstash]  
envirnotallow=JAVA_HOME="/usr/java/jdk1.8.0_221/"  
directory=/home/elk/elk/logstash  
user=elk  
command=/home/elk/elk/logstash/bin/logstash -f /home/elk/elk/logstash/indexer-logstash.conf  
  
[program:kibana]  
envirnotallow=LS_HEAP_SIZE=5000m  
directory=/home/elk/elk/kibana  
user=elk  
command=/home/elk/elk/kibana/bin/kibana

按照以上內(nèi)容配置完成后,執(zhí)行 sudo supervisorctl reload 即可完成整個(gè) ELK 的啟動(dòng),而且其默認(rèn)是開機(jī)自啟。當(dāng)然,我們也可以使用 sudo supervisorctl start/stop [program_name] 來管理單獨(dú)的應(yīng)用。另外,歡迎關(guān)注公眾號(hào)碼猿技術(shù)專欄,后臺(tái)回復(fù)“9527”,送你一份Spring Cloud Aliababa實(shí)戰(zhàn)視頻!

結(jié)束語

在本教程中,我們主要了解了什么是 ELK,然后通過實(shí)際操作和大家一起搭建了一個(gè) ELK 日志分析平臺(tái),并且接入了 Logback 和 Nginx 兩種日志。

分享到:
標(biāo)簽:Spring Boot
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評(píng)定2018-06-03

通用課目體育訓(xùn)練成績評(píng)定