ELK + Kafka + Filebeat

ELK + Kafka + Filebeat學習

https://blog.csdn.net/qq_21383435/article/details/79463832

https://blog.csdn.net/xiangyuan1988/article/details/78977471

https://www.jianshu.com/p/f149a76ea5b5

https://blog.csdn.net/qq_21383435/article/category/7486820

ELK + Kafka + Filebeat學習 目錄: 一、ELK + Kafka + Filebeat架構 二、爲何要使用ELK 三、驗證流程:Filebeat->Logstash->Kafka->Logstash->Elasticsearch->Kibanajava

1 ELK + Kafka + Filebeat架構json

圖1.1 ELK + Kafka + Filebeat架構圖bootstrap

l Filebeat:後端

日誌採集。安全

l Logstash:ruby

官網描述:Logstash:Collect,Enrich and Transport。收集,豐富和傳輸,Logstash是用於管理事件和日誌的工具。可使用它來收集日誌,解析它們,而後存儲它們以備之後使用(例如用來搜索)。bash

l Shipper:服務器

在每一個目標系統上運行的客戶端,負責收集日誌消息。網絡

l Kafka:架構

做爲消息隊列解耦了處理過程,同時提升了可擴展性。具備峯值處理能力,使用消息隊列可以使關鍵組件頂住突發的訪問壓力,而不會由於突發的超負荷的請求而徹底崩潰。

l Kerberos:

基於共享祕鑰對稱加密的安全網絡認證系統,它避免了將密碼在網絡上傳輸,而是將密碼做爲對稱加密的祕鑰,經過是否可以解密來驗證用戶的身份。

l Indexer:

負責按管理員指定的方式,聚集日誌並轉發日誌給elasticsearch。

l Elasticsearch:

官網描述:Elasticsearch:Store,Search and Analyze。存儲,搜索和分析,用於存儲全部的日誌。

l Search Guard:

Search Guard是Elasticsearch的安全插件。它爲後端系統(如Kerberos)提供身份驗證和受權,並向Elasticsearch添加審覈日誌記錄和文檔/字段級安全性。

l Kibana:

官網描述:Kibana:Explore,Visualize and Share。瀏覽,可視化和分享,爲Logstash和ElasticSearch提供日誌分析友好的Web界面,幫助彙總、分析和搜索重要數據。

2 爲何要使用ELK l 開發能夠經過登陸到Kibana拿到日誌,而再也不須要經過運維,減輕運維的工做,同時運維也方便進行管理;

l 能夠解決單個日誌文件巨大,經常使用的文本工具難以分析,檢索困難;

l 日誌種類多,分散在不一樣的位置難以查找,經過ELK能夠進行統一管理;

3 驗證流程:Filebeat->Logstash->Kafka->Logstash->Elasticsearch->Kibana 軟件版本說明:

Filebeat版本:5.2.1

Logstash版本:5.2.2

Kafka版本:0.10.1

Elasticsearch版本:5.2.2

Kibana版本:5.2.2

jdk版本:1.8.0_112

(1)filebeat是經過yum進行安裝的,所以修改filebeat配置文件/etc/filebeat目錄下filebeat.yml文件對應的output.logstash中logstash的host位置,以及配置監控的日誌文件的路徑,這裏監控的是在/root/remoa目錄下的dengqy.log日誌文件。

圖3.1 截圖1

圖3.2 截圖2

(2)查看kafka中broker服務器的hosts位置:

圖3.3 截圖3

(3)查看Elasticsearch中服務器的host位置:在/opt/package/elasticsearch-5.2.2/config目錄下查看elasticsearch.yml文件中的host的ip地址及運行HTTP服務的端口,端口註釋即便用默認端口9200。

圖3.4 截圖4

(4)查看用於Elasticsearch身份驗證的keys文件位置:

圖3.5 截圖5

(5)配置remoatest2.conf文件做爲filebeat input logstash以及logstash output kafka。

[plain] view plain copy <span style="font-size:14px;"><span style="font-family:'Times New Roman';">input {
beats{
port => 5044
}
}
output {
stdout{codec => rubydebug}
kafka{
topic_id => "dengqytopic"
bootstrap_servers => "hdp1.example.com:9092"
security_protocol => "SASL_PLAINTEXT"
sasl_kerberos_service_name => "kafka"
jaas_path => "/tmp/kafka_jaas.conf.demouser"
kerberos_config => "/etc/krb5.conf"
compression_type => "none"
acks => "1"
}
}</span></span>
(6)配置remoatest3.conf文件做爲kafka input logstash以及logstash output elasticsearch。

[plain] view plain copy <span style="font-size:14px;"><span style="font-family:'Times New Roman';">input{
kafka{
bootstrap_servers => "hdp1.example.com:9092"
security_protocol => "SASL_PLAINTEXT"
sasl_kerberos_service_name => "kafka"
jaas_path => "/tmp/kafka_jaas.conf.demouser"
kerberos_config => "/etc/krb5.conf"
topics => ["dengqytopic"]
}
}
output{
stdout{
codec => rubydebug
}
elasticsearch{
hosts => ["kdc1.example.com:9200","kdc2.example.com:9200"]
user => logstash
password => logstash
action => "index"
index => "logstash-dengqy-%{+YYYY.MM.dd}"
truststore => "/opt/package/logstash-5.2.2/config/keys/truststore.jks"
truststore_password => whoami
ssl => true
ssl_certificate_verification => true
codec => "json"
}
}</span></span>
(7)啓動消費者監控:

KAFKA_HEAP_OPTS="-Djava.security.auth.login.config=/usr/hdp/current/kafka-broker/config/kafka_client_jaas.conf -Xmx512M" /opt/package/kafka_2.10-0.10.1.0/bin/kafka-console-consumer.sh --topic dengqytopic --bootstrap-server hdp1.example.com:9092 --from-beginning --consumer.config /opt/package/kafka_2.10-0.10.1.0/config/consumer.properties

圖3.6 截圖6

(8)啓動remoatest2.conf腳本:

bash ../bin/logstash -f remoatest2.conf

圖3.7 截圖7

(9)啓動remoatest3.conf腳本:

bash bin/logstash -f config/remoatest3.conf

圖3.8 截圖8

(10)啓動filebeat收集:

service filebeat start

圖3.9 截圖9

(11)查看到remoatest3.conf中配置的stdout{codec => rubydebug}標準輸出:

圖3.10 截圖10

(12)查看到remoatest2.conf中配置的stdout{codec => rubydebug}標準輸出:

圖3.11 截圖11

(13)查看到消費者中處理日誌:

圖3.12 截圖12

(14)在Kibana中查看到對應的index:

GET _cat/indices

圖3.13 截圖13

(15)查看該index詳細內容,數據總量及數據內容一致,即存入elasticsearch中成功:

GET logstash-dengqy-2017.09.08/_search

圖3.14 截圖14

https://blog.csdn.net/remoa_dengqinyi/article/category/7153570

相關文章
相關標籤/搜索