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

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng)

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

目錄

一、ELK日志分析系統(tǒng)

1.1ELK介紹

1.2ELK各組件介紹

1.2.1ElasticSearch

1.2.2Kiabana

1.2.3Logstash

1.2.4可以添加的其它組件

1.2.4.1Filebeat

filebeat 結(jié)合logstash 帶來(lái)好處

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

1.2.4.3Fluentd

二、為什么要使用 ELK

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

四、ELK 的工作原理

五、ELK日志分析系統(tǒng)集群部署

5.1環(huán)境準(zhǔn)備

5.2ELK Elasticsearch 集群部署(在Node1、Node2節(jié)點(diǎn)上操作)

5.2.1環(huán)境準(zhǔn)備

5.2.2部署 Elasticsearch 軟件

5.2.2.1安裝elasticsearch—rpm包

5.2.2.2加載系統(tǒng)服務(wù)

5.2.2.3修改elasticsearch主配置文件

5.2.2.4創(chuàng)建數(shù)據(jù)存放路徑并授權(quán)

5.2.2.5啟動(dòng)elasticsearch是否成功開(kāi)啟

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

①去瀏覽器訪問(wèn),查看node1和node2節(jié)點(diǎn)信息

② 檢查群集狀態(tài)信息

5.3安裝 Elasticsearch-head 插件

5.3.1編譯安裝 node

5.3.2安裝 phantomjs(前端的框架)

5.3.3安裝 Elasticsearch-head 數(shù)據(jù)可視化工具

5.3.4修改 Elasticsearch 主配置文件

5.3.5啟動(dòng) elasticsearch-head 服務(wù)

5.3.6通過(guò) Elasticsearch-head 查看 Elasticsearch 信息

5.3.7插入索引

5.3.8瀏覽器訪問(wèn)

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

5.4.1更改主機(jī)名

5.4.2安裝Apahce服務(wù)(httpd)

5.4.3安裝Java環(huán)境

5.4.4安裝logstash

5.4.5測(cè)試 Logstash

5.4.6定義 logstash配置文件

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

5.5.1安裝 Kiabana

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

5.5.3啟動(dòng) Kibana 服務(wù)

5.5.4驗(yàn)證 Kibana

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

5.5.5.1創(chuàng)建apache_log.conf文件

5.5.5.2將 Apache 服務(wù)器的日志添加到 Elasticsearch中, 并通過(guò) Kibana 顯示

5.5.5.3瀏覽器訪問(wèn) http://192.168.246.8:9100 查看索引是否創(chuàng)建

5.5.5.4瀏覽器訪問(wèn) http://192.168.246.8:5601 登錄 Kibana

六、Filebeat+ELK 部署

6.1 Filebeat 的作用

6.2ELFK 工作流程

6.3Filebeat

filebeat 結(jié)合logstash 帶來(lái)好處

6.4部署ELFK

6.4.1安裝 Filebeat這邊使用rpm包了

6.4.2設(shè)置 filebeat 的主配置文件

6.4.3在 Logstash 組件所在節(jié)點(diǎn)上配置(192.168.246.11)

6.4.4啟動(dòng) filebeat

6.4.5啟動(dòng) logstash?

6.4.6瀏覽器訪問(wèn)


一、ELK日志分析系統(tǒng)

1.1ELK介紹

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

ELK日志分析系統(tǒng)

  • 一套基于Elasticsearch、Logstash、kibana三個(gè)開(kāi)源的日志收集、存儲(chǔ)、檢索和可視化的解決方案。
  • elk可以幫助用戶快速定位和分析應(yīng)用程序的故障,監(jiān)控應(yīng)用程序的性能和安全性,以及提供豐富的數(shù)據(jù)分析和展示功能。

①Elasticsearch 是一個(gè)分布式和搜索和分析引擎,它可以對(duì)各種類型的數(shù)據(jù)進(jìn)行實(shí)時(shí)的索引和查詢,支持高可用和水平擴(kuò)展性

② logstash:是一個(gè)數(shù)據(jù)處理管道,它可以從多個(gè)來(lái)源采集數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行過(guò)濾、轉(zhuǎn)換和增強(qiáng),然后將數(shù)據(jù)發(fā)送到Elasticsearch 或者其他的目的地

③Kibana:是一個(gè)針對(duì)Elasticsearch的數(shù)據(jù)可視化平臺(tái),它可以通過(guò)各種圖表、儀表盤和地圖來(lái)展示和探索Elasticsearch中的數(shù)據(jù)

1.2ELK各組件介紹

1.2.1ElasticSearch

  • 是基于Lucene(一個(gè)全文檢索引擎的架構(gòu))開(kāi)發(fā)的分布式存儲(chǔ)檢索引擎,用來(lái)存儲(chǔ)各類日志。
  • Elasticsearch 是用Java開(kāi)發(fā)的(需要安裝jdk),可通過(guò)RESTful Web接口,讓用戶可以通過(guò)瀏覽器與Elasticsearch通信。

RESTful ?api?

下面是標(biāo)準(zhǔn)的 HTTP 方法與 RESTful 資源管理之間的映射關(guān)系:

  • GET (獲取 ??文檔)?
  • ?POST(創(chuàng)建 )?
  • PUT ( 更新)? ?
  • DELTET (刪除)
  • ? GET (搜索 ?值)
  • Elasticsearch是一個(gè)實(shí)時(shí)的、分布式的可擴(kuò)展的搜索引擎,允許進(jìn)行全文、結(jié)構(gòu)化搜索,它通常用于索引和搜索大容量的日志數(shù)據(jù),也可用于搜索許多不同類型的文檔。

核心概念:

接近實(shí)時(shí):一旦索引操作完成(通常在幾秒鐘內(nèi)),文檔就能幾乎立刻被搜索到
集群:是由一個(gè)或多個(gè)節(jié)點(diǎn)組成的
節(jié)點(diǎn):一個(gè)獨(dú)立運(yùn)行實(shí)例,它可以存儲(chǔ)數(shù)據(jù)、參與文檔索引和搜索過(guò)程
索引:索引(庫(kù))——>類型(表)——>文檔(記錄),可以理解為一種數(shù)據(jù)庫(kù)的特性,是一個(gè)大的文檔的集合
分片:允許將索引切分成多個(gè)分片,可以在集群的不同節(jié)點(diǎn)上獨(dú)立分布和操作
副本:允許為索引的每個(gè)分片創(chuàng)建副本,可以分?jǐn)傋x請(qǐng)求、有冗余能力

1.2.2Kiabana

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

1.2.3Logstash

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

logstash的架構(gòu)
input: 數(shù)據(jù)收集
filter: 數(shù)據(jù)加工
output: 數(shù)據(jù)輸出

  • 分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

Logstash主要主件有:

  • Shipper:日志收集者,監(jiān)控微服務(wù)日志
  • Indexer:日志存儲(chǔ)者
  • Broker:連接多個(gè)收集者,指向 Indexer
  • Search and Storage:對(duì)事件進(jìn)行搜索和存儲(chǔ)
  • Web Interface:展示可視化數(shù)據(jù)界面

1.2.4可以添加的其它組件

由于?Logstash 運(yùn)行在 jvm 虛擬機(jī)環(huán)境中,比較占用 cpu、內(nèi)存資源,可以添加其它組件直接在操作系統(tǒng)運(yùn)行:

1.2.4.1Filebeat
  • 輕量級(jí)的開(kāi)源日志文件數(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)中
filebeat 結(jié)合logstash 帶來(lái)好處
  • 通過(guò)Logstash 具有基于磁盤的自適應(yīng)緩沖系統(tǒng),該系統(tǒng)將吸收傳入的吞吐量,從而減輕Elasticsearch 持續(xù)寫(xiě)入數(shù)據(jù)的壓力
  • 從其他數(shù)據(jù)源(例如數(shù)據(jù)庫(kù),s3對(duì)象存儲(chǔ)或消息傳遞隊(duì)列)中提取將數(shù)據(jù)發(fā)送到多個(gè)目的地,例如s3,HDFS(Hadoop分布式文件系統(tǒng))或?qū)懭胛募褂脳l件數(shù)據(jù)流邏輯組成更復(fù)雜的處理管道
1.2.4.2緩存/消息隊(duì)列(redis、kafka、RabbitMQ等)

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

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

二、為什么要使用 ELK

  • 日志主要包括系統(tǒng)日志、應(yīng)用程序日志和安全日志。系統(tǒng)運(yùn)維和開(kāi)發(fā)人員可以通過(guò)日志了解服務(wù)器軟硬件信息、檢查配置過(guò)程中的錯(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)方法查閱日志。這樣是不是感覺(jué)很繁瑣和效率低下。當(dāng)務(wù)之急我們使用集中化的日志管理,例如:開(kāi)源的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ù)器上,問(wèn)題出現(xiàn)時(shí),大部分情況需要根據(jù)問(wèn)題暴露的關(guān)鍵信息,定位到具體的服務(wù)器和服務(wù)模塊,構(gòu)建一套集中式日志系統(tǒng),可以提高定位問(wèn)題的效率。

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

  • 收集:能夠采集多種來(lái)源的日志數(shù)據(jù)
  • 傳輸:能夠穩(wěn)定的把日志數(shù)據(jù)解析過(guò)濾并傳輸?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ù)的展示。

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

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

ELK工作流程
一般都是在需要收集日志的所有服務(wù)上部署logstash,作為logstash shipper用于監(jiān)控并收集、過(guò)濾日志,接著,
將過(guò)濾后的日志發(fā)送給Broker,然后,LogstashIndexer將存放在Broker中的數(shù)據(jù)再寫(xiě)入Elasicsearch,Elasticsearch對(duì)這
些數(shù)據(jù)創(chuàng)建索引,最后由Kibana對(duì)其進(jìn)行各種分析并以圖表的形式展示。

五、ELK日志分析系統(tǒng)集群部署

5.1環(huán)境準(zhǔn)備

服務(wù)器類型 系統(tǒng)和IP地址 需要安裝的組件 硬件方面
Node1節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.8 Elasticsearch 、node 2核4G
Node2節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.9 Elasticsearch 2核4G
Apache節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.10 Logstash 、Apache 2核4G

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

所有服務(wù)器關(guān)閉防火墻和SElinux

systemctl stop firewalld
setenforce o

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

看看每臺(tái)服務(wù)器,時(shí)間對(duì)不對(duì)

5.2ELK Elasticsearch 集群部署(在Node1、Node2節(jié)點(diǎn)上操作)

5.2.1環(huán)境準(zhǔn)備

①更改主機(jī)名、配置域名解析、查看Java環(huán)境

hostnamectl set-hostname node1
hostnamectl set-hostname node2
su

②添加主機(jī)名和ip的映射

vim /etc/hosts
192.168.246.8 node1
192.168.246.9 node2

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

建議使用 jdk,查看java版本

[root@node1 opt]#java -version
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) 查看java環(huán)境

#如果沒(méi)有安裝,yum -y install java

5.2.2部署 Elasticsearch 軟件

5.2.2.1安裝elasticsearch—rpm包

上傳elasticsearch-5.5.0.rpm到/opt目錄下?

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.2.2.2加載系統(tǒng)服務(wù)
systemctl daemon-reload 
systemctl enable elasticsearch.service

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.2.2.3修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

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
--33--取消注釋,指定數(shù)據(jù)存放路徑
path.data: /data/elk_data
--37--取消注釋,指定日志存放路徑
path.logs: /var/log/elasticsearch/
--43--取消注釋,改為在啟動(dòng)的時(shí)候不鎖定內(nèi)存
bootstrap.memory_lock: false
--55--取消注釋,設(shè)置監(jiān)聽(tīng)地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注釋,ES 服務(wù)的默認(rèn)監(jiān)聽(tīng)端口為9200
http.port: 9200
--68--取消注釋,集群發(fā)現(xiàn)通過(guò)單播實(shí)現(xiàn),指定要發(fā)現(xiàn)的節(jié)點(diǎn) node1、node2
discovery.zen.ping.unicast.hosts: ["node1", "node2"]
-------------------------------------------------
grep -v "^#" /etc/elasticsearch/elasticsearch.yml

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

注意查看兩臺(tái)機(jī)器是否都修改了,也可修改一臺(tái),再使用scp命令也可以

grep -v "^#" /etc/elasticsearch/elasticsearch.yml

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.2.2.4創(chuàng)建數(shù)據(jù)存放路徑并授權(quán)
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.2.2.5啟動(dòng)elasticsearch是否成功開(kāi)啟
systemctl start elasticsearch.service 
netstat -natp| grep 9200

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.2.2.6查看節(jié)點(diǎn)信息
?瀏覽器訪問(wèn) 
http://192.168.246.8:9200 和http://192.168.246.9:9200 查看節(jié)點(diǎn) Node1、Node2 的信息。
----------------------------------------
瀏覽器訪問(wèn) 
http://192.168.246.8:9200/_cluster/health?pretty  http://192.168.246.9:9200/_cluster/health?pretty
#查看群集的健康情況,可以看到 status 值為 green(綠色), 表示節(jié)點(diǎn)健康運(yùn)行。

綠色:健康 ?數(shù)據(jù)和副本 全都沒(méi)有問(wèn)題
紅色:數(shù)據(jù)都不完整
黃色:數(shù)據(jù)完整,但副本有問(wèn)題

①去瀏覽器訪問(wèn),查看node1和node2節(jié)點(diǎn)信息

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

② 檢查群集狀態(tài)信息

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

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

5.3安裝 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 瀏覽器做的事情,它都可以做到

5.3.1編譯安裝 node

只需要安裝一臺(tái),此處在node1上安裝

#上傳軟件包 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 -j 4 && make install

① 放入安裝包并解壓

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

② 編譯安裝

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.2安裝 phantomjs(前端的框架)

#上傳軟件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到/opt下
---------------------------------------
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/

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.3安裝 Elasticsearch-head 數(shù)據(jù)可視化工具

#上傳軟件包 elasticsearch-head.tar.gz 到/opt
--------------------------------
cd /opt
tar xf elasticsearch-head.tar.gz -C /usr/local/src/
cd /usr/local/src/elasticsearch-head/
npm install

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.4修改 Elasticsearch 主配置文件

vim /etc/elasticsearch/elasticsearch.yml
---------------------------------
G到配置文件末尾,添加以下內(nèi)容
http.cors.enabled: true  #開(kāi)啟跨域訪問(wèn)支持,默認(rèn)為 false
http.cors.allow-origin: "*"  #指定跨域訪問(wèn)允許的域名地址為所有
--------------------------------
systemctl restart elasticsearch.service

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

http.cors.enabled: true
http.cors.allow-origin: "*"

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.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 &
netstat -natp |grep 9100  #elasticsearch-head 監(jiān)聽(tīng)的端口是 9100

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.6通過(guò) Elasticsearch-head 查看 Elasticsearch 信息

通過(guò)瀏覽器輸入http://192.168.246.8:9100/ 去訪問(wèn),然后Elasticsearch 輸入下面網(wǎng)址訪問(wèn)http://192.168.246.8:9200/ 地址并連接群集。如果看到群集健康值為 green 綠色,代表群集很健康

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.7插入索引

#通過(guò)命令插入一個(gè)測(cè)試索引,索引為 index-demo,類型為 test

curl -X PUT 'localhost:9200/index-demo1/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.3.8瀏覽器訪問(wèn)

http://192.168.246.8:9100/ 查看索引信息,可以看見(jiàn)索引默認(rèn)被分片5個(gè),并且有一個(gè)副本。
點(diǎn)擊“數(shù)據(jù)瀏覽”,會(huì)發(fā)現(xiàn)在node1上創(chuàng)建的索引為 index-demo,類型為 test 的相關(guān)信息。

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

點(diǎn)擊“數(shù)據(jù)瀏覽”,會(huì)發(fā)現(xiàn)在node1上創(chuàng)建的索引為 index-demo,類型為 test 的相關(guān)信息。

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

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

Logstash 一般部署在需要監(jiān)控其日志的服務(wù)器。

在本案例中,Logstash 部署在 Apache 服務(wù)器上,用于收集 Apache 服務(wù)器的日志信息并發(fā)送到 Elasticsearch

5.4.1更改主機(jī)名

hostnamectl set-hostname apache

5.4.2安裝Apahce服務(wù)(httpd)

yum install httpd -y
systemctl start httpd

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.4.3安裝Java環(huán)境

java -version

如果沒(méi)有jdk就yum -y install java 安裝

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.4.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
 
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.4.5測(cè)試 Logstash

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

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

① 定義輸入和輸出流:輸入采用標(biāo)準(zhǔn)輸入,輸出采用標(biāo)準(zhǔn)輸出(類似管道)

logstash -e 'input { stdin{} } output { stdout{} }'

www.baidu.com  #鍵入內(nèi)容(標(biāo)準(zhǔn)輸入)
2024-04-10T11:03:57.952Z apache www.baidu.com #輸出結(jié)果(標(biāo)準(zhǔn)輸出)
www.sina.com.cn  #鍵入內(nèi)容
2024-04-10T11:04:19.269Z apache www.sina.com.cn


執(zhí)行 ctrl+c 退出

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

② 定義輸入和輸出流:使用 rubydebug 輸出詳細(xì)格式顯示,codec 為一種編解碼器

logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

③ 定義輸入和輸出流:使用 Logstash 將信息寫(xiě)入 Elasticsearch 中

logstash -e 'input { stdin {} } output { elasticsearch { hosts=>["192.168.246.8:9200"] } }'

地址是安裝了可視化工具,那一臺(tái)的地址192.168.246.8

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

④ 瀏覽器訪問(wèn) http://192.168.246.8:9100/ 查看索引信息和數(shù)據(jù)瀏覽

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

如果訪問(wèn)不到,看看可視化界面npm run start &是否還在后臺(tái)運(yùn)行

5.4.6定義 logstash配置文件

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

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

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

①修改 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"  #表示從開(kāi)始處收集
    }
}

output {
     elasticsearch {           #輸出到 elasticsearch
     hosts => [ "192.168.246.8:9200" ]  #指定 elasticsearch 服務(wù)器的地址和端口
     index =>"system-%{+YYYY.MM.dd}"   #指定輸出到 elasticsearch 的索引格式
     }
}
------------------------------------
systemctl restart logstash.service

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

input {
    file{
        path =>"/var/log/messages"
        type =>"system"
        start_position =>"beginning"
    }
}

output {
     elasticsearch {
     hosts => [ "192.168.246.8:9200" ]
     index =>"system-%{+YYYY.MM.dd}"
     }
}

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

②瀏覽器訪問(wèn) http://192.168.246.8:9100/ 查看索引信息

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

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

換臺(tái)機(jī)器node2換成192.168.246.10,apache換成192.168.246.11,繼續(xù)后續(xù)操作

服務(wù)器類型 系統(tǒng)和IP地址 需要安裝的組件 硬件方面
Node1節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.8 Elasticsearch 、Kiabana 2核4G
Node2節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.10 Elasticsearch 2核4G
Apache節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.11 Logstash 、Apache 2核4G
??#上傳軟件包 kibana-5.5.1-x86_64.rpm 到/opt目錄
cd /opt
rpm -ivh kibana-5.5.1-x86_64.rpm

cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak

設(shè)置 Kibana 的主配置文件
vim /etc/kibana/kibana.yml
-------------------------------------
--2--取消注釋,Kiabana 服務(wù)的默認(rèn)監(jiān)聽(tīng)端口為5601
server.port: 5601
--7--取消注釋,設(shè)置 Kiabana 的監(jiān)聽(tīng)地址,0.0.0.0代表所有地址
server.host: "0.0.0.0"
--21--取消注釋,設(shè)置和 Elasticsearch 建立連接的地址和端口
elasticsearch.url: "http://192.168.246.8:9200" 
--30--取消注釋,設(shè)置在 elasticsearch 中添加.kibana索引
kibana.index: ".kibana"
----------------------------
3.啟動(dòng) Kibana 服務(wù)
systemctl start kibana.service
systemctl enable kibana.service

netstat -natp | grep 5601
-----------------------------

4.驗(yàn)證 Kibana
瀏覽器訪問(wèn) http://192.168.246.8:5601

第一次登錄需要添加一個(gè) Elasticsearch 索引:
Index name or pattern
#輸入:system-*			#在索引名中輸入之前配置的 Output 前綴“system”

單擊 “create” 按鈕創(chuàng)建,單擊 “Discover” 按鈕可查看圖表信息及日志信息。
數(shù)據(jù)展示可以分類顯示,在“Available Fields”中的“host”,然后單擊 “add”按鈕,可以看到按照“host”篩選后的結(jié)果

5.5.1安裝 Kiabana

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

cd /opt
rpm -ivh kibana-5.5.1-x86_64.rpm
cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
vim /etc/kibana/kibana.yml

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.5.3啟動(dòng) Kibana 服務(wù)

systemctl start kibana.service 
systemctl enable kibana.service

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

一定要加入開(kāi)機(jī)自啟,如果不加入,可能斷電了,服務(wù)就會(huì)斷開(kāi),影響你數(shù)據(jù)等

5.5.4驗(yàn)證 Kibana

瀏覽器訪問(wèn) http://192.168.246.8:5601
第一次登錄需要添加一個(gè) Elasticsearch 索引:
Index name or pattern
#輸入:system-*?? ??? ??? ?#在索引名中輸入之前配置的 Output 前綴“system”

單擊 “create” 按鈕創(chuàng)建,單擊 “Discover” 按鈕可查看圖表信息及日志信息。
數(shù)據(jù)展示可以分類顯示,在“Available Fields”中的“host”,然后單擊 “add”按鈕,可以看到按照“host”篩選后的結(jié)果

瀏覽器訪問(wèn) http://192.168.246.8:5601

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

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

把a(bǔ)pache日志收集到Elasticsearch中

5.5.5.1創(chuàng)建apache_log.conf文件
vim  /etc/logstash/conf.d/apache_log.conf

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

input {
  file {
     path => "/etc/httpd/logs/access_log"
     type => "access"
     start_position => "beginning"
  }
  file {
     path => "/etc/httpd/logs/error_log"
     type => "error"
     start_position => "beginning"
  }
}
output {
  if [type] == "access" {
     elasticsearch {
     hosts => ["192.168.246.8:9200"]
     index => "apache_access-%{+YYYY.MM.dd}"
     }
  }
  if [type] == "error" {
     elasticsearch {
     hosts => ["192.168.246.8:9200"]
     index => "apache_error-%{+YYYY.MM.dd}"
     }
  }
}

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.5.5.2將 Apache 服務(wù)器的日志添加到 Elasticsearch中, 并通過(guò) Kibana 顯示
cd /etc/logstash/conf.d/
/usr/share/logstash/bin/logstash -f apache_log.conf

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.5.5.3瀏覽器訪問(wèn) http://192.168.246.8:9100 查看索引是否創(chuàng)建

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

5.5.5.4瀏覽器訪問(wèn) http://192.168.246.8:5601 登錄 Kibana

瀏覽器訪問(wèn) http://192.168.246.8:5601 登錄 Kibana,單擊“Create Index Pattern”按鈕添加索引, 在索引名中輸入之前配置的 Output 前綴 apache_access-*,并單擊“Create”按鈕。在用相同的方法添加 apache_error-*索引。
選擇“Discover”選項(xiàng)卡,在中間下拉列表中選擇剛添加的 apache_access-* 、apache_error-* 索引, 可以查看相應(yīng)的圖表及日志信息。

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

添加access日志,沒(méi)有成功

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

需要去訪問(wèn)下Apache網(wǎng)頁(yè),需要有訪問(wèn)記錄,才可以生成apache_access日志索引

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

六、Filebeat+ELK 部署 (ELFK)

ELKF 指的是 Elasticsearch、Logstash、Kibana 和 Filebeat,F(xiàn)ilebeat 是 Elastic 公司推出的一款輕量級(jí)的數(shù)據(jù)采集器,用于將日志文件和其他數(shù)據(jù)發(fā)送到 Elasticsearch 或 Logstash。下載地址:下載 Elastic 產(chǎn)品 | Elastic

elastic中文官網(wǎng):https://www.elastic.co/cn/
Logstash中文官網(wǎng):https://www.elastic.co/cn/logstash

Filebeat+ELK 即ELFK

6.1 Filebeat 的作用

由于 logstash 會(huì)大量占用系統(tǒng)的內(nèi)存資源,一般我們會(huì)使用 filebeat 替換 logstash 收集日志的功能,組成 ELFK 架構(gòu)
或用 fluentd 替代 logstash 組成 EFK(elasticsearch/fluentd/kibana),由于 fluentd 是由 Go 語(yǔ)言開(kāi)發(fā)的,一般在 K8s 環(huán)境中使用較多

6.2ELFK 工作流程

filebeat 將日志收集后交由 logstash 處理
logstash 進(jìn)行過(guò)濾、格式化等操作,滿足過(guò)濾條件的數(shù)據(jù)將發(fā)送給 ES
ES 對(duì)數(shù)據(jù)進(jìn)行分片存儲(chǔ),并提供索引功能
Kibana 對(duì)數(shù)據(jù)進(jìn)行圖形化的 web 展示,并提供索引接口

6.3Filebeat

  • 輕量級(jí)的開(kāi)源日志文件數(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)中

filebeat 結(jié)合logstash 帶來(lái)好處

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

6.4部署ELFK

Filebeat+ELK 即ELFK

服務(wù)器類型 系統(tǒng)和IP地址 需要安裝的組件 硬件方面
Node1節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.8 Elasticsearch 、Kiabana 2核4G
Node2節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.10 Elasticsearch 2核4G
Apache節(jié)點(diǎn) CentOS7.4(64 位) 192.168.246.11 Logstash 、Apache 2核4G
Filebeat節(jié)點(diǎn)? ? ? ? ? ? ? ?? CentOS7.4(64 位) 192.168.246.12 ?Filebeat
192.168.246.11新機(jī)器上執(zhí)行:
cd /opt
tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz
#將filebeat壓縮包上傳到/opt路徑下并解壓
mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat
#解壓后的文件夾移動(dòng)到/usr/local路徑下并改名為filebeat

vim /usr/local/filebeat/filebeat.yml    
#編輯filebeat配置文件,注意格式
---------------------------------------------------------------------------------
filebeat.prospectors: //filebeat.input:
- type: log     #指定 log 類型,從日志文件中讀取消息    

  enabled: true
 
 paths:
    - /var/log/messages  #指定監(jiān)控的日志文件     
    - /var/log/*.log
  
fields:           #可以使用 fields 配置選項(xiàng)設(shè)置一些參數(shù)字段添加到 output 中
    service_name: filebeat
    log_type: log
    service_id: 192.168.246.12 #filebeat的地址
 
--------------Elasticsearch output-------------------
(全部注釋掉)
 
----------------Logstash output---------------------
output.logstash:
  hosts: ["192.168.246.11:5044"]   #指定 logstash 的 IP 和端口   

----------------------------------------------------------------------------------------
/usr/local/filebeat/filebeat -e -c filebeat.yml  #啟動(dòng) filebeat

6.4.1安裝 Filebeat這邊使用rpm包了

#上傳軟件包 filebeat-6.2.4-linux-x86_64.tar.gz 到/opt目錄
---------------------------------------
tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz
mv filebeat-6.2.4-linux-x86_64/ /usr/local/filebeat

這邊直接使用rpm包了,不用解壓

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

注意配置文件位置,如果使用rpm包,主配置文件在/etc/filebeat/filebeat.yml如果使用tar包配置文件位置在/usr/local/filebeat/filebeat.yml注意哦

使用yum或者編譯等,配置文件都放在/etc下面,/etc是存放配置文件的

6.4.2設(shè)置 filebeat 的主配置文件

cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak
vim /etc/filebeat/filebeat.yml

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

? ?:后面注意空格

service_name: filebeat
log_type: log
service_id: 192.168.246.12

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

6.4.3在 Logstash 組件所在節(jié)點(diǎn)上配置(192.168.246.11)

①新建一個(gè) Logstash 配置文件

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

input {
   beats {
    port => "5044"
   }
}
output {
   elasticsearch {
      hosts => ["192.168.246.8:9200"]
      index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
   }
   stdout {
     codec => rubydebug
   }
}

注意格式,括號(hào)和括號(hào)對(duì)齊哦,不然會(huì)出錯(cuò)哦,一層和一層的括號(hào)對(duì)齊

6.4.4啟動(dòng) filebeat

?如果使用tar包安裝使用它啟動(dòng)??/usr/local/filebeat/filebeat -e -c filebeat.yml?或 ./filebeat -e -c filebeat.yml

?如果使用rpm包安裝使用systemctl start filebeat.service啟動(dòng)filebeat

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

6.4.5啟動(dòng) logstash?

logstash -f logstash.conf

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

或者用它啟動(dòng)/usr/share/logstash/bin/logstash -f logstash.conf

?如果報(bào)錯(cuò)模塊重復(fù)可以使用它/usr/share/logstash/bin/logstash -f logstash.conf --path=/opt查看

/opt是隨意些,有目錄就可以

6.4.6瀏覽器訪問(wèn)

http://192.168.246.8:9100

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

http://192.168.246.8:5601 登錄 Kibana

單擊“Create Index Pattern”按鈕添加索引“filebeat-*”,單擊 “create” 按鈕創(chuàng)建,單擊 “Discover” 按鈕可查看圖表信息及日志信息

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

總結(jié)

1)ELK三大組件及其工作流程

組件:ElasticSearch(簡(jiǎn)稱:ES)、Logstash和Kiabana

流程:
Logstash負(fù)責(zé)數(shù)據(jù)的收集,對(duì)數(shù)據(jù)進(jìn)行過(guò)濾、分析等操作,然后存儲(chǔ)到指定的位置,發(fā)送給ES;
ES是分布式存儲(chǔ)檢索引擎,用來(lái)存儲(chǔ)各類日志,可以讓用戶可以通過(guò)瀏覽器與 ES通信;
Kiabana為 Logstash 和 ES 提供圖形化的日志分析 Web 界面展示,可以匯總、分析和搜索重要數(shù)據(jù)日志。

ELK日志分析系統(tǒng)

  • 一套基于Elasticsearch、Logstash、kibana三個(gè)開(kāi)源的日志收集、存儲(chǔ)、檢索和可視化的解決方案。
  • elk可以幫助用戶快速定位和分析應(yīng)用程序的故障,監(jiān)控應(yīng)用程序的性能和安全性,以及提供豐富的數(shù)據(jù)分析和展示功能。

①Elasticsearch 是一個(gè)分布式和搜索和分析引擎,它可以對(duì)各種類型的數(shù)據(jù)進(jìn)行實(shí)時(shí)的索引和查詢,支持高可用和水平擴(kuò)展性

② logstash:是一個(gè)數(shù)據(jù)處理管道,它可以從多個(gè)來(lái)源采集數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行過(guò)濾、轉(zhuǎn)換和增強(qiáng),然后將數(shù)據(jù)發(fā)送到Elasticsearch 或者其他的目的地

③Kibana:是一個(gè)針對(duì)Elasticsearch的數(shù)據(jù)可視化平臺(tái),它可以通過(guò)各種圖表、儀表盤和地圖來(lái)展示和探索Elasticsearch中的數(shù)據(jù)

2)一般用什么來(lái)代替logstash?為什么?

一般使用Filebeat代替logstash
因?yàn)閘ogstash是由Java開(kāi)發(fā)的,需要運(yùn)行在JVM上,耗資源較大,運(yùn)行占用CPU和內(nèi)存高。另外沒(méi)有消息隊(duì)列緩存,存在數(shù)據(jù)丟失隱患;而filebeat是一款輕量級(jí)的開(kāi)源日志文件數(shù)據(jù)搜集器,能快速收集數(shù)據(jù),并發(fā)送給 logstash 進(jìn)行解析,性能上相比運(yùn)行于 JVM 上的 logstash 優(yōu)勢(shì)明顯。

3)feilbeat +Logstash + Elasticsearch +Kibana模式

這是一種更加完善和靈活的架構(gòu),適合處理復(fù)雜的日志數(shù)據(jù)

并將其發(fā)送到Elasticsearch進(jìn)行索引。kibana則可以用來(lái)查看和分析日志數(shù)據(jù)
在這種模式下,filebeat (beats)負(fù)責(zé)收日志文件,并將其發(fā)送到logstash進(jìn)行處理。logstash可以對(duì)日志數(shù)據(jù)進(jìn)行更多的過(guò)濾、轉(zhuǎn)換和增強(qiáng)的操作,并將其發(fā)送到Elasticsearch進(jìn)行索引。kibana則可以用來(lái)查看和分析日志數(shù)據(jù)

分布式技術(shù)--------------ELK大規(guī)模日志實(shí)時(shí)收集分析系統(tǒng),elk,大數(shù)據(jù)

4) feilbeat+緩存/消息隊(duì)列+Logstash + Elasticsearch + Kibana 模式

這是一種加健壯高效的架構(gòu),適合處理海量復(fù)雜的日志數(shù)據(jù),在這種模式下,filebeat和logstach之間加入緩存或消息隊(duì)列組件,如redis、kafka或RabbitMQ等 ,這樣可以降低對(duì)日志源主機(jī)的影響 ,提高日志傳輸?shù)姆€(wěn)定性和可靠性,以及實(shí)現(xiàn)負(fù)載均衡和高可用文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-854899.html

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

本文來(lái)自互聯(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)文章

  • 無(wú)人機(jī)支持的空中無(wú)蜂窩大規(guī)模MIMO系統(tǒng)中上行鏈路分布式檢測(cè)

    無(wú)人機(jī)支持的空中無(wú)蜂窩大規(guī)模MIMO系統(tǒng)中上行鏈路分布式檢測(cè)

    在無(wú)人機(jī)(UAV)支持的空中蜂窩自由大規(guī)模多輸入多輸出(mMIMO)系統(tǒng)中,上行鏈路分布式檢測(cè)涉及以下幾個(gè)關(guān)鍵概念和步驟: “無(wú)蜂窩”意味著系統(tǒng)不是圍繞傳統(tǒng)的蜂窩結(jié)構(gòu)組織的,而是通過(guò)分散的多個(gè)基站協(xié)作提供覆蓋和容量,而不是單個(gè)固定的基站。 “上行鏈路”(

    2024年02月22日
    瀏覽(26)
  • 華為云云耀云服務(wù)器L實(shí)例評(píng)測(cè)|基于華為云云耀云服務(wù)器L實(shí)例搭建EMQX大規(guī)模分布式 MQTT 消息服務(wù)器場(chǎng)景體驗(yàn)

    華為云云耀云服務(wù)器L實(shí)例評(píng)測(cè)|基于華為云云耀云服務(wù)器L實(shí)例搭建EMQX大規(guī)模分布式 MQTT 消息服務(wù)器場(chǎng)景體驗(yàn)

    EMQX 是一款國(guó)內(nèi)開(kāi)發(fā)的大規(guī)模分布式MQTT消息服務(wù)器,它旨在為物聯(lián)網(wǎng)應(yīng)用提供高效可靠的連接,實(shí)時(shí)處理和分發(fā)消息以及事件流數(shù)據(jù)。作為一個(gè)關(guān)鍵的物聯(lián)網(wǎng)基礎(chǔ)設(shè)施組件,EMQX為企業(yè)和開(kāi)發(fā)者提供了一個(gè)強(qiáng)大的工具,用于構(gòu)建各種規(guī)模和復(fù)雜度的物聯(lián)網(wǎng)與云應(yīng)用。 EMQX的主要

    2024年02月08日
    瀏覽(26)
  • 【分布式技術(shù)】ELK大型日志收集分析系統(tǒng)

    【分布式技術(shù)】ELK大型日志收集分析系統(tǒng)

    目錄 步驟一:完成JAVA環(huán)境部署 步驟二:部署ES節(jié)點(diǎn)(三臺(tái)主機(jī)) 步驟三:內(nèi)核參數(shù)修改 步驟四:web端查看驗(yàn)證 步驟五:yum安裝nginx ?步驟六:完成logstash部署 步驟七:部署kibana ?步驟八:測(cè)試ELK

    2024年01月20日
    瀏覽(34)
  • 基于Spark的大規(guī)模日志分析

    摘要: 本篇文章將從一個(gè)實(shí)際項(xiàng)目出發(fā),分享如何使用 Spark 進(jìn)行大規(guī)模日志分析,并通過(guò)代碼演示加深讀者的理解。 本文分享自華為云社區(qū)《【實(shí)戰(zhàn)經(jīng)驗(yàn)分享】基于Spark的大規(guī)模日志分析【上進(jìn)小菜豬大數(shù)據(jù)系列】》,作者:上進(jìn)小菜豬。 隨著互聯(lián)網(wǎng)的普及和應(yīng)用范圍的擴(kuò)

    2024年02月09日
    瀏覽(22)
  • 針對(duì)大規(guī)模服務(wù)日志敏感信息的長(zhǎng)效治理實(shí)踐

    針對(duì)大規(guī)模服務(wù)日志敏感信息的長(zhǎng)效治理實(shí)踐

    近年來(lái),國(guó)家采取了多項(xiàng)重要舉措來(lái)加強(qiáng)個(gè)人數(shù)據(jù)保護(hù),包括實(shí)施《中華人民共和國(guó)網(wǎng)絡(luò)安全法》和《個(gè)人信息保護(hù)法》等法律法規(guī)。這些舉措旨在確保用戶隱私的安全,同時(shí)確保企業(yè)合規(guī)運(yùn)營(yíng)。在處理敏感數(shù)據(jù)時(shí),企業(yè)有責(zé)任采取適當(dāng)?shù)拇胧﹣?lái)保護(hù)用戶信息。 在數(shù)據(jù)保護(hù)方

    2024年02月02日
    瀏覽(20)
  • 論文《面向大規(guī)模日志數(shù)據(jù)分析的自動(dòng)化日志解析》翻譯

    論文《Towards Automated Log Parsing for Large-Scale Log Data Analysis》翻譯 面向大規(guī)模日志數(shù)據(jù)分析的自動(dòng)化日志解析翻譯

    2024年02月10日
    瀏覽(17)
  • 日志管理中的云計(jì)算和大數(shù)據(jù)方案:支持大規(guī)模日志數(shù)據(jù)的管理和分析

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 1.1. 背景介紹 隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,各種信息系統(tǒng)與應(yīng)用程序如雨后春筍般涌現(xiàn)出來(lái)。這些系統(tǒng)與應(yīng)用程序在運(yùn)營(yíng)過(guò)程中產(chǎn)生了大量的日志數(shù)據(jù),然而,這些日志數(shù)據(jù)往往分散在各個(gè)系統(tǒng)之間,缺乏統(tǒng)一的管理和分析,難以為系統(tǒng)的運(yùn)維

    2024年02月16日
    瀏覽(19)
  • 4.日志分布式-ELK

    4.日志分布式-ELK

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

    2024年02月13日
    瀏覽(26)
  • 【Springcloud】elk分布式日志

    【Springcloud】elk分布式日志

    (1)什么是分布式日志 在分布式應(yīng)用中,日志被分散在儲(chǔ)存不同的設(shè)備上。如果你管理數(shù)十上百臺(tái)服務(wù)器,你還在使用依次登錄每臺(tái)機(jī)器的傳統(tǒng)方法查閱日志。這樣是不是感覺(jué)很繁瑣和效率低下。所以我們使用集中化的日志管理,分布式日志就是對(duì)大規(guī)模日志數(shù)據(jù)進(jìn)行采集

    2024年02月09日
    瀏覽(21)
  • 人工智能大模型技術(shù)基礎(chǔ)系列之:大規(guī)模模型蒸餾

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 在深度學(xué)習(xí)的發(fā)展過(guò)程中,數(shù)據(jù)量越來(lái)越大,訓(xùn)練模型所需的時(shí)間也越來(lái)越長(zhǎng)。如何降低模型訓(xùn)練時(shí)間、提升模型精度,一直是研究者們面臨的問(wèn)題。模型蒸餾(Model Distillation)技術(shù)被提出用于解決這個(gè)問(wèn)題。它的核心思想是通過(guò)對(duì)一個(gè)大型的復(fù)

    2024年02月08日
    瀏覽(94)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包