elastic stack棧涉及到如下⼏個組件mysql
beats:⽤於輕量級⽇志採集,⽀持⽂件採集,系統數據採集,特定中間件數據採集等nginx
logstash:⽤於⽇志結構化,標籤化,⽀持DSL⽅式將數據進⾏結構化redis
elasticsearch:⽤於提供⽇志相關的索引,使得⽇志可以有效的檢索sql
kibana:⽤於提供⽇志檢索,特定metric展現的⾯板,⽅便使⽤的UImongodb
x-pack:⽤於監控與預警相關的組件,能夠集成到es中,kibana有特定的⾯板⽤於展現UI網絡
curator:⽤於管理ES集羣的索引相關的數據,對索引進⾏分析框架
beats是elasticstack的⼀一員,屬於⼀一種輕量量級的⽇日誌採集組件,使⽤用go語⾔言開發,沒有依賴,可
以簡化部署和運維操做,使⽤用yaml格式的配置⽂文件來採集⽇日誌或者系統信息,⽬目前beats⽀支持的
事件採集包括:⽹網絡數據,⽇日誌⽂文件,mysql,system,mongodb,kafka,nginx,redis,
zookeeper,haproxy等
beats提供了了⼀一個易易於開發和擴展的框架⽤用於擴展相關的監控指標的採集來滿⾜足各類不不同的指標
採集需求,logstash提供了了對beats數據採集的接⼊入接⼝口,所以只須要使⽤用beats⼯工具進⾏行行數據採
集,而後將數據推到logstash集羣便可;另外beats的數據還⽀支持直接寫⼊入es,這種場景適合不不需
要針對性的對數據作結構化的場景。
⽬目前beats⽀支持如下⼏幾種:運維
filebeat:⽤用於採集⽂文件數據elasticsearch
metrcbeat:⽤用於採集各類系統數據工具
packetbeat:⽤用於採集⽹網絡數據
winlogbeat:⽤用於採集Windows系統數據
heartbeat:⽤用於採集⼼心跳數據【未開發完成】
下載beats
使⽤用yaml配置beats
啓動beats
filebeats採集數據的速率
採集數據對系統資源的佔⽤用
cpu
mem
採集數據時新增⽂文件,減小⽂文件,變動更⽂文件採集⽅方式
採集數據時若是接收數據的集羣異常是否可以正確處理理
logstash -e 'input { stdin { } } output { stdout {} }'
在logstash中有輸⼊,過濾,輸出即:input,filter,output三種配置,這三種功能在logstash中是經過不不同的線程進⾏行行處理理,經過top命令而後H能夠查看logstash的各個線程的⼯工做狀況