go-kit 微服務 日誌分析管理 (ELK + Filebeat)
ELK
- ELK 不是一款軟體,而是 Elasticsearch、Logstash 和 Kibana 三種軟體產品的首字母縮寫
- Elasticsearch:分散式搜尋和分析引擎,具有高可伸縮、高可靠和易管理等特點
- Logstash:資料收集引擎,它支援動態的從各種資料來源蒐集資料並處理資料
- Kibana:資料分析,視覺化平臺
Filebeat
- Filebeat 是一個輕量型的服務對伺服器壓力比較小,用於採集資料,並上報到 Logstash 或 Elasticsearch
Beats
- Packetbeat => 蒐集網路流量資料
- Topbeat => 蒐集系統、程式和檔案系統級別的 CPU 和記憶體使用情況等資料
- Filebeat => 蒐集檔案資料
- Winlogbeat => 蒐集 Windows 事件日誌資料
- Metricbeat => Ship and analyze metrics.
- Heartbeat => Ping your Infrastructure.
- Auditbeat => Send audit data to Elasticsearch.
- Functionbeat => Ship cloud data with serverless infrastructure.
- Journalbeat => Analyze Journald logs.
架構
Filebeat ->
->
Filebeat -> -> -> -> Logstash -> Elasticsearch -> Kibana
->
Filebeat ->
安裝
-
elasticsearch 下載 地址
- 啟動命令
linux bin/elasticsearch
Windows bin\elasticsearch.bat
- elasticsearch 預設服務地址 http://localhost:9200/
//訪問 http://localhost:9200/ 正確返回資料
{
"name": "linux-pc",
"cluster_name": "elasticsearch",
"cluster_uuid": "_Jb2j7Z0RO2EK5Nsr1GqjQ",
"version": {
"number": "7.6.1",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "aa751e09be0a5072e8570670309b1f12348f023b",
"build_date": "2020-02-29T00:15:25.529771Z",
"build_snapshot": false,
"lucene_version": "8.4.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
-
kibana 下載 地址
- kibana 預設服務地址 http://localhost:5601
- 啟動命令
//開啟 config/kibana.yml檔案
//在elasticsearch.hosts中寫上elasticsearch的地址
//elasticsearch.hosts: ["http://localhost:9200"]
linux bin/kibana
Windows bin\kibana.bat
bin/logstash -f logstash.conf
./filebeat -e -c filebeat.yml
監控 git-kit 服務
- filebeat.yml 配置
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/go/src/learning_tools/logs/go-kit-v11-client-*.log
document_type: "kit-client" #指定型別 在elastic中可通過[type]識別
fields:
tag: kit-client #指定標籤 在logstahs中可通過[fields][tag]識別
- type: log
enabled: true
paths:
- /home/go/src/learning_tools/logs/go-kit-v11-server-*.log
document_type: "kit-server"
fields:
tag: kit-server
# 積累1024條訊息才上報
#spool_size: 1024
# 或者空閒5s上報
#idle_timeout: "5s"
output.logstash:
hosts: ["0.0.0.0:5044"]
//output.elasticsearch:
// # Array of hosts to connect to.
// hosts: ["0.0.0.0:9200"]
// # Optional protocol and basic auth credentials.
//#protocol: "https"
//#username: "elastic"
//#password: "changeme"
- logstash.conf 配置 這裡只做最基礎演示,其他高階功能 點選
input #Input Plugin處理資料輸入
{
beats
{
port => 5044
}
}
output #Output Plugin將格式化資料輸出到指定目標檔案
{
stdout { #控制檯輸出日誌
codec => rubydebug
}
if [fields][tag] == "kit-server"
{
elasticsearch {
hosts => ["http://localhost:9200"]
index => "kit-server-%{+YYYY.MM.dd}"
}
}
if [fields][tag] == "kit-client"
{
elasticsearch {
hosts => ["http://localhost:9200"]
index => "kit-client-%{+YYYY.MM.dd}"
}
}
}
訪問 http://localhost:5601 我們就可以通過 kibana 檢視日誌了
檢視我們建立的檔案
建立檢視
檢視 kit-client 日誌
檢視 kit-server 日誌
結語
- 加入日誌分析管理 (ELK + Filebeat),我們可以更好的監控日誌,清洗資料等方便我們處理和定位問題
- 歡迎新增 QQ 一起討論
完整程式碼地址
聯絡 QQ: 3355168235
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- ELK+FileBeat日誌分析系統
- ELK+FileBeat+Kafka搭建日誌管理平臺Kafka
- go-kit微服務:日誌功能Go微服務
- 日誌分析平臺ELK之日誌收集器filebeat
- 微服務下,使用ELK做日誌收集及分析微服務
- ELK+kafka+Winlogbeat/FileBeat搭建統一日誌收集分析管理系統Kafka
- 在Docker上搭建ELK+Filebeat日誌中心Docker
- 使用ELK構建微服務的日誌平臺微服務
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- ELK日誌分析系統
- ELK-日誌分析系統
- ELK日誌
- ELK日誌分析系統詳解
- 在Linux中,如何使用ELK進行日誌管理和分析?Linux
- [elk]基於elk的業務日誌格式設計
- ELK 日誌分析系統 ----------- 部署ElasticSearch群集Elasticsearch
- 企業級日誌分析系統——ELK
- go-kit微服務:限流Go微服務
- MySQL日誌收集之Filebeat和Logstsh的一鍵安裝配置(ELK架構)MySql架構
- 日誌分析平臺ELK之日誌收集器logstash
- go-kit微服務:HTTP RESTGo微服務HTTPREST
- go-kit 微服務實踐Go微服務
- 【ELK】elastalert 日誌告警AST
- go-kit微服務:服務熔斷Go微服務
- 開源元件ELK日誌系統配置與管理元件
- 使用Docker快速部署ELK分析Nginx日誌實踐DockerNginx
- 最新Centos7.6 部署ELK日誌分析系統CentOS
- SpringCloud微服務實戰——搭建企業級開發框架(三十八):搭建ELK日誌採集與分析系統SpringGCCloud微服務框架
- Filebeat 收集日誌的那些事兒
- filebeat 收集nginx日誌輸出到kafkaNginxKafka
- 日誌收集之filebeat使用介紹
- go-kit微服務:API監控Go微服務API
- go-kit微服務系列目錄Go微服務
- SpringBoot使用ELK日誌收集Spring Boot
- Linux-ELK日誌收集Linux
- ELK實時分析之php的laravel專案日誌PHPLaravel
- Docker安裝ELK並實現JSON格式日誌分析DockerJSON
- 微服務的全鏈路日誌微服務