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

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

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

一、概述

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

使用ELK日志文件系統(tǒng)的原因:日志主要包括系統(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)簡單分析,但是當(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),可以提高定位問題的效率。

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

收集:能夠采集多種來源的日志數(shù)據(jù)
傳輸:能夠穩(wěn)定的把日志數(shù)據(jù)解析過濾并傳輸?shù)酱鎯?chǔ)系統(tǒng)
存儲(chǔ):存儲(chǔ)日志數(shù)據(jù)
分析:支持 UI 分析
警告:能夠提供錯(cuò)誤報(bào)告,監(jiān)控機(jī)制

二、組件介紹

ElasticSearch

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ù),也可用于搜索許多不同類型的文檔。

數(shù)據(jù)存儲(chǔ)的方式類似于redis的cluster集群,對(duì)數(shù)據(jù)進(jìn)行了分片,并且每個(gè)片都會(huì)有相應(yīng)的副本
?

核心特點(diǎn)

1、接近實(shí)時(shí)(NRT):搜索速度非常的快,輕微的延遲

2、集群(cluster):集群有一個(gè)唯一標(biāo)志的名字,默認(rèn)Elasticasearch,將一個(gè)或多個(gè)節(jié)點(diǎn)組織在一起,組成一個(gè)cluster的集群,每個(gè)節(jié)點(diǎn)基于集群名字加入到集群中,且在集群中使用自己的名字來身份標(biāo)識(shí)。

3、節(jié)點(diǎn)(node):每一個(gè)節(jié)點(diǎn)就是一臺(tái)單臺(tái)服務(wù)器

4、索引(index):一個(gè)索引由一個(gè)名字來標(biāo)識(shí)(必須全部是小寫字母),并且當(dāng)我們要多對(duì)應(yīng)這個(gè)索引中的文檔進(jìn)行索引、更新、刪除的時(shí)候,都要使用到這個(gè)名字。

6、類型(type):在一個(gè)索引中,你可以定義一個(gè)或多種類型。比如:當(dāng)我們存儲(chǔ)一個(gè)購物平臺(tái)的數(shù)據(jù)時(shí),可以定義一個(gè)用戶數(shù)據(jù)類型,產(chǎn)品數(shù)據(jù)類型等

7、文檔(document):一個(gè)文檔是一個(gè)可被索引的基礎(chǔ)信息單元

分片與副本:

分片:為了解決索引存儲(chǔ)的數(shù)據(jù)可能超過單個(gè)節(jié)點(diǎn)的硬件限制,ES提供了將索引分成多個(gè)分片的功能,當(dāng)在創(chuàng)建索引時(shí),可以定義想要的分片數(shù)量,每一個(gè)分片就是一個(gè)全功能獨(dú)立的索引。

分片的優(yōu)點(diǎn):1、水平分割擴(kuò)展,增大了存儲(chǔ)量。 2、分布式跨越分片操作,提高性能和吞吐量

副本:為了健壯性,高可用性,可以故障切換。es將分片復(fù)制一份或多份放在不同的節(jié)點(diǎn)主機(jī)上,稱為分片副本

副本的優(yōu)點(diǎn):1、高可用,以應(yīng)對(duì)分片或者節(jié)點(diǎn)故障,出于這個(gè)原因,分片副本要在不同的節(jié)點(diǎn)上。 2、加強(qiáng)性能,增強(qiáng)吞吐量,搜索可以并行在所有副本上執(zhí)行


總結(jié):對(duì)logstash過濾的數(shù)據(jù)進(jìn)行索引和存儲(chǔ)

Kiabana

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

主要特點(diǎn)

1、Elasticsearch無縫之集成

2、整合數(shù)據(jù)

3、接口靈活,分享容易

4、配置簡單

5、可視化多數(shù)據(jù)源

6、簡單數(shù)據(jù)導(dǎo)出

7、讓更多團(tuán)隊(duì)成員收益

總結(jié):將elasticsearch服務(wù)中存儲(chǔ)的數(shù)據(jù)以可視化的方式展示給用戶

Logstash

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)大的插件功能,常用于日志處理。

由三個(gè)組件組成: ?input(數(shù)據(jù)采集) ?filter(數(shù)據(jù)過濾) ?output(數(shù)據(jù)輸出)

主要組件

Shipper(日志收集):負(fù)責(zé)監(jiān)控本地日志文件的變化,及時(shí)把日志文件的最新內(nèi)容收集起來。通常遠(yuǎn)程代理端(agent)只需要運(yùn)行這個(gè)組件即可
Indexer(日志存儲(chǔ)):負(fù)責(zé)接收日志并寫入到本地文件
Broker(日志Hub):負(fù)責(zé)連接多個(gè)Shipper和多個(gè)Indexer
Search and Storage:允許對(duì)事件進(jìn)行搜索和存儲(chǔ)
Web Interface:基于Web的展示界面

總結(jié):對(duì)集中的日志數(shù)據(jù)進(jìn)行采集,并且格式化數(shù)據(jù)后,輸出給elasticsearch中

可以添加的其它組件:Filebeat

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)中。行解析。

filebeat的工作原理

Filebeat可以保持每個(gè)文件的狀態(tài),并且頻繁的把文件狀態(tài)從注冊(cè)表里更新到磁盤,這里所說的文件狀態(tài)是用來記錄上一次Harvaster讀取文件時(shí),讀取到的位置,以保證能把全部的日志都讀取出來,然后發(fā)給output。

如果在某一時(shí)刻,作為output的Elasticsearch或則Logstash變成了不可用,F(xiàn)ilebeat將會(huì)把最后的文件讀取位置保存下來,直到output重新可用的時(shí)候,快速地恢復(fù)文件數(shù)據(jù)的讀取。

在Filebeat運(yùn)行過程中,每個(gè)Prospector的狀態(tài)信息都會(huì)保存在內(nèi)存里,如果Filebeat出現(xiàn)了重啟,完成重啟之后,會(huì)從注冊(cè)表文件里恢復(fù)重啟之間的狀態(tài)信息,讓Filebeat繼續(xù)從之間已知的位置開始進(jìn)行讀取數(shù)據(jù)。

filebeat和logstash的區(qū)別:

因?yàn)閘ogstash是jvm跑的,資源消耗比較大,啟動(dòng)一個(gè)logstash就需要消耗500M左右的內(nèi)存(這就是為什么logstash啟動(dòng)特別慢的原因)。
而filebeat只需要10M左右的內(nèi)存資源。
常用的ELK日志采集方案中,大部分的做法就是將所有節(jié)點(diǎn)的日志內(nèi)容通過filebeat發(fā)送到logstash,lostash根據(jù)配置文件進(jìn)行過濾,然后將過濾之后的文件傳輸?shù)絜lasticsearch中,最后通過kibana展示。

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ū)懭胛募?/p>

(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ǔ)。

三、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)行可視化處理。

input :數(shù)據(jù)采集
output :數(shù)據(jù)輸出
filter :數(shù)據(jù)過濾

四、實(shí)例演示

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ip地址? ? ? ? ? ? ? ? ? ? ?服務(wù)
node1 (mysql2)?? ?192.168.11.22?? ?elasticsearch
node2 (mysql3)?? ?192.168.11.23?? ?elasticsearch elasticsearch-head kibana
mysql3 (客戶端)?? ?192.168.11.24?? ?apache logstash
192.168.11.10 (客戶端)?? ?192.168.11.12?? ?filebeat

Node1節(jié)點(diǎn)(2C/4G):node1/192.168.10.13					Elasticsearch  Kibana
Node2節(jié)點(diǎn)(2C/4G):node2/192.168.10.14					Elasticsearch
Apache節(jié)點(diǎn):apache/192.168.10.15						Logstash  Apache
 
 
 
systemctl stop firewalld
setenforce 0
------------------- ELK Elasticsearch 集群部署(在Node1、Node2節(jié)點(diǎn)上操作) ----------------------------------
1.環(huán)境準(zhǔn)備
#更改主機(jī)名、配置域名解析、查看Java環(huán)境
Node1節(jié)點(diǎn):hostnamectl set-hostname node1
Node2節(jié)點(diǎn):hostnamectl set-hostname node2
 
vim /etc/hosts
192.168.10.13 node1 
192.168.10.14 node2   
 
 
注:版本問題
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)
 
建議使用jdk
 
2.部署 Elasticsearch 軟件
(1)安裝elasticsearch—rpm包
#上傳elasticsearch-5.5.0.rpm到/opt目錄下
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm 
 
(2)加載系統(tǒng)服務(wù)
systemctl daemon-reload    
systemctl enable elasticsearch.service
 
(3)修改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
--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)聽地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注釋,ES 服務(wù)的默認(rèn)監(jiān)聽端口為9200
http.port: 9200
--68--取消注釋,集群發(fā)現(xiàn)通過單播實(shí)現(xiàn),指定要發(fā)現(xiàn)的節(jié)點(diǎn) node1、node2
discovery.zen.ping.unicast.hosts: ["node1", "node2"]
 
grep -v "^#" /etc/elasticsearch/elasticsearch.yml
 
(4)創(chuàng)建數(shù)據(jù)存放路徑并授權(quán)
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/
 
(5)啟動(dòng)elasticsearch是否成功開啟
systemctl start elasticsearch.service
netstat -antp | grep 9200
 
(6)查看節(jié)點(diǎn)信息
瀏覽器訪問  http://192.168.10.13:9200  、 http://192.168.10.14:9200 查看節(jié)點(diǎn) Node1、Node2 的信息。
 
瀏覽器訪問 http://192.168.10.13:9200/_cluster/health?pretty  、 http://192.168.10.14:9200/_cluster/health?pretty查看群集的健康情況,可以看到 status 值為 green(綠色), 表示節(jié)點(diǎn)健康運(yùn)行。
 
瀏覽器訪問 http://192.168.10.13:9200/_cluster/state?pretty  檢查群集狀態(tài)信息。
 
#使用上述方式查看群集的狀態(tài)對(duì)用戶并不友好,可以通過安裝 Elasticsearch-head 插件,可以更方便地管理群集。
 
 
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 瀏覽器做的事情,它都可以做到。
 
(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.10.13:9100/ 地址并連接群集。如果看到群集健康值為 green 綠色,代表群集很健康。
 
(7)插入索引
#通過命令插入一個(gè)測試索引,索引為 index-demo,類型為 test。
 
//輸出結(jié)果如下:curl -X PUT 'localhost:9200/index-demo1/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
 
 
 
{
"_index" : "index-demo",
"_type" : "test",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"created" : true
}
 
瀏覽器訪問 http://192.168.10.13:9100/ 查看索引信息,可以看見索引默認(rèn)被分片5個(gè),并且有一個(gè)副本。
點(diǎn)擊“數(shù)據(jù)瀏覽”,會(huì)發(fā)現(xiàn)在node1上創(chuàng)建的索引為 index-demo,類型為 test 的相關(guān)信息。
 
 
---------------------- ELK 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
 
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
 
5.測試 Logstash
Logstash 命令常用選項(xiàng):
-f:通過這個(gè)選項(xiàng)可以指定 Logstash 的配置文件,根據(jù)配置文件配置 Logstash 的輸入和輸出流。
-e:從命令行中獲取,輸入、輸出后面跟著字符串,該字符串可以被當(dāng)作 Logstash 的配置(如果是空,則默認(rèn)使用 stdin 作為輸入,stdout 作為輸出)。
-t:測試配置文件是否正確,然后退出。
 
定義輸入和輸出流:
#輸入采用標(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 退出
 
#使用 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"
}
 
#使用 Logstash 將信息寫入 Elasticsearch 中
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.10.13: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.10.13: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 配置文件,讓其收集系統(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.10.13:9200"]					#指定 elasticsearch 服務(wù)器的地址和端口
        index =>"system-%{+YYYY.MM.dd}"					#指定輸出到 elasticsearch 的索引格式
    }
}
 
systemctl restart logstash 
 
瀏覽器訪問 http://192.168.10.13:9100/ 查看索引信息
 
 
---------------------- ELK Kiabana 部署(在 Node1 節(jié)點(diǎn)上操作) ----------------------------------------
1.安裝 Kiabana
#上傳軟件包 kibana-5.5.1-x86_64.rpm 到/opt目錄
cd /opt
rpm -ivh kibana-5.5.1-x86_64.rpm
 
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"
--21--取消注釋,設(shè)置和 Elasticsearch 建立連接的地址和端口
elasticsearch.url: "http://192.168.10.13: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
瀏覽器訪問 http://192.168.10.13: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"
    }
    file{
        path => "/etc/httpd/logs/error_log"
        type => "error"
        start_position => "beginning"
    }
}
output {
    if [type] == "access" {
        elasticsearch {
            hosts => ["192.168.10.13:9200"]
            index => "apache_access-%{+YYYY.MM.dd}"
        }
    }
	if [type] == "error" {
        elasticsearch {
            hosts => ["192.168.10.13:9200"]
            index => "apache_error-%{+YYYY.MM.dd}"
        }
    }
}
 
cd /etc/logstash/conf.d/
/usr/share/logstash/bin/logstash -f apache_log.conf
 
瀏覽器訪問 http://192.168.10.13:9100 查看索引是否創(chuàng)建
 
瀏覽器訪問 http://192.168.10.13:5601 登錄 Kibana,單擊“Create Index Pattern”按鈕添加索引, 在索引名中輸入之前配置的 Output 前綴 apache_access-*,并單擊“Create”按鈕。在用相同的方法添加 apache_error-*索引。
選擇“Discover”選項(xiàng)卡,在中間下拉列表中選擇剛添加的 apache_access-* 、apache_error-* 索引, 可以查看相應(yīng)的圖表及日志信息。

?1.ELK之 部署"E"? Elasticsearch

兩臺(tái)node服務(wù)器同步操作:

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


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

此處不是同步操作,在此處注意修改node.name行的時(shí)候,node1和node2不一樣,要修改?。?!

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

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

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

瀏覽器訪問,查看節(jié)點(diǎn)信息,(這是elasticsearch原本的視圖界面,很簡陋,不方便)

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

安裝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

把安裝elasticsearch-head所需要的前置插件的安裝包上傳到opt目錄下

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

安裝 phantomjs(前端的框架)?

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

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

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

?(4)修改 Elasticsearch 主配置文件

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

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

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

必須在解壓后的 elasticsearch-head 目錄下啟動(dòng)服務(wù),進(jìn)程會(huì)讀取該目錄下的 gruntfile.js 文件,否則可能啟動(dòng)失敗。

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

(6)通過 Elasticsearch-head 查看 Elasticsearch 信息?

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

(7)插入索引

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

輸出結(jié)果如下:curl -X PUT 'localhost:9200/index-demo1/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
ELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elk

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

2. ELK之 部署"L"? Logstash(在 Apache 節(jié)點(diǎn)上操作)

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

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

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

使用 rubydebug 輸出詳細(xì)格式顯示,codec 為一種編解碼器

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

?修改 Logstash 配置文件,讓其收集系統(tǒng)日志/var/log/messages,并將其輸出到 elasticsearch 中。

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

?訪問192.168.11.23:9100查看Elasticsearch存儲(chǔ)的日志索引信息

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

3. ELK之部署"K"? Kibana服務(wù)

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

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

4. ELFK之部署"F"? Filebeat

ELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elkELK 企業(yè)級(jí)日志分析系統(tǒng) ELFK,elk文章來源地址http://www.zghlxwxcb.cn/news/detail-731715.html

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

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(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)文章

  • 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ǒng) 簡單介紹

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

    目錄 一? ? ?ELK 簡介 1,?elk?是什么 2,elk?架構(gòu)圖 3,elk?日志處理步驟 二? ??Elasticsearch?簡介 1,?Elasticsearch?是什么 2,?Elasticsearch 的核心概念 3,?Elasticsearch?的原理 三? ? ?Logstash 1,?Logstash?是什么 2,Logstash?架構(gòu)圖 四,Logstash?的代替品? 1,F(xiàn)ilebeat 1.1,為什么Logs

    2024年04月13日
    瀏覽(44)
  • DAY 74 ELK企業(yè)級(jí)日志分析系統(tǒng)

    DAY 74 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月09日
    瀏覽(24)
  • 分布式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月16日
    瀏覽(23)
  • ELK、ELKF企業(yè)級(jí)日志分析系統(tǒng)介紹

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

    ?前言 隨著企業(yè)級(jí)應(yīng)用系統(tǒng)日益復(fù)雜,隨之產(chǎn)生的海量日志數(shù)據(jù)。傳統(tǒng)的日志管理和分析手段,難以做到高效檢索、實(shí)時(shí)監(jiān)控以及深度挖掘潛在價(jià)值。在此背景下,ELK日志分析系統(tǒng)應(yīng)運(yùn)而生。\\\"Elastic\\\" 是指 Elastic 公司所提供的一系列與搜索、日志分析和數(shù)據(jù)可視化相關(guān)的產(chǎn)品。

    2024年04月15日
    瀏覽(37)
  • 【ELK企業(yè)級(jí)日志分析系統(tǒng)】部署Filebeat+ELK詳解

    【ELK企業(yè)級(jí)日志分析系統(tǒng)】部署Filebeat+ELK詳解

    接上文安裝與部署ELK詳解 (1)在Filebeat節(jié)點(diǎn)上,安裝Apache服務(wù) (2)修改Apache服務(wù)的配置文件 (3)開啟Apache服務(wù) (4)瀏覽器訪問,驗(yàn)證Apache服務(wù) (1) 安裝Filebeat (2)設(shè)置filebeat的主配置文件 (3)啟動(dòng)filebeat (4)在Logstash組件所在節(jié)點(diǎn)上,新建一個(gè)Logstash配置文件(CentOS 7-3) (

    2024年02月16日
    瀏覽(29)
  • 【ELK企業(yè)級(jí)日志分析系統(tǒng)】安裝與部署ELK詳解

    【ELK企業(yè)級(jí)日志分析系統(tǒng)】安裝與部署ELK詳解

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

    2024年02月16日
    瀏覽(26)
  • 【分布式應(yīng)用】ELK企業(yè)級(jí)日志分析系統(tǒng)

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

    目錄 一、ELK 簡介 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)步

    2024年02月14日
    瀏覽(56)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包