真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

日志采集利器Filebeat的用法

本篇內(nèi)容介紹了“日志采集利器Filebeat的用法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、海南網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為海南等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

本文使用的Filebeat是7.7.0的版本,文章將從如下幾個(gè)方面說(shuō)明:

  Filebeat是什么,可以用來(lái)干嘛

  Filebeat的原理是怎樣的,怎么構(gòu)成的

  Filebeat應(yīng)該怎么玩

Filebeat是什么

日志采集利器Filebeat的用法

Filebeat和Beats的關(guān)系

首先Filebeat是Beats中的一員。

Beats在是一個(gè)輕量級(jí)日志采集器,其實(shí)Beats家族有6個(gè)成員,早期的ELK架構(gòu)中使用Logstash收集、解析日志,但是Logstash對(duì)內(nèi)存、CPU、io等資源消耗比較高。相比Logstash,Beats所占系統(tǒng)的CPU和內(nèi)存幾乎可以忽略不計(jì)。

目前Beats包含六種工具:

  •  Packetbeat:網(wǎng)絡(luò)數(shù)據(jù)(收集網(wǎng)絡(luò)流量數(shù)據(jù))

  •  Metricbeat:指標(biāo)(收集系統(tǒng)、進(jìn)程和文件系統(tǒng)級(jí)別的CPU和內(nèi)存使用情況等數(shù)據(jù))

  •  Filebeat:日志文件(收集文件數(shù)據(jù))

  •  Winlogbeat:Windows事件日志(收集Windows事件日志數(shù)據(jù))

  •  Auditbeat:審計(jì)數(shù)據(jù)(收集審計(jì)日志)

  •  Heartbeat:運(yùn)行時(shí)間監(jiān)控(收集系統(tǒng)運(yùn)行時(shí)的數(shù)據(jù))

Filebeat是什么

Filebeat是用于轉(zhuǎn)發(fā)和集中日志數(shù)據(jù)的輕量級(jí)傳送工具。Filebeat監(jiān)視您指定的日志文件或位置,收集日志事件,并將它們轉(zhuǎn)發(fā)到Elasticsearch或 Logstash進(jìn)行索引。

Filebeat的工作方式如下:?jiǎn)?dòng)Filebeat時(shí),它將啟動(dòng)一個(gè)或多個(gè)輸入,這些輸入將在為日志數(shù)據(jù)指定的位置中查找。對(duì)于Filebeat所找到的每個(gè)日志,F(xiàn)ilebeat都會(huì)啟動(dòng)收集器。每個(gè)收集器都讀取單個(gè)日志以獲取新內(nèi)容,并將新日志數(shù)據(jù)發(fā)送到libbeat,libbeat將聚集事件,并將聚集的數(shù)據(jù)發(fā)送到為Filebeat配置的輸出。

工作的流程圖如下:

日志采集利器Filebeat的用法

Filebeat和Logstash的關(guān)系

因?yàn)長(zhǎng)ogstash是JVM跑的,資源消耗比較大,所以后來(lái)作者又用Golang寫(xiě)了一個(gè)功能較少但是資源消耗也小的輕量級(jí)的logstash-forwarder。不過(guò)作者只是一個(gè)人,加入http://elastic.co公司以后,因?yàn)镋S公司本身還收購(gòu)了另一個(gè)開(kāi)源項(xiàng)目Packetbeat,而這個(gè)項(xiàng)目專(zhuān)門(mén)就是用Golang的,有整個(gè)團(tuán)隊(duì),所以ES公司干脆把logstash-forwarder的開(kāi)發(fā)工作也合并到同一個(gè)Golang團(tuán)隊(duì)來(lái)搞,于是新的項(xiàng)目就叫Filebeat了。

Filebeat原理是什么

Filebeat的構(gòu)成

Filebeat結(jié)構(gòu):由兩個(gè)組件構(gòu)成,分別是inputs(輸入)和harvesters(收集器),這些組件一起工作來(lái)跟蹤文件并將事件數(shù)據(jù)發(fā)送到您指定的輸出,harvester負(fù)責(zé)讀取單個(gè)文件的內(nèi)容。harvester逐行讀取每個(gè)文件,并將內(nèi)容發(fā)送到輸出。為每個(gè)文件啟動(dòng)一個(gè)harvester。harvester負(fù)責(zé)打開(kāi)和關(guān)閉文件,這意味著文件描述符在harvester運(yùn)行時(shí)保持打開(kāi)狀態(tài)。如果在收集文件時(shí)刪除或重命名文件,F(xiàn)ilebeat將繼續(xù)讀取該文件。這樣做的副作用是,磁盤(pán)上的空間一直保留到harvester關(guān)閉。默認(rèn)情況下,F(xiàn)ilebeat保持文件打開(kāi),直到達(dá)到close_inactive。

關(guān)閉harvester可以會(huì)產(chǎn)生的結(jié)果:

  •  文件處理程序關(guān)閉,如果harvester仍在讀取文件時(shí)被刪除,則釋放底層資源。

  •  只有在scan_frequency結(jié)束之后,才會(huì)再次啟動(dòng)文件的收集。

  •  如果該文件在harvester關(guān)閉時(shí)被移動(dòng)或刪除,該文件的收集將不會(huì)繼續(xù)。

一個(gè)input負(fù)責(zé)管理harvesters和尋找所有來(lái)源讀取。如果input類(lèi)型是log,則input將查找驅(qū)動(dòng)器上與定義的路徑匹配的所有文件,并為每個(gè)文件啟動(dòng)一個(gè)harvester。每個(gè)input在它自己的Go進(jìn)程中運(yùn)行,F(xiàn)ilebeat當(dāng)前支持多種輸入類(lèi)型。每個(gè)輸入類(lèi)型可以定義多次。日志輸入檢查每個(gè)文件,以查看是否需要啟動(dòng)harvester、是否已經(jīng)在運(yùn)行harvester或是否可以忽略該文件。

Filebeat如何保存文件的狀態(tài)

Filebeat保留每個(gè)文件的狀態(tài),并經(jīng)常將狀態(tài)刷新到磁盤(pán)中的注冊(cè)表文件中。該狀態(tài)用于記住harvester讀取的最后一個(gè)偏移量,并確保發(fā)送所有日志行。如果無(wú)法訪問(wèn)輸出(如Elasticsearch或Logstash),F(xiàn)ilebeat將跟蹤最后發(fā)送的行,并在輸出再次可用時(shí)繼續(xù)讀取文件。當(dāng)Filebeat運(yùn)行時(shí),每個(gè)輸入的狀態(tài)信息也保存在內(nèi)存中。當(dāng)Filebeat重新啟動(dòng)時(shí),來(lái)自注冊(cè)表文件的數(shù)據(jù)用于重建狀態(tài),F(xiàn)ilebeat在最后一個(gè)已知位置繼續(xù)每個(gè)harvester。對(duì)于每個(gè)輸入,F(xiàn)ilebeat都會(huì)保留它找到的每個(gè)文件的狀態(tài)。由于文件可以重命名或移動(dòng),文件名和路徑不足以標(biāo)識(shí)文件。對(duì)于每個(gè)文件,F(xiàn)ilebeat存儲(chǔ)唯一的標(biāo)識(shí)符,以檢測(cè)文件是否以前被捕獲。

Filebeat何如保證至少一次數(shù)據(jù)消費(fèi)

Filebeat保證事件將至少傳遞到配置的輸出一次,并且不會(huì)丟失數(shù)據(jù)。是因?yàn)樗鼘⒚總€(gè)事件的傳遞狀態(tài)存儲(chǔ)在注冊(cè)表文件中。在已定義的輸出被阻止且未確認(rèn)所有事件的情況下,F(xiàn)ilebeat將繼續(xù)嘗試發(fā)送事件,直到輸出確認(rèn)已接收到事件為止。如果Filebeat在發(fā)送事件的過(guò)程中關(guān)閉,它不會(huì)等待輸出確認(rèn)所有事件后再關(guān)閉。當(dāng)Filebeat重新啟動(dòng)時(shí),將再次將Filebeat關(guān)閉前未確認(rèn)的所有事件發(fā)送到輸出。這樣可以確保每個(gè)事件至少發(fā)送一次,但最終可能會(huì)有重復(fù)的事件發(fā)送到輸出。通過(guò)設(shè)置shutdown_timeout選項(xiàng),可以將Filebeat配置為在關(guān)機(jī)前等待特定時(shí)間。

Filebeat怎么玩

壓縮包方式安裝

本文采用壓縮包的方式安裝,Linux版本,filebeat-7.7.0-linux-x86_64.tar.gz。

curl-L-Ohttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.0-linux-x86_64.tar.gz  tar -xzvf filebeat-7.7.0-linux-x86_64.tar.gz

配置示例文件:filebeat.reference.yml(包含所有未過(guò)時(shí)的配置項(xiàng))

配置文件:filebeat.yml

基本命令

詳情見(jiàn)官網(wǎng):https://www.elastic.co/guide/en/beats/filebeat/current/command-line-options.html

export   #導(dǎo)出  run      #執(zhí)行(默認(rèn)執(zhí)行)  test     #測(cè)試配置  keystore #秘鑰存儲(chǔ)  modules  #模塊配置管理  setup    #設(shè)置初始環(huán)境

例如:./filebeat test config #用來(lái)測(cè)試配置文件是否正確

輸入輸出

支持的輸入組件:

Multilinemessages,Azureeventhub,CloudFoundry,Container,Docker,GooglePub/Sub,HTTPJSON,Kafka,Log,MQTT,NetFlow,Office 365 Management Activity API,redis,s3,Stdin,Syslog,TCP,UDP(最常用的就是Log)

支持的輸出組件:

Elasticsearch,Logstash,Kafka,Redis,F(xiàn)ile,Console,ElasticCloud,Changetheoutputcodec(最常用的就是Elasticsearch,Logstash)

keystore的使用

keystore主要是防止敏感信息被泄露,比如密碼等,像ES的密碼,這里可以生成一個(gè)key為ES_PWD,值為ES的password的一個(gè)對(duì)應(yīng)關(guān)系,在使用ES的密碼的時(shí)候就可以使用${ES_PWD}使用。

  •  創(chuàng)建一個(gè)存儲(chǔ)密碼的keystore:filebeat keystore create

  •  然后往其中添加鍵值對(duì),例如:filebeatk eystore add ES_PWD

  •  使用覆蓋原來(lái)鍵的值:filebeat key store add ES_PWD–force

  •  刪除鍵值對(duì):filebeat key store remove ES_PWD

  •  查看已有的鍵值對(duì):filebeat key store list

例如:后期就可以通過(guò)${ES_PWD}使用其值,例如:

output.elasticsearch.password:"${ES_PWD}"

filebeat.yml配置(Log輸入類(lèi)型為例)

詳情見(jiàn)官網(wǎng):https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-log.html

type: log #input類(lèi)型為log  enable: true #表示是該log類(lèi)型配置生效  paths:     #指定要監(jiān)控的日志,目前按照Go語(yǔ)言的glob函數(shù)處理。沒(méi)有對(duì)配置目錄做遞歸處理,比如配置的如果是:  - /var/log/* /*.log  #則只會(huì)去/var/log目錄的所有子目錄中尋找以".log"結(jié)尾的文件,而不會(huì)尋找/var/log目錄下以".log"結(jié)尾的文件。  recursive_glob.enabled: #啟用全局遞歸模式,例如/foo/**包括/foo, /foo/*, /foo/*/*  encoding:#指定被監(jiān)控的文件的編碼類(lèi)型,使用plain和utf-8都是可以處理中文日志的  exclude_lines: ['^DBG'] #不包含匹配正則的行  include_lines: ['^ERR', '^WARN']  #包含匹配正則的行  harvester_buffer_size: 16384 #每個(gè)harvester在獲取文件時(shí)使用的緩沖區(qū)的字節(jié)大小  max_bytes: 10485760 #單個(gè)日志消息可以擁有的最大字節(jié)數(shù)。max_bytes之后的所有字節(jié)都被丟棄而不發(fā)送。默認(rèn)值為10MB (10485760)  exclude_files: ['\.gz$']  #用于匹配希望Filebeat忽略的文件的正則表達(dá)式列表  ingore_older: 0 #默認(rèn)為0,表示禁用,可以配置2h,2m等,注意ignore_older必須大于close_inactive的值.表示忽略超過(guò)設(shè)置值未更新的  文件或者文件從來(lái)沒(méi)有被harvester收集  close_* #close_ *配置選項(xiàng)用于在特定標(biāo)準(zhǔn)或時(shí)間之后關(guān)閉harvester。 關(guān)閉harvester意味著關(guān)閉文件處理程序。 如果在harvester關(guān)閉  后文件被更新,則在scan_frequency過(guò)后,文件將被重新拾取。 但是,如果在harvester關(guān)閉時(shí)移動(dòng)或刪除文件,F(xiàn)ilebeat將無(wú)法再次接收文件 ,并且harvester未讀取的任何數(shù)據(jù)都將丟失。  close_inactive  #啟動(dòng)選項(xiàng)時(shí),如果在制定時(shí)間沒(méi)有被讀取,將關(guān)閉文件句柄  讀取的最后一條日志定義為下一次讀取的起始點(diǎn),而不是基于文件的修改時(shí)間  如果關(guān)閉的文件發(fā)生變化,一個(gè)新的harverster將在scan_frequency運(yùn)行后被啟動(dòng)  建議至少設(shè)置一個(gè)大于讀取日志頻率的值,配置多個(gè)prospector來(lái)實(shí)現(xiàn)針對(duì)不同更新速度的日志文件  使用內(nèi)部時(shí)間戳機(jī)制,來(lái)反映記錄日志的讀取,每次讀取到最后一行日志時(shí)開(kāi)始倒計(jì)時(shí)使用2h 5m 來(lái)表示  close_rename #當(dāng)選項(xiàng)啟動(dòng),如果文件被重命名和移動(dòng),filebeat關(guān)閉文件的處理讀取  close_removed #當(dāng)選項(xiàng)啟動(dòng),文件被刪除時(shí),filebeat關(guān)閉文件的處理讀取這個(gè)選項(xiàng)啟動(dòng)后,必須啟動(dòng)clean_removed  close_eof #適合只寫(xiě)一次日志的文件,然后filebeat關(guān)閉文件的處理讀取  close_timeout #當(dāng)選項(xiàng)啟動(dòng)時(shí),filebeat會(huì)給每個(gè)harvester設(shè)置預(yù)定義時(shí)間,不管這個(gè)文件是否被讀取,達(dá)到設(shè)定時(shí)間后,將被關(guān)閉  close_timeout 不能等于ignore_older,會(huì)導(dǎo)致文件更新時(shí),不會(huì)被讀取如果output一直沒(méi)有輸出日志事件,這個(gè)timeout是不會(huì)被啟動(dòng)的,  至少要要有一個(gè)事件發(fā)送,然后haverter將被關(guān)閉  設(shè)置0 表示不啟動(dòng)  clean_inactived #從注冊(cè)表文件中刪除先前收獲的文件的狀態(tài)  設(shè)置必須大于ignore_older+scan_frequency,以確保在文件仍在收集時(shí)沒(méi)有刪除任何狀態(tài)  配置選項(xiàng)有助于減小注冊(cè)表文件的大小,特別是如果每天都生成大量的新文件  此配置選項(xiàng)也可用于防止在Linux上重用inode的Filebeat問(wèn)題  clean_removed #啟動(dòng)選項(xiàng)后,如果文件在磁盤(pán)上找不到,將從注冊(cè)表中清除filebeat  如果關(guān)閉close removed 必須關(guān)閉clean removed scan_frequency #prospector檢查指定用于收獲的路徑中的新文件的頻率,默認(rèn)10s  tail_files:#如果設(shè)置為true,F(xiàn)ilebeat從文件尾開(kāi)始監(jiān)控文件新增內(nèi)容,把新增的每一行文件作為一個(gè)事件依次發(fā)送,  而不是從文件開(kāi)始處重新發(fā)送所有內(nèi)容。  symlinks:#符號(hào)鏈接選項(xiàng)允許Filebeat除常規(guī)文件外,可以收集符號(hào)鏈接。收集符號(hào)鏈接時(shí),即使報(bào)告了符號(hào)鏈接的路徑,  Filebeat也會(huì)打開(kāi)并讀取原始文件。 backoff: #backoff選項(xiàng)指定Filebeat如何積極地抓取新文件進(jìn)行更新。默認(rèn)1s,backoff選項(xiàng)定義Filebeat在達(dá)到EOF之后  再次檢查文件之間等待的時(shí)間。  max_backoff: #在達(dá)到EOF之后再次檢查文件之前Filebeat等待的最長(zhǎng)時(shí)間  backoff_factor: #指定backoff嘗試等待時(shí)間幾次,默認(rèn)是2  harvester_limit:#harvester_limit選項(xiàng)限制一個(gè)prospector并行啟動(dòng)的harvester數(shù)量,直接影響文件打開(kāi)數(shù)  tags #列表中添加標(biāo)簽,用過(guò)過(guò)濾,例如:tags: ["json"]  fields #可選字段,選擇額外的字段進(jìn)行輸出可以是標(biāo)量值,元組,字典等嵌套類(lèi)型  默認(rèn)在sub-dictionary位置  filebeat.inputs:  fields:  app_id: query_engine_12  fields_under_root #如果值為ture,那么fields存儲(chǔ)在輸出文檔的頂級(jí)位置  multiline.pattern #必須匹配的regexp模式  multiline.negate #定義上面的模式匹配條件的動(dòng)作是 否定的,默認(rèn)是false  假如模式匹配條件'^b',默認(rèn)是false模式,表示講按照模式匹配進(jìn)行匹配 將不是以b開(kāi)頭的日志行進(jìn)行合并  如果是true,表示將不以b開(kāi)頭的日志行進(jìn)行合并  multiline.match # 指定Filebeat如何將匹配行組合成事件,在之前或者之后,取決于上面所指定的negate  multiline.max_lines #可以組合成一個(gè)事件的最大行數(shù),超過(guò)將丟棄,默認(rèn)500  multiline.timeout #定義超時(shí)時(shí)間,如果開(kāi)始一個(gè)新的事件在超時(shí)時(shí)間內(nèi)沒(méi)有發(fā)現(xiàn)匹配,也將發(fā)送日志,默認(rèn)是5s  max_procs #設(shè)置可以同時(shí)執(zhí)行的最大CPU數(shù)。默認(rèn)值為系統(tǒng)中可用的邏輯CPU的數(shù)量。  name #為該filebeat指定名字,默認(rèn)為主機(jī)的hostname

實(shí)例一:Logstash作為輸出

filebeat.yml配置:

#=========================== Filebeat inputs =============================  filebeat.inputs:  # Each - is an input. Most options can be set at the input level, so  # you can use different inputs for various configurations.  # Below are the input specific configurations.  - type: log    # Change to true to enable this input configuration.    enabled: true    # Paths that should be crawled and fetched. Glob based paths.    paths:  #配置多個(gè)日志路徑      -/var/logs/es_aaa_index_search_slowlog.log      -/var/logs/es_bbb_index_search_slowlog.log      -/var/logs/es_ccc_index_search_slowlog.log      -/var/logs/es_ddd_index_search_slowlog.log      #- c:\programdata\elasticsearch\logs\*    # Exclude lines. A list of regular expressions to match. It drops the lines that are    # matching any regular expression from the list.    #exclude_lines: ['^DBG']    # Include lines. A list of regular expressions to match. It exports the lines that are    # matching any regular expression from the list.    #include_lines: ['^ERR', '^WARN']    # Exclude files. A list of regular expressions to match. Filebeat drops the files that    # are matching any regular expression from the list. By default, no files are dropped.    #exclude_files: ['.gz$']    # Optional additional fields. These fields can be freely picked    # to add additional information to the crawled log files for filtering    #fields:    #  level: debug    #  review: 1    ### Multiline options    # Multiline can be used for log messages spanning multiple lines. This is common    # for Java Stack Traces or C-Line Continuation    # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [    #multiline.pattern: ^\[    # Defines if the pattern set under pattern should be negated or not. Default is false.    #multiline.negate: false    # Match can be set to "after" or "before". It is used to define if lines should be append to a pattern    # that was (not) matched before or after or as long as a pattern is not matched based on negate.    # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash    #multiline.match: after  #================================ Outputs =====================================  #----------------------------- Logstash output --------------------------------  output.logstash:    # The Logstash hosts #配多個(gè)logstash使用

./filebeat -e #啟動(dòng)filebeat

Logstash的配置:

input {    beats {      port => 5044      }  }  output {    elasticsearch {      hosts => ["http://192.168.110.130:9200"] #這里可以配置多個(gè)      index => "query-%{yyyyMMdd}"     }  }

實(shí)例二:Elasticsearch作為輸出

filebeat.yml的配置:

###################### Filebeat Configuration Example #########################  # This file is an example configuration file highlighting only the most common  # options. The filebeat.reference.yml file from the same directory contains all the  # supported options with more comments. You can use it as a reference. #  # You can find the full configuration reference here:  # https://www.elastic.co/guide/en/beats/filebeat/index.html  # For more available modules and options, please see the filebeat.reference.yml sample  # configuration file.  #=========================== Filebeat inputs =============================  filebeat.inputs:  # Each - is an input. Most options can be set at the input level, so  # you can use different inputs for various configurations.  # Below are the input specific configurations.  - type: log    # Change to true to enable this input configuration.    enabled: true    # Paths that should be crawled and fetched. Glob based paths.    paths:      -/var/logs/es_aaa_index_search_slowlog.log      -/var/logs/es_bbb_index_search_slowlog.log      -/var/logs/es_ccc_index_search_slowlog.log      -/var/logs/es_dddd_index_search_slowlog.log      #- c:\programdata\elasticsearch\logs\*    # Exclude lines. A list of regular expressions to match. It drops the lines that are    # matching any regular expression from the list.    #exclude_lines: ['^DBG']    # Include lines. A list of regular expressions to match. It exports the lines that are    # matching any regular expression from the list.    #include_lines: ['^ERR', '^WARN']    # Exclude files. A list of regular expressions to match. Filebeat drops the files that    # are matching any regular expression from the list. By default, no files are dropped.    #exclude_files: ['.gz$']    # Optional additional fields. These fields can be freely picked    # to add additional information to the crawled log files for filtering   #fields:    #  level: debug    #  review: 1     ### Multiline options     # Multiline can be used for log messages spanning multiple lines. This is common   # for Java Stack Traces or C-Line Continuation    # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [    #multiline.pattern: ^\[    # Defines if the pattern set under pattern should be negated or not. Default is false.    #multiline.negate: false    # Match can be set to "after" or "before". It is used to define if lines should be append to a pattern    # that was (not) matched before or after or as long as a pattern is not matched based on negate.    # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash   #multiline.match: after   #============================= Filebeat modules =============================== filebeat.config.modules:    # Glob pattern for configuration loading   path: ${path.config}/modules.d/*.yml    # Set to true to enable config reloading    reload.enabled: false   # Period on which files under path should be checked for changes    #reload.period: 10s  #==================== Elasticsearch template setting ==========================  #================================ General =====================================  # The name of the shipper that publishes the network data. It can be used to group  # all the transactions sent by a single shipper in the web interface.  name: filebeat222  # The tags of the shipper are included in their own field with each  # transaction published. #tags: ["service-X", "web-tier"]  # Optional fields that you can specify to add additional information to the  # output.  #fields:  #  env: staging  #cloud.auth:  #================================ Outputs =====================================  #-------------------------- Elasticsearch output ------------------------------  output.elasticsearch:    # Array of hosts to connect to.    hosts: ["192.168.110.130:9200","92.168.110.131:9200"]    # Protocol - either `http` (default) or `https`.    #protocol: "https"    # Authentication credentials - either API key or username/password.    #api_key: "id:api_key"    username: "elastic"    password: "${ES_PWD}"   #通過(guò)keystore設(shè)置密碼

./filebeat -e #啟動(dòng)Filebeat

查看Elasticsearch集群,有一個(gè)默認(rèn)的索引名字filebeat-%{[beat.version]}-%{+yyyy.MM.dd}

日志采集利器Filebeat的用法

Filebeat模塊

官網(wǎng):https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules.html

這里我使用Elasticsearch模式來(lái)解析ES的慢日志查詢(xún),操作步驟如下,其他的模塊操作也一樣:

前提:安裝好Elasticsearch和Kibana兩個(gè)軟件,然后使用Filebeat。

具體的操作官網(wǎng)有:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-modules-quickstart.html

第一步,配置filebeat.yml文件:

#============================== Kibana =====================================  # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.  # This requires a Kibana endpoint configuration.  setup.kibana:    # Kibana Host    # Scheme and port can be left out and will be set to the default (http and 5601)    # In case you specify and additional path, the scheme is required: http://localhost:5601/path    # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601    host: "192.168.110.130:5601"  #指定kibana    username: "elastic"   #用戶(hù)    password: "${ES_PWD}"  #密碼,這里使用了keystore,防止明文密碼    # Kibana Space ID    # ID of the Kibana Space into which the dashboards should be loaded. By default,    # the Default Space will be used.    #space.id:  #================================ Outputs =====================================  # Configure what output to use when sending the data collected by the beat.  #-------------------------- Elasticsearch output ------------------------------ output.elasticsearch:    # Array of hosts to connect to.    hosts: ["192.168.110.130:9200","192.168.110.131:9200"]    # Protocol - either `http` (default) or `https`.    #protocol: "https"   # Authentication credentials - either API key or username/password.    #api_key: "id:api_key"    username: "elastic"  #es的用戶(hù)    password: "${ES_PWD}" # es的密碼    #這里不能指定index,因?yàn)槲覜](méi)有配置模板,會(huì)自動(dòng)生成一個(gè)名為filebeat-%{[beat.version]}-%{+yyyy.MM.dd}的索引

第二步,配置Elasticsearch的慢日志路徑:

cd filebeat-7.7.0-linux-x86_64/modules.d

vim elasticsearch.yml:

日志采集利器Filebeat的用法

第三步,生效ES模塊:

./filebeat modules elasticsearch

查看生效的模塊:

./filebeat modules list

日志采集利器Filebeat的用法

第四步,初始化環(huán)境:

./filebeat setup -e

日志采集利器Filebeat的用法

第五步,啟動(dòng)Filebeat:

./filebeat -e

查看Elasticsearch集群,如下圖所示,把慢日志查詢(xún)的日志都自動(dòng)解析出來(lái)了:

日志采集利器Filebeat的用法

到這里,Elasticsearch這個(gè)module就實(shí)驗(yàn)成功了。

“日志采集利器Filebeat的用法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


當(dāng)前名稱(chēng):日志采集利器Filebeat的用法
文章位置:
http://weahome.cn/article/gpijgh.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部