認(rèn)識(shí)BeatsBeats是用于單用途數(shù)據(jù)托運(yùn)人的平臺(tái)。它們以輕量級代理的形式安裝,并將來自成百上千臺(tái)機(jī)器的數(shù)據(jù)發(fā)送到Logstash或Elasticsearch。 (畫外音:通俗地理解,就是采集數(shù)據(jù),并上報(bào)到Logstash或Elasticsearch) Beats對于收集數(shù)據(jù)非常有用。它們位于你的服務(wù)器上,將數(shù)據(jù)集中在Elasticsearch中,Beats也可以發(fā)送到Logstash來進(jìn)行轉(zhuǎn)換和解析。 為了捕捉(捕獲)數(shù)據(jù),Elastic提供了各種Beats: Beats可以直接(或者通過Logstash)將數(shù)據(jù)發(fā)送到Elasticsearch,在那里你可以進(jìn)一步處理和增強(qiáng)數(shù)據(jù),然后在Kibana中將其可視化。 Filebeat第1步:安裝Filebeat第2步:配置Filebeat配置文件:filebeat.yml 為了配置Filebeat: 1. 定義日志文件路徑 對于最基本的Filebeat配置,你可以使用單個(gè)路徑。例如: filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log 在這個(gè)例子中,獲取在/var/log/*.log路徑下的所有文件作為輸入,這就意味著Filebeat將獲取/var/log目錄下所有以.log結(jié)尾的文件。 為了從預(yù)定義的子目錄級別下抓取所有文件,可以使用以下模式:/var/log/*/*.log。這將抓取/var/log的子文件夾下所有的以.log結(jié)尾的文件。它不會(huì)從/var/log文件夾本身抓取。目前,不可能遞歸地抓取這個(gè)目錄下的所有子目錄下的所有.log文件。 (畫外音: 假設(shè)配置的輸入路徑是/var/log/*/*.log,假設(shè)目錄結(jié)構(gòu)是這樣的: 那么只會(huì)抓取到2.log和3.log,而不會(huì)抓到1.log和4.log。因?yàn)?var/log/aaa/ccc/1.log和/var/log/4.log不會(huì)被抓到。 ) 2. 如果你發(fā)送輸出目錄到Elasticsearch(并且不用Logstash),那么設(shè)置IP地址和端口以便能夠找到Elasticsearch: output.elasticsearch: hosts: ["192.168.1.42:9200"] 3. 如果你打算用Kibana儀表盤,可以這樣配置Kibana端點(diǎn): setup.kibana: host: "localhost:5601" 4. 如果你的Elasticsearch和Kibana配置了安全策略,那么在你啟動(dòng)Filebeat之前需要在配置文件中指定訪問憑據(jù)。例如: output.elasticsearch: hosts: ["myEShost:9200"] username: "filebeat_internal" password: "{pwd}" setup.kibana: host: "mykibanahost:5601" username: "my_kibana_user" password: "{pwd}" 第3步:配置Filebeat以使用Logstash如果你想使用Logstash對Filebeat收集的數(shù)據(jù)執(zhí)行額外的處理,那么你需要將Filebeat配置為使用Logstash。 output.logstash: hosts: ["127.0.0.1:5044"] 第4步:在Elasticsearch中加載索引模板在Elasticsearch中,索引模板用于定義設(shè)置和映射,以確定如何分析字段。(畫外音:相當(dāng)于定義索引文檔的數(shù)據(jù)結(jié)構(gòu),因?yàn)橐巡杉臄?shù)據(jù)轉(zhuǎn)成標(biāo)準(zhǔn)格式輸出) Filebeat包已經(jīng)安裝了推薦的索引模板。如果你接受filebeat.yml中的默認(rèn)配置,那么Filebeat在成功連接到Elasticsearch以后會(huì)自動(dòng)加載模板。如果模板已經(jīng)存在,不會(huì)覆蓋,除非你配置了必須這樣做。 通過在Filebeat配置文件中配置模板加載選項(xiàng),你可以禁用自動(dòng)模板加載,或者自動(dòng)加載你自己的目標(biāo)。 配置模板加載 默認(rèn)情況下,如果Elasticsearch輸出是啟用的,那么Filebeat會(huì)自動(dòng)加載推薦的模板文件 ——— fields.yml。
手動(dòng)加載模板 ./filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' 第5步:設(shè)置Kibana dashboardsFilebeat附帶了Kibana儀表盤、可視化示例。在你用dashboards之前,你需要?jiǎng)?chuàng)建索引模式,filebeat-*,并且加載dashboards到Kibana中。為此,你可以運(yùn)行setup命令或者在filebeat.yml配置文件中配置dashboard加載。 ./filebeat setup --dashboards 第6步:啟動(dòng)Filebeat./filebeat -e -c filebeat.yml -d "publish" 第7步:查看Kibana儀表板示例http://127.0.0.1:5601 完整的配置#=========================== Filebeat inputs ============== filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log #============================== Dashboards =============== setup.dashboards.enabled: false #============================== Kibana ================== setup.kibana: host: "192.168.101.5:5601" #-------------------------- Elasticsearch output --------- output.elasticsearch: hosts: ["localhost:9200"] 啟動(dòng)Elasticsearch /usr/local/programs/elasticsearch/elasticsearch-6.3.2/bin/elasticsearch 啟動(dòng)Kibana /usr/local/programs/kibana/kibana-6.3.2-linux-x86_64/bin/kibana 設(shè)置dashboard ./filebeat setup --dashboards 啟動(dòng)Filebeat ./filebeat -e -c filebeat.yml -d "publish" 瀏覽器訪問 http://192.168.101.5:5601 查看索引 請求: curl -X GET "localhost:9200/_cat/indices?v" 響應(yīng): health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open bank 59jD3B4FR8iifWWjrdMzUg 5 1 1000 0 475.1kb 475.1kb green open .kibana DzGTSDo9SHSHcNH6rxYHHA 1 0 153 23 216.8kb 216.8kb yellow open filebeat-6.3.2-2018.08.08 otgYPvsgR3Ot-2GDcw_Upg 3 1 255 0 63.7kb 63.7kb yellow open customer DoM-O7QmRk-6f3Iuls7X6Q 5 1 1 0 4.5kb 4.5kb 其它相關(guān) |
|