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

【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、ELK 簡(jiǎn)介

1.1 ELK各組件介紹

ElasticSearch:

Kiabana:

Logstash:

1.2 可以添加的其它組件:

Filebeat:

緩存/消息隊(duì)列(redis、kafka、RabbitMQ等):

Fluentd:

1.3 ELK、ELFK、EFLKL

二、為什么要使用 ELK

三、完整日志系統(tǒng)基本特征

四、ELK 的工作原理

五、ELK集群部署

實(shí)驗(yàn)環(huán)境:

實(shí)驗(yàn)步驟:

5.1 Elasticsearch部署(在Node1、Node2節(jié)點(diǎn)上操作)

1、環(huán)境準(zhǔn)備,設(shè)置Java環(huán)境

2、部署 Elasticsearch 軟件

3、修改主機(jī)名,在/etc/hosts文件中添加映射關(guān)系

4、修改 Elasticsearch主配置文件

5、ES 性能調(diào)優(yōu)參數(shù)

優(yōu)化elasticsearch用戶擁有的內(nèi)存權(quán)限:

6、啟動(dòng)elasticsearch是否成功開啟

7、查看節(jié)點(diǎn)信息

8、安裝 Elasticsearch-head 插件

5.2 Logstash 部署(在 Apache 節(jié)點(diǎn)上操作)

1、更改主機(jī)名

2、安裝Apahce服務(wù)(httpd)

3、安裝Java環(huán)境

4、安裝logstash

5、測(cè)試 Logstash

6、定義 logstash配置文件

5.3 Kiabana 部署(在 Node1 節(jié)點(diǎn)上操作)

1、安裝 Kiabana

2、設(shè)置 Kibana 的主配置文件

3、創(chuàng)建日志文件,啟動(dòng) Kibana

服務(wù)

4、驗(yàn)證 Kibana

5、將 Apache 服務(wù)器的日志(訪問的、錯(cuò)誤的)添加到 Elasticsearch 并通過 Kibana 顯示


一、ELK 簡(jiǎn)介

ELK平臺(tái)是一套完整的日志集中處理解決方案,將 ElasticSearch、Logstash 和 Kiabana 三個(gè)開源工具配合使用, 完成更強(qiáng)大的用戶對(duì)日志的查詢、排序、統(tǒng)計(jì)需求。

【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng),elk

1.1 ELK各組件介紹

ElasticSearch:

  • 是基于Lucene(一個(gè)全文檢索引擎的架構(gòu))開發(fā)的分布式存儲(chǔ)檢索引擎,用來存儲(chǔ)各類日志。
  • Elasticsearch 是用 Java 開發(fā)的,可通過 RESTful Web 接口,讓用戶可以通過瀏覽器與Elasticsearch 通信。
  • Elasticsearch是一個(gè)實(shí)時(shí)的、分布式的可擴(kuò)展的搜索引擎,允許進(jìn)行全文、結(jié)構(gòu)化搜索,它通常用于索引和搜索大容量的日志數(shù)據(jù),也可用于搜索許多不同類型的文檔。

Kiabana:

  • Kibana 通常與 Elasticsearch 一起部署,Kibana 是 Elasticsearch 的一個(gè)功能強(qiáng)大的數(shù)據(jù)可視化 Dashboard,Kibana 提供圖形化的 web 界面來瀏覽 Elasticsearch 日志數(shù)據(jù),可以用來匯總、分析和搜索重要數(shù)據(jù)。

Logstash:

  • 作為數(shù)據(jù)收集引擎。它支持動(dòng)態(tài)的從各種數(shù)據(jù)源搜集數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行過濾、分析、豐富、統(tǒng)一格式等操作,然后存儲(chǔ)到用戶指定的位置,一般會(huì)發(fā)送給 Elasticsearch。
  • Logstash 由 Ruby 語言編寫,運(yùn)行在 Java 虛擬機(jī)(JVM)上,是一款強(qiáng)大的數(shù)據(jù)處理工具, 可以實(shí)現(xiàn)數(shù)據(jù)傳輸、格式處理、格式化輸出。Logstash 具有強(qiáng)大的插件功能,常用于日志處理。

過濾模塊是logstash的核心功能。

1.2 可以添加的其它組件:

Filebeat:

  • 輕量級(jí)的開源日志文件數(shù)據(jù)搜集器。通常在需要采集數(shù)據(jù)的客戶端安裝 Filebeat,并指定目錄與日志格式,F(xiàn)ilebeat 就能快速收集數(shù)據(jù),并發(fā)送給 logstash 進(jìn)行解析,或是直接發(fā)給 Elasticsearch 存儲(chǔ),性能上相比運(yùn)行于 JVM 上的 logstash 優(yōu)勢(shì)明顯,是對(duì)它的替代。常應(yīng)用于 EFLK 架構(gòu)當(dāng)中。(如果要使用過濾功能的話,F(xiàn)ilebeat不能完全替代logstash,F(xiàn)ilebeat沒有過濾功能,收集數(shù)據(jù)后需要發(fā)送給 logstash 進(jìn)行處理)

filebeat 結(jié)合 logstash 帶來好處:

  1. 通過 Logstash 具有基于磁盤的自適應(yīng)緩沖系統(tǒng),該系統(tǒng)將吸收傳入的吞吐量,從而減輕 Elasticsearch 持續(xù)寫入數(shù)據(jù)的壓力。
  2. 從其他數(shù)據(jù)源(例如數(shù)據(jù)庫,S3對(duì)象存儲(chǔ)或消息傳遞隊(duì)列)中提取。
  3. 將數(shù)據(jù)發(fā)送到多個(gè)目的地,例如S3,HDFS(Hadoop分布式文件系統(tǒng))或?qū)懭胛募?/li>
  4. 使用條件數(shù)據(jù)流邏輯組成更復(fù)雜的處理管道。

緩存/消息隊(duì)列(redis、kafka、RabbitMQ等):

  • 可以對(duì)高并發(fā)日志數(shù)據(jù)進(jìn)行流量削峰和緩沖,這樣的緩沖可以一定程度的保護(hù)數(shù)據(jù)不丟失,還可以對(duì)整個(gè)架構(gòu)進(jìn)行應(yīng)用解耦。

Fluentd:

  • 是一個(gè)流行的開源數(shù)據(jù)收集器。由于 logstash 太重量級(jí)的缺點(diǎn),Logstash 性能低、資源消耗比較多等問題,隨后就有 Fluentd 的出現(xiàn)。相比較 logstash,F(xiàn)luentd 更易用、資源消耗更少、性能更高,在數(shù)據(jù)處理上更高效可靠,受到企業(yè)歡迎,成為 logstash 的一種替代方案,常應(yīng)用于 EFK 架構(gòu)當(dāng)中。在 Kubernetes 集群中也常使用 EFK 作為日志數(shù)據(jù)收集的方案。
  • 在 Kubernetes 集群中一般是通過 DaemonSet 來運(yùn)行 Fluentd,以便它在每個(gè) Kubernetes 工作節(jié)點(diǎn)上都可以運(yùn)行一個(gè) Pod。 它通過獲取容器日志文件、過濾和轉(zhuǎn)換日志數(shù)據(jù),然后將數(shù)據(jù)傳遞到 Elasticsearch 集群,在該集群中對(duì)其進(jìn)行索引和存儲(chǔ)。

1.3 ELK、ELFK、EFLKL

ELK: ES+logstash+kibana

ELFK: ES+logstash+filebeat+kibana

ELFK: ES+filebeat+logstash+kafka+kibana

【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng),elk

二、為什么要使用 ELK

日志主要包括系統(tǒng)日志、應(yīng)用程序日志和安全日志。系統(tǒng)運(yùn)維和開發(fā)人員可以通過日志了解服務(wù)器軟硬件信息、檢查配置過程中的錯(cuò)誤及錯(cuò)誤發(fā)生的原因。經(jīng)常分析日志可以了解服務(wù)器的負(fù)荷,性能安全性,從而及時(shí)采取措施糾正錯(cuò)誤。

往往單臺(tái)機(jī)器的日志我們使用grep、awk等工具就能基本實(shí)現(xiàn)簡(jiǎn)單分析,但是當(dāng)日志被分散的儲(chǔ)存不同的設(shè)備上。如果你管理數(shù)十上百臺(tái)服務(wù)器,你還在使用依次登錄每臺(tái)機(jī)器的傳統(tǒng)方法查閱日志。這樣是不是感覺很繁瑣和效率低下。當(dāng)務(wù)之急我們使用集中化的日志管理,例如:開源的syslog,將所有服務(wù)器上的日志收集匯總。集中化管理日志后,日志的統(tǒng)計(jì)和檢索又成為一件比較麻煩的事情,一般我們使用 grep、awk和wc等Linux命令能實(shí)現(xiàn)檢索和統(tǒng)計(jì),但是對(duì)于要求更高的查詢、排序和統(tǒng)計(jì)等要求和龐大的機(jī)器數(shù)量依然使用這樣的方法難免有點(diǎn)力不從心。

一般大型系統(tǒng)是一個(gè)分布式部署的架構(gòu),不同的服務(wù)模塊部署在不同的服務(wù)器上,問題出現(xiàn)時(shí),大部分情況需要根據(jù)問題暴露的關(guān)鍵信息,定位到具體的服務(wù)器和服務(wù)模塊,構(gòu)建一套集中式日志系統(tǒng),可以提高定位問題的效率。

【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng),elk

三、完整日志系統(tǒng)基本特征

收集: 能夠采集多種來源的日志數(shù)據(jù)。

傳輸: 能夠穩(wěn)定的把日志數(shù)據(jù)解析過濾并傳輸?shù)酱鎯?chǔ)系統(tǒng)。

存儲(chǔ): 存儲(chǔ)日志數(shù)據(jù)。

分析: 支持 UI 分析。

警告: 能夠提供錯(cuò)誤報(bào)告,監(jiān)控機(jī)制。

四、ELK 的工作原理

(1)在所有需要收集日志的服務(wù)器上部署Logstash;或者先將日志進(jìn)行集中化管理在日志服務(wù)器上,在日志服務(wù)器上部署 Logstash。

(2)Logstash 收集日志,將日志格式化并輸出到 Elasticsearch 群集中。

(3)Elasticsearch 對(duì)格式化后的數(shù)據(jù)進(jìn)行索引和存儲(chǔ)。

(4)Kibana 從 ES 群集中查詢數(shù)據(jù)生成圖表,并進(jìn)行前端數(shù)據(jù)的展示。

總結(jié):logstash作為日志搜集器,從數(shù)據(jù)源采集數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行過濾,格式化處理,然后交由Elasticsearch存儲(chǔ),kibana對(duì)日志進(jìn)行可視化處理。

【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng),elk

五、ELK集群部署

實(shí)驗(yàn)環(huán)境:

服務(wù)器類型 系統(tǒng)和IP地址 需要安裝的組件 硬件方面
node01節(jié)點(diǎn) CentOS7.4(64 位) 192.168.121.10 Elasticsearch 、Kibana 2核4G
node02節(jié)點(diǎn) CentOS7.4(64 位) 192.168.121.20 Elasticsearch 2核4G
Apache節(jié)點(diǎn) CentOS7.4(64 位) 192.168.121.30 Logstash、Apache 2核4G

【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng),elk

實(shí)驗(yàn)步驟:

初始化環(huán)境,關(guān)閉所有節(jié)點(diǎn)的防火墻

systemctl stop firewalld
setenforce 0

5.1 Elasticsearch部署(在Node1、Node2節(jié)點(diǎn)上操作)

1、環(huán)境準(zhǔn)備,設(shè)置Java環(huán)境

 

#設(shè)置Java環(huán)境
?java -version ? ? ? ???????#如果沒有安裝,yum -y install java
?openjdk version "1.8.0_131"
?OpenJDK Runtime Environment (build 1.8.0_131-b12)
?OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

2、部署 Elasticsearch 軟件

 

#安裝elasticsearch—rpm包,上傳elasticsearch-6.7.2.rpm到/opt目錄下
?cd /opt
?rpm -ivh elasticsearch-6.7.2.rpm

3、修改主機(jī)名,在/etc/hosts文件中添加映射關(guān)系

 

#node01節(jié)點(diǎn)
?hostnamectl set-hostname node01
?su
?vim /etc/hosts
?192.168.121.10 node01
?192.168.121.20 node02
??
?#node02節(jié)點(diǎn)
?hostnamectl set-hostname node02
?su
?vim /etc/hosts
?192.168.121.10 node01
?192.168.121.20 node02

4、修改 Elasticsearch主配置文件

 

#修改主配置文件前先備份
?cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
?#修改主配置文件
?vim /etc/elasticsearch/elasticsearch.yml
?--17--取消注釋,指定集群名字
?cluster.name: my-elk-cluster
?--23--取消注釋,指定節(jié)點(diǎn)名字:Node1節(jié)點(diǎn)為node1,Node2節(jié)點(diǎn)為node2
?node.name: node1
?node.master: true ? ? ? #是否master節(jié)點(diǎn),false為否
?node.data: true ? ? ? ? ?#是否數(shù)據(jù)節(jié)點(diǎn),false為否
?--33--取消注釋,指定數(shù)據(jù)存放路徑
?path.data: /var/lib/elasticsearch
?--37--取消注釋,指定日志存放路徑
?path.logs: /var/log/elasticsearch
?--43--取消注釋,避免es使用swap交換分區(qū)
?bootstrap.memory_lock: true
?--55--取消注釋,設(shè)置監(jiān)聽地址,0.0.0.0代表所有地址
?network.host: 0.0.0.0
?--59--取消注釋,ES 服務(wù)的默認(rèn)監(jiān)聽端口為9200
?http.port: 9200 ? ? ? ? ? ? ? ? #指定es集群提供外部訪問的接口
?transport.tcp.port: 9300 ? ? ? ?#指定es集群內(nèi)部通信接口
?--68--取消注釋,集群發(fā)現(xiàn)通過單播實(shí)現(xiàn),指定要發(fā)現(xiàn)的節(jié)點(diǎn)
?discovery.zen.ping.unicast.hosts: ["192.168.121.40:9300", "192.168.121.50:9300"]
??
?grep -v "^#" /etc/elasticsearch/elasticsearch.yml

5、ES 性能調(diào)優(yōu)參數(shù)

 

#(1)優(yōu)化最大內(nèi)存大小和最大文件描述符的數(shù)量
?vim /etc/security/limits.conf
?......
?* ?soft ?? nofile ?????????65536 ???????????
?* ?hard ?? nofile ?????????131072
?* ?soft ?? memlock ????????unlimited ???
?* ?hard ?? memlock ????????unlimited ????#不鎖內(nèi)存,即不限制內(nèi)存(一半給ES,一半給操作系統(tǒng))
??
?#需重啟生效
?#臨時(shí)生效可以通過"ulimit -n 數(shù)量"命令來修改每個(gè)進(jìn)程可打開的最大文件數(shù)
??
?#(2)優(yōu)化elasticsearch用戶擁有的內(nèi)存權(quán)限
?vim /etc/sysctl.conf
?#一個(gè)進(jìn)程可以擁有的最大內(nèi)存映射區(qū)域數(shù),參考數(shù)據(jù)(分配 2g/262144,4g/4194304,8g/8388608)
?vm.max_map_count=262144 ? ? #一個(gè)進(jìn)程能夠分配的最大內(nèi)存大小
??
?sysctl -p
?sysctl -a | grep vm.max_map_count

優(yōu)化elasticsearch用戶擁有的內(nèi)存權(quán)限:

由于ES構(gòu)建基于lucene, 而lucene設(shè)計(jì)強(qiáng)大之處在于lucene能夠很好的利用操作系統(tǒng)內(nèi)存來緩存索引數(shù)據(jù),以提供快速的查詢性能。lucene的索引文件segements是存儲(chǔ)在單文件中的,并且不可變,對(duì)于OS來說,能夠很友好地將索引文件保持在cache中,以便快速訪問;因此,我們很有必要將一半的物理內(nèi)存留給lucene ; 另一半的物理內(nèi)存留給ES(JVM heap )。所以, 在ES內(nèi)存設(shè)置方面,可以遵循以下原則:

  • 當(dāng)機(jī)器內(nèi)存小于64G時(shí),遵循通用的原則,50%給ES,50%留給操作系統(tǒng),供lucene使用。
  • 當(dāng)機(jī)器內(nèi)存大于64G時(shí),遵循原則:建議分配給ES分配 4~32G 的內(nèi)存即可,其它內(nèi)存留給操作系統(tǒng),供lucene使用。

6、啟動(dòng)elasticsearch是否成功開啟

systemctl start elasticsearch.service
?systemctl enable elasticsearch.service
?netstat -antp | grep 9200

7、查看節(jié)點(diǎn)信息

 

瀏覽器訪問 ?
?http://192.168.121.10:9200
?http://192.168.121.20:9200?
?查看節(jié)點(diǎn) Node1、Node2 的信息。
??
?瀏覽器訪問?
?http://192.168.121.10:9200/_cluster/health?pretty ??http://192.168.121.20:9200/_cluster/health?pretty
?查看群集的健康情況,可以看到 status 值為 green(綠色), 表示節(jié)點(diǎn)健康運(yùn)行。
??
?瀏覽器訪問 http://192.168.121.10:9200/_cluster/state?pretty ?檢查群集狀態(tài)信息。

8、安裝 Elasticsearch-head 插件

使用上述方式查看群集的狀態(tài)對(duì)用戶并不友好,可以通過安裝 Elasticsearch-head 插件,可以更方便地管理群集。

Elasticsearch 在 5.0 版本后,Elasticsearch-head 插件需要作為獨(dú)立服務(wù)進(jìn)行安裝,需要使用npm工具(NodeJS的包管理工具)安裝。

  • 安裝 Elasticsearch-head 需要提前安裝好依賴軟件 node 和 phantomjs。
  • node:是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
  • phantomjs:是一個(gè)基于 webkit 的JavaScriptAPI,可以理解為一個(gè)隱形的瀏覽器,任何基于 webkit 瀏覽器做的事情,它都可以做到。
 

(1)編譯安裝 node
?#上傳軟件包 node-v8.2.1.tar.gz 到/opt
?yum install gcc gcc-c++ make -y
??
?cd /opt
?tar zxvf node-v8.2.1.tar.gz
??
?cd node-v8.2.1/
?./configure
?make && make install
??
?(2)安裝 phantomjs
?#上傳軟件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到
?cd /opt
?tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
?cd /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin
?cp phantomjs /usr/local/bin
??
?(3)安裝 Elasticsearch-head 數(shù)據(jù)可視化工具
?#上傳軟件包 elasticsearch-head.tar.gz 到/opt
?cd /opt
?tar zxvf elasticsearch-head.tar.gz -C /usr/local/src/
?cd /usr/local/src/elasticsearch-head/
?npm install
??
?(4)修改 Elasticsearch 主配置文件
?vim /etc/elasticsearch/elasticsearch.yml
?......
?--末尾添加以下內(nèi)容--
?http.cors.enabled: true ? ? ? ? ? ? #開啟跨域訪問支持,默認(rèn)為 false
?http.cors.allow-origin: "*" ? ? ? ? #指定跨域訪問允許的域名地址為所有
??
?systemctl restart elasticsearch
??
?(5)啟動(dòng) elasticsearch-head 服務(wù)
?#必須在解壓后的 elasticsearch-head 目錄下啟動(dòng)服務(wù),進(jìn)程會(huì)讀取該目錄下的 gruntfile.js 文件,否則可能啟動(dòng)失敗。
?cd /usr/local/src/elasticsearch-head/
?npm run start &
??
?> elasticsearch-head@0.0.0 start /usr/local/src/elasticsearch-head
?> grunt server
??
?Running "connect:server" (connect) task
?Waiting forever...
?Started connect web server on http://localhost:9100
??
?#elasticsearch-head 監(jiān)聽的端口是 9100
?netstat -natp |grep 9100
??
?(6)通過 Elasticsearch-head 查看 Elasticsearch 信息
?通過瀏覽器訪問 http://192.168.121.10:9100/ 地址并連接群集。如果看到群集健康值為 green 綠色,代表群集很健康。
??
?(7)插入索引
?#通過命令插入一個(gè)測(cè)試索引,索引為 index-demo,類型為 test。
?curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
?//輸出結(jié)果如下:
?{
?"_index" : "index-demo",
?"_type" : "test",
?"_id" : "1",
?"_version" : 1,
?"result" : "created",
?"_shards" : {
?"total" : 2,
?"successful" : 2,
?"failed" : 0
?},
?"created" : true
?}
??
?瀏覽器訪問 http://192.168.121.10:9100/ 查看索引信息,可以看見索引默認(rèn)被分片5個(gè),并且有一個(gè)副本。
?點(diǎn)擊“數(shù)據(jù)瀏覽”,會(huì)發(fā)現(xiàn)在node1上創(chuàng)建的索引為 index-demo,類型為 test 的相關(guān)信息。

5.2 Logstash 部署(在 Apache 節(jié)點(diǎn)上操作)

Logstash 一般部署在需要監(jiān)控其日志的服務(wù)器。在本案例中,Logstash 部署在 Apache 服務(wù)器上,用于收集 Apache 服務(wù)器的日志信息并發(fā)送到 Elasticsearch。

1、更改主機(jī)名

 

hostnamectl set-hostname apache

2、安裝Apahce服務(wù)(httpd)

 

yum -y install httpd
?systemctl start httpd

3、安裝Java環(huán)境

yum -y install java
?java -version

4、安裝logstash

 

#上傳軟件包 logstash-5.5.1.rpm 到/opt目錄下
?cd /opt
?rpm -ivh logstash-5.5.1.rpm ??????????????????????????
?systemctl start logstash.service ?????????????????????
?systemctl enable logstash.service
??
?#將logstash放入PATH環(huán)境變量的目錄中,便于系統(tǒng)識(shí)別
?ln -s /usr/share/logstash/bin/logstash ?/usr/local/bin/

5、測(cè)試 Logstash

(1)Logstash 命令常用選項(xiàng):

選項(xiàng) 作用
-f 通過這個(gè)選項(xiàng)可以指定 Logstash 的配置文件,根據(jù)配置文件配置 Logstash 的輸入和輸出流。
-e 從命令行中獲取,輸入、輸出后面跟著字符串,該字符串可以被當(dāng)作 Logstash 的配置(如果是空,則默認(rèn)使用 stdin 作為輸入,stdout 作為輸出)。
-t 測(cè)試配置文件是否正確,然后退出。

(2)定義輸入和輸出流:

 

#1.輸入采用標(biāo)準(zhǔn)輸入,輸出采用標(biāo)準(zhǔn)輸出(類似管道)
?logstash -e 'input { stdin{} } output { stdout{} }'
?......
?www.baidu.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
?2020-12-22T03:58:47.799Z node1 www.baidu.com ? ? ? ?#輸出結(jié)果(標(biāo)準(zhǔn)輸出)
?www.sina.com.cn ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
?2017-12-22T03:59:02.908Z node1 www.sina.com.cn ? ? ?#輸出結(jié)果(標(biāo)準(zhǔn)輸出)
??
?//執(zhí)行 ctrl+c 退出
??
??
?#2.使用 rubydebug 輸出詳細(xì)格式顯示,codec 為一種編解碼器
?logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
?......
?www.baidu.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
?{
?????"@timestamp" => 2020-12-22T02:15:39.136Z, ? ? ? #輸出結(jié)果(處理后的結(jié)果)
???????"@version" => "1",
???????????"host" => "apache",
????????"message" => "www.baidu.com"
?}
??
??
?#3.使用 Logstash 將信息寫入 Elasticsearch 中
?logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.80.10:9200"] } }'
?? ? ? ? ? ? ? 輸入 ? ? ? ? ? ? ? ?輸出 ? ? ? ? ?對(duì)接
?......
?www.baidu.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
?www.sina.com.cn ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
?www.google.com ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
??
?//結(jié)果不在標(biāo)準(zhǔn)輸出顯示,而是發(fā)送至 Elasticsearch 中,可瀏覽器訪問 http://192.168.121.10:9100/ 查看索引信息和數(shù)據(jù)瀏覽。

6、定義 logstash配置文件

Logstash 配置文件基本由三部分組成:input、output 以及 filter(可選,根據(jù)需要選擇使用)。

  • input:表示從數(shù)據(jù)源采集數(shù)據(jù),常見的數(shù)據(jù)源如Kafka、日志文件等。
  • filter:表示數(shù)據(jù)處理層,包括對(duì)數(shù)據(jù)進(jìn)行格式化處理、數(shù)據(jù)類型轉(zhuǎn)換、數(shù)據(jù)過濾等,支持正則表達(dá)式。
  • output:表示將Logstash收集的數(shù)據(jù)經(jīng)由過濾器處理之后輸出到Elasticsearch。
 

#格式如下:
?input {...}
?filter {...}
?output {...}
??
?#在每個(gè)部分中,也可以指定多個(gè)訪問方式。例如,若要指定兩個(gè)日志來源文件,則格式如下:
?input {
?? ? file { path =>"/var/log/messages" type =>"syslog"}
?? ? file { path =>"/var/log/httpd/access.log" type =>"apache"}
?}

修改Logstash 配置文件:

 

#修改 Logstash 配置文件,讓其收集系統(tǒng)日志/var/log/messages,并將其輸出到 elasticsearch 中。
?chmod +r /var/log/messages ? ? ? ? ? ? ? ? ?#讓 Logstash 可以讀取日志
??
?vim /etc/logstash/conf.d/system.conf
?input {
???? file{
???????? path =>"/var/log/messages" ? ? ? ? ? ? ? ? ? ? ?#指定要收集的日志的位置
???????? type =>"system" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #自定義日志類型標(biāo)識(shí)
???????? start_position =>"beginning" ? ? ? ? ? ? ? ? ? ?#表示從開始處收集
???? }
?}
?output {
???? elasticsearch { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #輸出到 elasticsearch
???????? hosts => ["192.168.121.10:9200","192.168.121.20:9200"] ?#指定 elasticsearch 服務(wù)器的地址和端口
???????? index =>"system-%{+YYYY.MM.dd}" ? ? ? ? ? ? ? ? #指定輸出到 elasticsearch 的索引格式
???? }
?}
??
?systemctl restart logstash?
??
?瀏覽器訪問 http://192.168.121.10:9100/ 查看索引信息

5.3 Kiabana 部署(在 Node1 節(jié)點(diǎn)上操作)

1、安裝 Kiabana

 
 

2、設(shè)置 Kibana 的主配置文件

 

vim /etc/kibana/kibana.yml
?#--第2行--取消注釋,Kiabana 服務(wù)的默認(rèn)監(jiān)聽端口為5601
?server.port: 5601
??
?#--第7行--取消注釋,設(shè)置 Kiabana 的監(jiān)聽地址,0.0.0.0代表所有地址
?server.host: "0.0.0.0"
??
?#--第28行--取消注釋,配置es服務(wù)器的ip,如果是集群則配置該集群中master節(jié)點(diǎn)的ip
?elasticsearch.url: ?["http://192.168.121.10:9200","http://192.168.121.20:9200"]
??
?#--第37行--取消注釋,設(shè)置在 elasticsearch 中添加.kibana索引
?kibana.index: ".kibana"
??
?#--第96行--取消注釋,配置kibana的日志文件路徑(需手動(dòng)創(chuàng)建),不然默認(rèn)是messages里記錄日志
?logging.dest: /var/log/kibana.log

3、創(chuàng)建日志文件,啟動(dòng) Kibana

服務(wù)

 

touch /var/log/kibana.log
?chown kibana:kibana /var/log/kibana.log
??
?systemctl start kibana.service
?systemctl enable kibana.service
??
?netstat -natp | grep 5601

4、驗(yàn)證 Kibana

 

瀏覽器訪問 http://192.168.121.10:5601
?第一次登錄需要添加一個(gè) Elasticsearch 索引:
?Index name or pattern
?//輸入:system-* ? ? ? ? ? #在索引名中輸入之前配置的 Output 前綴“system”
??
?單擊 “create” 按鈕創(chuàng)建,單擊 “Discover” 按鈕可查看圖表信息及日志信息。
?數(shù)據(jù)展示可以分類顯示,在“Available Fields”中的“host”,然后單擊 “add”按鈕,可以看到按照“host”篩選后的結(jié)果

5、將 Apache 服務(wù)器的日志(訪問的、錯(cuò)誤的)添加到 Elasticsearch 并通過 Kibana 顯示

 

vim /etc/logstash/conf.d/apache_log.conf
?input {
???? file{
???????? path => "/etc/httpd/logs/access_log" ??#指定訪問日志存放位置錄
???????? type => "access"
???????? start_position => "beginning" ???#beginning表示從開頭收集,如果只需收集最新的,此處改為latest
???? }
???? file{
???????? path => "/etc/httpd/logs/error_log" ??#指定錯(cuò)誤日志存放位置
???????? type => "error"
???????? start_position => "beginning"
???? }
?}
?output {
?????if [type] == "access" {
???????? elasticsearch {
???????????? hosts => ["192.168.121.10:9200","192.168.121.20:9200"]
???????????? index => "apache_access-%{+YYYY.MM.dd}" ?????#索引后綴加上當(dāng)天的日期
???????? }
???? }
?? ? if [type] == "error" {
???????? elasticsearch {
???????????? hosts => ["192.168.121.10:9200","192.168.121.20:9200"]
???????????? index => "apache_error-%{+YYYY.MM.dd}" ????#索引后綴加上當(dāng)天的日期
???????? } ?
???? }
?}
??
?cd /etc/logstash/conf.d/
?/usr/share/logstash/bin/logstash -f apache_log.conf文章來源地址http://www.zghlxwxcb.cn/news/detail-627141.html

到了這里,關(guān)于【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 履機(jī)乘變,輕舟便楫:源啟分布式PaaS深度賦能企業(yè)級(jí)技術(shù)平臺(tái)建設(shè)

    履機(jī)乘變,輕舟便楫:源啟分布式PaaS深度賦能企業(yè)級(jí)技術(shù)平臺(tái)建設(shè)

    導(dǎo)語 源啟分布式PaaS平臺(tái)圍繞應(yīng)用視角為用戶提供應(yīng)用運(yùn)行的全生命周期管控能力,提供注冊(cè)中心、服務(wù)路由、網(wǎng)關(guān)、服務(wù)治理等中間件技術(shù)支持,實(shí)現(xiàn)應(yīng)用之間的聯(lián)通,解決客戶多廠商產(chǎn)品不兼容、產(chǎn)品組合不可選擇、孤島效應(yīng)等問題,滿足企業(yè)級(jí)應(yīng)用集成需要,實(shí)現(xiàn)降本

    2024年02月03日
    瀏覽(25)
  • 畢業(yè)設(shè)計(jì)項(xiàng)目:基于SpringBoot+Hadoop+Vue企業(yè)級(jí)網(wǎng)盤分布式系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    2.1 運(yùn)行環(huán)境 2.2 基本處理流程 企業(yè)網(wǎng)盤系統(tǒng)的使用者分為企業(yè)普通員工和企業(yè)管理員,所以進(jìn)行的基本處理流程是不一樣的。企業(yè)普通員工進(jìn)入本系統(tǒng)前臺(tái)主界面后看到的是首頁數(shù)據(jù)大盤,系統(tǒng)右上角有用戶的頭像和系統(tǒng)公告通知。在首頁頂部的位置有個(gè)歡迎用戶功能,此模

    2024年02月05日
    瀏覽(39)
  • [ELK] ELK企業(yè)級(jí)日志分析系統(tǒng)

    [ELK] ELK企業(yè)級(jí)日志分析系統(tǒng)

    1.1?ELK 簡(jiǎn)介與組件 ELK平臺(tái)是一套完整的日志集中處理解決方案,將 ElasticSearch、Logstash 和 Kiabana 三個(gè)開源工具配合使用, 完成更強(qiáng)大的用戶對(duì)日志的查詢、排序、統(tǒng)計(jì)需求。 ●ElasticSearch:是基于Lucene(一個(gè)全文檢索引擎的架構(gòu))開發(fā)的分布式存儲(chǔ)檢索引擎,用來存儲(chǔ)各類日

    2024年01月21日
    瀏覽(37)
  • ELK 企業(yè)級(jí)日志分析系統(tǒng)

    ELK 企業(yè)級(jí)日志分析系統(tǒng)

    ELK平臺(tái)是一套完整的日志集中處理解決方案,將 ElasticSearch、Logstash 和 Kiabana 三個(gè)開源工具配合使用, 完成更強(qiáng)大的用戶對(duì)日志的查詢、排序、統(tǒng)計(jì)需求。 ●ElasticSearch:是基于Lucene(一個(gè)全文檢索引擎的架構(gòu))開發(fā)的分布式存儲(chǔ)檢索引擎,用來存儲(chǔ)各類日志。 Elasticsearch 是

    2024年02月07日
    瀏覽(24)
  • ELK企業(yè)級(jí)日志分析系統(tǒng)

    目錄 一、ELK理論 1、日志服務(wù)器 2、ELK日志分析系統(tǒng) 3、日志處理步驟 4、ELK簡(jiǎn)介 5、為什么要使用ELK 6、完整日志系統(tǒng)基本特征 7、ELK的工作原理 8、總結(jié) 二、ELK集群之部署elasticsearch集群部署 1、環(huán)境準(zhǔn)備 2、部署elasticsearch 軟件 2.1?修改elasticsearch 主配置文件 2.3?創(chuàng)建數(shù)據(jù)存放

    2024年02月02日
    瀏覽(28)
  • ELK 企業(yè)級(jí)日志分析系統(tǒng)(二)

    ELK 企業(yè)級(jí)日志分析系統(tǒng)(二)

    目錄 ELK Kiabana 部署(在 Node1 節(jié)點(diǎn)上操作) 1.安裝 Kiabana 2.設(shè)置 Kibana 的主配置文件 ?3.啟動(dòng) Kibana 服務(wù) 4.驗(yàn)證 Kibana ?5.將 Apache 服務(wù)器的日志(訪問的、錯(cuò)誤的) ?添加Elasticsearch 并通過 Kibana 顯示 ?Filebeat+ELK 部署 在 filebeat?節(jié)點(diǎn)上操作 2.設(shè)置 filebeat 的主配置文件 ?

    2024年02月14日
    瀏覽(21)
  • ELK 企業(yè)級(jí)日志分析系統(tǒng)(三)

    ELK 企業(yè)級(jí)日志分析系統(tǒng)(三)

    定義: zookeeper是一個(gè)開源的分布式的,為分布式框架提供協(xié)調(diào)服務(wù)的Apache項(xiàng)目 工作機(jī)制: zookeeper從設(shè)計(jì)模式角度來理解:是以一個(gè)基于觀察者模式設(shè)計(jì)的分布式服務(wù)管理框架,它復(fù)習(xí)存儲(chǔ)和管理大家都關(guān)心的數(shù)據(jù),然后接受觀察者的注冊(cè),一旦這些數(shù)據(jù)的狀態(tài)發(fā)生改變,

    2024年02月15日
    瀏覽(25)
  • ELK 企業(yè)級(jí)日志分析系統(tǒng)(四)

    ELK 企業(yè)級(jí)日志分析系統(tǒng)(四)

    1.下載安裝包 官方下載地址:http://kafka.apache.org/downloads.html cd /opt wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.7.1/kafka_2.13-2.7.1.tgz 2.安裝 Kafka cd /opt/ tar zxvf kafka_2.13-2.7.1.tgz mv kafka_2.13-2.7.1 /usr/local/kafka //修改配置文件 cd /usr/local/kafka/config/ cp server.properties{,.bak} vim server.properties br

    2024年02月16日
    瀏覽(23)
  • ELK企業(yè)級(jí)日志分析平臺(tái)(一)

    ELK企業(yè)級(jí)日志分析平臺(tái)(一)

    主機(jī)部署應(yīng)用: 主機(jī) ip 角色 k8s1 192.168.56.171 cerebro server1 192.168.56.11 elasticsearch server2 192.168.56.12 elasticsearch server3 192.168.56.13 elasticsearch server4 192.168.56.14 logstash server5 192.168.56.15 kibana elasticsearch簡(jiǎn)介: Elasticsearch 是一個(gè)開源的分布式搜索分析引擎,建立在一個(gè)全文搜索引擎庫Apac

    2024年02月07日
    瀏覽(24)
  • ELK 企業(yè)級(jí)日志分析系統(tǒng)(一)

    ELK 企業(yè)級(jí)日志分析系統(tǒng)(一)

    服務(wù)器數(shù)量較少時(shí) 使用 rsyslog 或 腳本 收集、分割日志,統(tǒng)一匯總到專門存放日志的日志服務(wù)器保存管理。 (查看日志可把需要的日志文件傳輸?shù)?windows 主機(jī)上,使用專業(yè)的文本工具打開分析日志) 服務(wù)器數(shù)量較多時(shí) 使用 ELK 收集日志,存儲(chǔ)日志,展示日志。 日志主要包括

    2024年02月16日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包