自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ELK 集群,騰訊云上的日志監(jiān)控不用愁

企業(yè)動(dòng)態(tài)
公司項(xiàng)目,越來(lái)越多的系統(tǒng)在計(jì)劃上云。如何監(jiān)控云上的系統(tǒng)運(yùn)行,是每個(gè)系統(tǒng)上云的過(guò)程中都會(huì)碰到的一個(gè)問題。在這里,我們以公司的某個(gè)項(xiàng)目為例,向大家詳細(xì)闡述該項(xiàng)目上云后的日志監(jiān)控方案,詳細(xì)講解如何通過(guò)ELK集群,實(shí)現(xiàn)每天百G日志的監(jiān)控。

公司項(xiàng)目,越來(lái)越多的系統(tǒng)在計(jì)劃上云。如何監(jiān)控云上的系統(tǒng)運(yùn)行,是每個(gè)系統(tǒng)上云的過(guò)程中都會(huì)碰到的一個(gè)問題。在這里,我們以公司的某個(gè)項(xiàng)目為例,向大家詳細(xì)闡述該項(xiàng)目上云后的日志監(jiān)控方案,詳細(xì)講解如何通過(guò)ELK集群,實(shí)現(xiàn)每天百G日志的監(jiān)控。

此項(xiàng)目原本是一個(gè)包含眾多業(yè)務(wù)流的一個(gè) APP 監(jiān)控系統(tǒng),在遷移到騰訊云之后,希望接入更多的業(yè)務(wù),日志監(jiān)控壓力也隨之劇增,每天的日志數(shù)量將達(dá)到百 G 以上,為滿足這個(gè)項(xiàng)目的日志監(jiān)控需求,特意在騰訊云的 kubernetes(K8s) 上配置了一套 ELK 集群。

1.ELK 系統(tǒng)介紹

我們?cè)?SNGAPM 項(xiàng)目這個(gè)配置的 ELK 系統(tǒng)主要包含四個(gè)部分 filebeat,logstash,elasticsearch 以及 kibana。其中

  • filebeat 主要負(fù)責(zé)日志的收集,能自動(dòng)感知日志文件中增加的 log 條目。
  • logstash 主要復(fù)雜日志文件的轉(zhuǎn)發(fā),并且在轉(zhuǎn)發(fā)過(guò)程中對(duì)日志進(jìn)行過(guò)濾和整理。
  • elasticsearch 可以看作一個(gè)高效的集群化的數(shù)據(jù)庫(kù),可以直接通過(guò) url 對(duì)其進(jìn)行訪問,在 ELK 中,主要復(fù)雜 ELK 的存儲(chǔ),也是真?zhèn)€ ELK 系統(tǒng)的核心。
  • kibana 可以看作 elasticsearch 的一個(gè)前端頁(yè)面,其將用戶的操作轉(zhuǎn)化為 elasticsearch 的查詢指令,并將從 elasticsearch 查詢到的數(shù)據(jù)進(jìn)行圖形化展示。

2. ELK 集群預(yù)覽

在物理機(jī)上,可以通過(guò)多臺(tái)服務(wù)器構(gòu)建一個(gè) ELK 的集群,在騰訊云上,配置 ELK 集群的另一種方式就是通過(guò) kubernetes 管理一個(gè)包含多個(gè) pods 的 ELK。

 

 

3. ELK 集群配置

集群化的 ELK 系統(tǒng)的關(guān)鍵就是配置集群化的 elasticsearch 系統(tǒng),通過(guò)配置 elasticsearch 的集群,實(shí)現(xiàn)海量日志的存儲(chǔ),和快速查詢。

配置 elasticsearch 集群,我們主要參考了 github 上的一個(gè)樣例 kubernetes-elasticsearch-cluster。

我們將 elasticsearch 節(jié)點(diǎn),分為 master, client, data 三種類型,分別負(fù)責(zé)不同的任務(wù),其中

  • Master 節(jié)點(diǎn) - 只復(fù)雜集群的管理,不存儲(chǔ)日志數(shù)據(jù),也不接受 HTTP 請(qǐng)求
  • Client 節(jié)點(diǎn) - 主要負(fù)責(zé)接受 HTTP 請(qǐng)求,不存儲(chǔ)日志數(shù)據(jù)
  • Data 節(jié)點(diǎn) - 主要復(fù)雜數(shù)據(jù)的存儲(chǔ),不接受 HTTP 請(qǐng)求

在這,我們給出我們的配置文件供大家參考和借鑒

首先,給出 elasticsearch 的集群配置方法

  1. cluster:   
  2. name: ${CLUSTER_NAME}   
  3.  
  4. node:   
  5. master: ${NODE_MASTER}   
  6. data: ${NODE_DATA}   
  7. name: ${NODE_NAME}   
  8. ingest: ${NODE_INGEST}   
  9. max_local_storage_nodes: ${MAX_LOCAL_STORAGE_NODES}   
  10.  
  11. network.host: ${NETWORK_HOST}   
  12.  
  13. path:   
  14. data: /***/***   
  15. logs: /***/***   
  16.  
  17. bootstrap:   
  18. memory_lock: true   
  19.  
  20. http:   
  21. enabled: ${HTTP_ENABLE}   
  22. compression: true   
  23.     cors:   
  24. enabled: ${HTTP_CORS_ENABLE}   
  25. allow-origin: ${HTTP_CORS_ALLOW_ORIGIN}   
  26.  
  27. discovery:   
  28. zen:   
  29. ping.unicast.hosts: ${DISCOVERY_SERVICE}   
  30. minimum_master_nodes: ${NUMBER_OF_MASTERS} 

其次是配置 kibana,只需要提供 elasticsearch 的訪問 url,就能直接與 elasticsearch 進(jìn)行直接交互(如果配置了 x-pack 插件,還須提供相應(yīng)的用戶名以及密碼才能訪問)。

  1. server.host: "0.0.0.0"   
  2.  
  3. elasticsearch.url: "http://elasticsearch.default.svc.cluster.local:9200"   
  4.  
  5. elasticsearch.username: "******"   
  6. elasticsearch.password"******" 

***是配置 logstash 以及 filebeat

在 filebeat 中設(shè)置日志文件的路徑,并在輸入的日志數(shù)據(jù)上加上標(biāo)簽,方便 logstash 對(duì)日志進(jìn)行分類,對(duì)不同的日志類型進(jìn)行不同的處理。

  1. filebeat.prospectors: 
  2. - input_type: log 
  3.     paths: 
  4.         - /*****.log 
  5.         - /*****.log 
  6.     document_type: json_log 
  7.     tags: ["json-log""itrans"
  8.  
  9. output.logstash: 
  10.     hosts: ${LOGSTASH_HOSTS:?No logstash host configured. Use env var LOGSTASH_HOSTS to set hosts.} 
  11.  
  12. logging.level: info 
  13. logging.files: 
  14.     path: /home 
  15.     name: filebeat.log 

在這里,logstash 根據(jù)日志的標(biāo)簽,對(duì)不同類型的日志,執(zhí)行不同的處理(如果配置了 x-pack 插件,還須提供相應(yīng)的用戶名以及密碼才能訪問)。

  1. input { 
  2.         beats { 
  3.                 port => 5043 
  4.                 congestion_threshold => 60 
  5.         } 
  6.  
  7. filter { 
  8.         if "json-log" in [tags] { 
  9.                 json { 
  10.                         source => "message" 
  11.                         remove_field => [ "message"
  12.                 } 
  13.                 mutate { 
  14.                         replace => { "type" => "json-log" } 
  15.                 } 
  16.         } 
  17.  
  18. output { 
  19.         if "json-log" in [tags] { 
  20.                 elasticsearch { 
  21.                         hosts => ["elasticsearch:9200"
  22.                         manage_template => false 
  23.                         index => "%{label}-%{ YYYY.MM.dd.HH}" 
  24.                         user => ****** 
  25.                         password => ****** 
  26.                 } 
  27.         } else { 
  28.                 elasticsearch { 
  29.                         hosts => ["elasticsearch:9200"
  30.                         manage_template => false 
  31.                         index => "unlabeled-%{ YYYY.MM.dd.HH}" 
  32.                         user => ****** 
  33.                         password => ****** 
  34.                 } 
  35.         } 

4.在 Kubernetes 上運(yùn)行所需的 yaml 文件

想要實(shí)現(xiàn) ELK 集群在 Kubernetes 上的運(yùn)行自然少不了相應(yīng)的 yaml 文件,我們使用的 yaml 文件主要參考了 kubernetes-elk-clusterkubernetes-elasticsearch-cluster等倉(cāng)庫(kù)。

原文鏈接:https://cloud.tencent.com/community/article/562397,作者:丁呂

【本文是51CTO專欄作者“騰訊云技術(shù)社區(qū)”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)51CTO聯(lián)系原作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專欄
相關(guān)推薦

2022-08-30 08:41:51

日志文件FileBeat配置

2020-06-11 09:00:59

ELKTB級(jí)監(jiān)控

2020-09-11 16:17:02

產(chǎn)品定價(jià)AI人工智能

2016-07-05 10:53:56

2021-12-30 10:28:22

鴻蒙HarmonyOS應(yīng)用

2010-06-09 08:39:34

2010-04-07 16:50:41

雙線解析DNS巧搭建

2021-05-01 20:36:01

隨身WiFiWiFi網(wǎng)絡(luò)

2011-12-29 11:57:08

WA2612無(wú)線信號(hào)

2020-05-18 12:04:17

PrometheusMySQL監(jiān)控

2022-03-01 18:27:18

云原生日志監(jiān)控

2020-08-06 14:36:24

Elasticsear集群運(yùn)維

2015-07-06 11:57:18

移動(dòng)設(shè)備安全移動(dòng)安全策略

2019-12-26 09:52:33

Redis集群線程

2020-10-27 10:43:24

Redis字符串數(shù)據(jù)庫(kù)

2021-10-20 18:46:45

人工智能AI無(wú)人機(jī)

2009-08-27 16:53:05

C# using作用

2011-12-08 10:25:19

戴爾IT設(shè)備升級(jí)解決方案

2022-01-21 08:36:21

LogstashZabbix監(jiān)控
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)