1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      基于ELK搭建微服務(wù)日志中心

      基于ELK搭建微服務(wù)日志中心

      ELK簡(jiǎn)介

      什么是ELK?通俗來(lái)講,ELK是由Elasticsearch、Logstash、Kibana 三個(gè)開(kāi)源軟件組成的一個(gè)組合體,這三個(gè)軟件當(dāng)中,每個(gè)軟件用于完成不同的功能,ELK又稱ELKstack,官網(wǎng) https://www.elastic.co/ , ELK主要優(yōu)點(diǎn)有如下幾個(gè):
      1、處理方式靈活:elasticsearch是實(shí)時(shí)全文索引,具有強(qiáng)大的搜索功能
      2、配置相對(duì)簡(jiǎn)單:elasticsearch全部使用JSON接口,logstash使用模塊配置,kibana的配置文件部分更簡(jiǎn)單
      3、檢索性能高:基于優(yōu)秀的設(shè)計(jì),雖然每次查詢都是實(shí)時(shí),但是也可以達(dá)到百億級(jí)數(shù)據(jù)的查詢秒級(jí)響應(yīng)
      4、集群線性擴(kuò)展:elasticsearch和logstash都可以靈活線性擴(kuò)展
      5、前端操作絢麗:kibana的前端設(shè)計(jì)比較絢麗,而且操作簡(jiǎn)單

      成都創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營(yíng)銷推廣、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)、成都手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為VR全景行業(yè)客戶提供了網(wǎng)站改版服務(wù)。

      Elasticsearch

      elasticsearch是一個(gè)高度可擴(kuò)展全文搜索和分析引擎,基于Apache Lucene 構(gòu)建,能對(duì)大容量的數(shù)據(jù)進(jìn)行接近實(shí)時(shí)的存儲(chǔ)、搜索和分析操作,可以處理大規(guī)模日志數(shù)據(jù),比如Nginx、Tomcat、系統(tǒng)日志等功能。

      Logstash

      數(shù)據(jù)收集引擎。它支持動(dòng)態(tài)的從各種數(shù)據(jù)源搜集數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行過(guò)濾、分析、豐富、統(tǒng)一格式等操作,然后存儲(chǔ)到用戶指定的位置;支持普通log、自定義json格式的日志解析。

      Kibana

      數(shù)據(jù)分析和可視化平臺(tái)。通常與 Elasticsearch 配合使用,對(duì)其中數(shù)據(jù)進(jìn)行搜索、分析和以統(tǒng)計(jì)圖表的方式展示。

      filebeat

      首先 filebeat 不屬于 ELK中的組件是為ELK服務(wù)的可選組件之一。因?yàn)長(zhǎng)ogstash 有一個(gè)致命的問(wèn)題是它的性能以及資源消耗(默認(rèn)的堆大小是 1GB)。盡管它的性能在近幾年已經(jīng)有很大提升,與它的替代者們相比還是要慢很多的。作為 Beats 家族的一員,F(xiàn)ilebeat 是一個(gè)輕量級(jí)的日志傳輸工具,它的存在正彌補(bǔ)了 Logstash 的缺點(diǎn):Filebeat 作為一個(gè)輕量級(jí)的日志傳輸工具可以將日志推送到中心 Logstash。Filebeat 只是一個(gè)二進(jìn)制文件沒(méi)有任何依賴。它占用資源極少,盡管它還十分年輕,正式因?yàn)樗?jiǎn)單,所以幾乎沒(méi)有什么可以出錯(cuò)的地方,所以它的可靠性還是很高的。它也為我們提供了很多可以調(diào)節(jié)的點(diǎn),例如:它以何種方式搜索新的文件,以及當(dāng)文件有一段時(shí)間沒(méi)有發(fā)生變化時(shí),何時(shí)選擇關(guān)閉文件句柄。

      開(kāi)始部署

      系統(tǒng)環(huán)境檢查

      1、因?yàn)閑lasticsearch服務(wù)運(yùn)行需要java環(huán)境,所有首先要檢查服務(wù)器中的 java 環(huán)境。推薦jdk版本至少為1.8以上

      [root@iZbp136dr1iwajle0r9j83Z soft]# java -version
      java version "1.8.0_221"
      Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

      2、創(chuàng)建用戶,因?yàn)閑lasticsearch是不能再root賬戶下運(yùn)行所以重新創(chuàng)建一個(gè)用戶

      [root@iZbp136dr1iwajle0r9j83Z ~]# useradd elk

      3、創(chuàng)建文件夾

      [root@iZbp136dr1iwajle0r9j83Z ~]# su - elk  # 切換到 elk 用戶
      [elk@iZbp136dr1iwajle0r9j83Z ~]$ mkdir soft  # 用來(lái)存儲(chǔ)原始?jí)嚎s包文件
      [elk@iZbp136dr1iwajle0r9j83Z ~]$ mkdir applications  #  用來(lái)存放部署的文件
      下載 ELK 文件

      下載過(guò)程就自行到相關(guān)的官網(wǎng)上下載把,注意下載版本最好是能夠?qū)?yīng)起來(lái)的否則會(huì)出現(xiàn)一些莫名其妙的問(wèn)題。

      [root@iZbp136dr1iwajle0r9j83Z soft]# ll -l 
      total 708484
      -rw-rw-r-- 1 app app 290094012 Jan  2 14:31 elasticsearch-7.5.1-linux-x86_64.tar.gz
      -rw-rw-r-- 1 app app  24086235 Jan  2 14:26 filebeat-7.5.1-x86_64.rpm
      -rw-rw-r-- 1 app app 238481011 Jan  2 13:28 kibana-7.5.1-linux-x86_64.tar.gz
      -rw-rw-r-- 1 app app 172809530 Jan  2 13:27 logstash-7.5.1.zip
      

      這是我下載的文件,從文件屬性上還是屬于 app 用戶的。為了方便統(tǒng)一管理現(xiàn)在將這些文件全部轉(zhuǎn)給 elk 用戶

      [root@iZbp136dr1iwajle0r9j83Z soft]# chown -R elk:elk *
      [root@iZbp136dr1iwajle0r9j83Z soft]# ll -l 
      total 708484
      -rw-rw-r-- 1 elk elk 290094012 Jan  2 14:31 elasticsearch-7.5.1-linux-x86_64.tar.gz
      -rw-rw-r-- 1 elk elk  24086235 Jan  2 14:26 filebeat-7.5.1-x86_64.rpm
      -rw-rw-r-- 1 elk elk 238481011 Jan  2 13:28 kibana-7.5.1-linux-x86_64.tar.gz
      -rw-rw-r-- 1 elk elk 172809530 Jan  2 13:27 logstash-7.5.1.zip

      將文件解壓到 applications 文件夾中

      # 處理 elasticsearch-7.5.1
      [elk@iZbp136dr1iwajle0r9j83Z soft]$ tar -zxvf elasticsearch-7.5.1-linux-x86_64.tar.gz
      [elk@iZbp136dr1iwajle0r9j83Z soft]$ mv elasticsearch-7.5.1 ../applications/
      # 處理 logstatsh-7.5.1.zip
      [elk@iZbp136dr1iwajle0r9j83Z soft]$ unzip logstatsh-7.5.1.zip
      [elk@iZbp136dr1iwajle0r9j83Z soft]$ mv logstash-7.5.1 ../applications/
      # 處理 kibana-7.5.1
      [elk@iZbp136dr1iwajle0r9j83Z soft]$ tar -zxvf kibana-7.5.1-linux-x86_64.tar.gz
      [elk@iZbp136dr1iwajle0r9j83Z soft]$ mv kibana-7.5.1-linux-x86_64 ../applications/
      部署 elasticsearch

      修改elasticsearch.yml文件

      [elk@iZbp136dr1iwajle0r9j83Z config]$ vim elasticsearch.yml
      #集群名稱
      cluster.name: els
      #節(jié)點(diǎn)名稱
      node.name: els-1
      #數(shù)據(jù)存放路徑
      path.data: /data/els/data
      #日志存放路徑
      path.logs: /data/logs/els/log
      #綁定IP地址
      network.host: 172.16.240.19
      #端口號(hào)
      http.port: 7008
      discovery.seed_hosts: ["172.16.240.19"]
      cluster.initial_master_nodes: ["els-1"]
      # 允許跨域訪問(wèn)(kibana獲取數(shù)據(jù)時(shí)需要開(kāi)放)
      http.cors.enabled: true
      http.cors.allow-origin: '*'
      

      創(chuàng)建數(shù)據(jù)目錄

      mkdir /data/els
      mkdir /data/logs/els

      啟動(dòng) elasticsearch

              [elk@iZbp136dr1iwajle0r9j83Z soft]$ cd /home/elk/applications/elasticsearch-7.5.1/bin/
              [elk@iZbp136dr1iwajle0r9j83Z soft]$ ./elasticsearch

      訪問(wèn)elasticsearch_ip:port 看是否啟動(dòng)正常
      基于ELK搭建微服務(wù)日志中心

      部署 kibana

      編輯配置文件

      cd /home/elk/applications/kibana-7.5.1-linux-x86_64/config
      # 修改配置
      server.port: 7011
      server.host: "0.0.0.0"
      server.name: "kibana-server"
      elasticsearch.url: "http://172.16.240.19:7008"
      kibana.index: ".kibana"
      i18n.locale: "zh-CN"

      啟動(dòng) kibana

      cd /home/elk/applications/kibana-7.5.1-linux-x86_64/bin
      ./kibana

      訪問(wèn)kibana_ip:port
      基于ELK搭建微服務(wù)日志中心

      部署 logstatsh

      由于后期日志數(shù)據(jù)是通過(guò) filebeat 收集上來(lái)的,因此針對(duì) filebeat 單獨(dú)創(chuàng)建一個(gè)配置文件來(lái)進(jìn)行處理

      cd /home/elk/logstash-7.5.1/config
      vim beat.conf
      input {
        # 接收f(shuō)ilebeat讀取的數(shù)據(jù)
        beats {
          port => 7110
          codec => "json"
        }
      }
      
      output {
        # 輸出到es
        elasticsearch {
          hosts => ["172.16.240.19:7008"]
          index => "cloud"
          document_type => "log"
          manage_template => false
        }
      }

      測(cè)試配置文件語(yǔ)法是否正確

      cd /home/elk/applications/logstash-7.5.1/bin/
      ./logstash -f /home/elk/applications/logstash-7.5.1/config/beat.conf -t
      Thread.exclusive is deprecated, use Thread::Mutex
      Sending Logstash logs to /home/elk/applications/logstash-7.5.1/logs which is now configured via log4j2.properties
      [2020-01-02T16:12:12,309][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/home/elk/applications/logstash-7.5.1/data/queue"}
      [2020-01-02T16:12:12,461][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/home/elk/applications/logstash-7.5.1/data/dead_letter_queue"}
      [2020-01-02T16:12:12,890][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
      [2020-01-02T16:12:14,200][INFO ][org.reflections.Reflections] Reflections took 41 ms to scan 1 urls, producing 20 keys and 40 values 
      [2020-01-02T16:12:14,673][WARN ][logstash.outputs.elasticsearch] You are using a deprecated config setting "document_type" set in elasticsearch. Deprecated settings will continue to work, but are scheduled for removal from logstash in the future. Document types are being deprecated in Elasticsearch 6.0, and removed entirely in 7.0. You should avoid this feature If you have any questions about this, please visit the #logstash channel on freenode irc. {:name=>"document_type", :plugin=>"cloud", manage_template=>false, id=>"c864643340e20cc0970e7438081bbe9f8d9e69638b91d662640155c5e847f531", hosts=>[//172.16.240.19:7008], document_type=>"log", enable_metric=>true, codec=>"plain_17e73b8f-bd1b-45ff-84ab-2a41f766a1a0", enable_metric=>true, charset=>"UTF-8">, workers=>1, template_name=>"logstash", template_overwrite=>false, doc_as_upsert=>false, script_type=>"inline", script_lang=>"painless", script_var_name=>"event", scripted_upsert=>false, retry_initial_interval=>2, retry_max_interval=>64, retry_on_conflict=>1, ilm_enabled=>"auto", ilm_rollover_alias=>"logstash", ilm_pattern=>"{now/d}-000001", ilm_policy=>"logstash-policy", action=>"index", ssl_certificate_verification=>true, sniffing=>false, sniffing_delay=>5, timeout=>60, pool_max=>1000, pool_max_per_route=>100, resurrect_delay=>5, validate_after_inactivity=>10000, http_compression=>false>}
      Configuration OK
      [2020-01-02T16:12:14,709][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

      Configuration OK 則表示配置文件是成功的,接下來(lái)啟動(dòng) logstash 并加載 beat.conf

      ./logstash -f /home/elk/applications/logstash-7.5.1/config/beat.conf
      部署 filebeat

      在需要收集日志的主機(jī)上安裝 filebeat 組件

      [root@iZbp14b5r2lytw5nc5z3w2Z filebeat]# pwd
      /usr/share/filebeat
      [root@iZbp14b5r2lytw5nc5z3w2Z filebeat]# ll -l
      total 23524
      -rw-r--r-- 1 root root 24086235 Jan  2 16:19 filebeat-7.5.1-x86_64.rpm
      [root@iZbp14b5r2lytw5nc5z3w2Z filebeat]# sudo rpm -vi filebeat-7.5.1-x86_64.rpm 
      warning: filebeat-7.5.1-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
      Preparing packages...
      filebeat-7.5.1-1.x86_64

      編輯配置修改 /etc/filebeat/filebeat.yml 以設(shè)置連接信息:

      filebeat.inputs:
      
      # Each - is an input. Most options can be set at the input level, so
      # you can use different inputs for various configurations.
      # Below are the input specific configurations.
      
      - type: log
        enabled: true
        tags: ["clo***dmin"]
        paths:
          - /logs/S*******/clou***min/**/*.log  
      
        # 將非時(shí)間戳開(kāi)頭的日志信息合并
        multiline.pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}'
        multiline.negate: true
        multiline.match: after
      
          #----------------------------- Logstash output --------------------------------
      output.logstash:
        # The Logstash hosts
        hosts: ["172.16.240.19:7112"]
        index: joy######loud

      啟動(dòng) filebeat 服務(wù)

      cd /usr/share/filebeat/bin
      ./filebeat -e -c /etc/filebeat/filebeat.yml 

      配置 kibana

      基于ELK搭建微服務(wù)日志中心

      配置完成后查看是否有日志收集上來(lái)
      基于ELK搭建微服務(wù)日志中心

      可以看到已經(jīng)有數(shù)據(jù)上來(lái)了。然后再跟看tags值在檢索條件中過(guò)濾就能過(guò)濾出不同服務(wù)輸出的日志信息了。

      后續(xù)

      至此通過(guò) ELK 搭建微服務(wù)日志中心的基本操作已經(jīng)完成了,但是還有許多需要優(yōu)化的地方例如:集群化部署,redis或Kafka進(jìn)行數(shù)據(jù)轉(zhuǎn)存降低對(duì)業(yè)務(wù)服務(wù)的依賴,另外案例中所有的啟動(dòng)命令是直接運(yùn)行的,后臺(tái)線程退出后服務(wù)就會(huì)關(guān)閉因此需要進(jìn)行一些優(yōu)雅的命令設(shè)計(jì)等等這些都是后續(xù)中需要完善的。


      當(dāng)前題目:基于ELK搭建微服務(wù)日志中心
      網(wǎng)頁(yè)網(wǎng)址:http://ef60e0e.cn/article/pihiji.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        高唐县| 临沂市| 五原县| 永吉县| 宁城县| 伽师县| 长海县| 会理县| 葵青区| 松滋市| 镇宁| 白河县| 宜宾县| 娱乐| 江都市| 苍溪县| 安庆市| 阜康市| 江北区| 镇平县| 南澳县| 任丘市| 滦平县| 永泰县| 元朗区| 桂阳县| 来安县| 大埔区| 塔河县| 莆田市| 旌德县| 色达县| 名山县| 香格里拉县| 米脂县| 苗栗市| 和硕县| 闽侯县| 乃东县| 金寨县| 泗阳县|