Logstash詳解之——input模塊

我們今天先討論input組件的功能和基本插件。前面我們意見介紹過了褪迟,input組件是Logstash的眼睛和鼻子冗恨,負(fù)責(zé)收集數(shù)據(jù)的,那么們就不得不思考兩個(gè)問題味赃,第一個(gè)問題要清楚的就是掀抹,元數(shù)據(jù)在哪,當(dāng)然心俗,這就包含了元數(shù)據(jù)是什么類型傲武,屬于什么業(yè)務(wù);第二個(gè)問題要清楚怎么去拿到元數(shù)據(jù)城榛。只要搞明白了這兩個(gè)問題揪利,那么Logstash的input組件就算是弄明白了。

對(duì)于第一個(gè)問題狠持,元數(shù)據(jù)的類型有很多疟位,比如說你的元數(shù)據(jù)可以是日志、報(bào)表工坊、可以是數(shù)據(jù)庫的內(nèi)容等等献汗。元數(shù)據(jù)是什么樣子的我們不需要關(guān)心,我們要關(guān)系的是元數(shù)據(jù)是什么類型的王污,只要你知道元數(shù)據(jù)是什么類型的罢吃,你才能給他分類,或者說給他一個(gè)type昭齐,這很重要尿招,type對(duì)于你后面的工作處理是非常有幫助的。所以第一個(gè)問題的重心元數(shù)據(jù)在嗎阱驾,是什么就谜,現(xiàn)在已經(jīng)是清楚了。那么進(jìn)行第二個(gè)問題里覆。

第二個(gè)問題的核心是怎么拿到這些不同類型的原數(shù)據(jù)丧荐?這是一個(gè)真?zhèn)€input組件的核心內(nèi)容了,我們分門別類的來看待這和解決個(gè)問題喧枷。

首先虹统,我們肯定需要認(rèn)同的弓坞,什么樣的數(shù)據(jù)源,就需要使用什么樣的方式去獲取數(shù)據(jù)车荔。

學(xué)習(xí)原始的文檔渡冻,請(qǐng)見:https://www.elastic.co/guide/en/logstash/current/input-plugins.html

我們列舉幾種:

1、文件類型:文件類型忧便,顧名思義族吻,文件數(shù)據(jù)源,我們可以使用input組件的file插件來獲取數(shù)據(jù)珠增。file{}插件有很多的屬性參數(shù)超歌,我們可以張開講解一下。具體內(nèi)容在下面的代碼中展示:

input{

? ? file{

? ? ? ? #path屬性接受的參數(shù)是一個(gè)數(shù)組蒂教,其含義是標(biāo)明需要讀取的文件位置

? ? ? ? path => [‘pathA’握础,‘pathB’]

? ? ? ? #表示多就去path路徑下查看是夠有新的文件產(chǎn)生。默認(rèn)是15秒檢查一次悴品。

? ? ? ? discover_interval => 15

? ? ? ? #排除那些文件,也就是不去讀取那些文件

? ? ? ? exclude => [‘fileName1’,‘fileNmae2’]

? ? ? ? #被監(jiān)聽的文件多久沒更新后斷開連接不在監(jiān)聽简烘,默認(rèn)是一個(gè)小時(shí)苔严。

? ? ? ? close_older => 3600

? ? ? ? #在每次檢查文件列 表的時(shí)候, 如果一個(gè)文件的最后 修改時(shí)間 超過這個(gè)值孤澎, 就忽略這個(gè)文件届氢。 默認(rèn)一天。

? ? ? ? ignore_older => 86400

? ? ? ? #logstash 每隔多 久檢查一次被監(jiān)聽文件狀態(tài)( 是否有更新) 覆旭, 默認(rèn)是 1 秒退子。

? ? ? ? stat_interval => 1

? ? ? ? #sincedb記錄數(shù)據(jù)上一次的讀取位置的一個(gè)index

? ? ? ? sincedb_path => ’$HOME/. sincedb‘

? ? ? ? #logstash 從什么 位置開始讀取文件數(shù)據(jù), 默認(rèn)是結(jié)束位置 也可以設(shè)置為:beginning 從頭開始

? ? ? ? start_position => ‘beginning’

? ? ? ? #注意:這里需要提醒大家的是型将,如果你需要每次都從同開始讀取文件的話寂祥,關(guān)設(shè)置start_position => beginning是沒有用的,你可以選擇sincedb_path 定義為 /dev/null

? ? }? ? ? ? ? ?

}

?2七兜、數(shù)據(jù)庫類型:數(shù)據(jù)庫類型的數(shù)據(jù)源丸凭,就意味著我們需要去和數(shù)據(jù)庫打交道了是嗎?是的腕铸!那是必須的啊惜犀,不然怎么獲取數(shù)據(jù)呢。input組件如何獲取數(shù)據(jù)庫類的數(shù)據(jù)呢狠裹?沒錯(cuò)虽界,下面即將隆重登場(chǎng)的是input組件的JDBC插件jdbc{}。同樣的涛菠,jdbc{}有很多的屬性莉御,我們?cè)谙旅娴拇a中作出說明撇吞;

input{

? ? jdbc{

? ? #jdbc sql server 驅(qū)動(dòng),各個(gè)數(shù)據(jù)庫都有對(duì)應(yīng)的驅(qū)動(dòng),需自己下載

? ? jdbc_driver_library => "/etc/logstash/driver.d/sqljdbc_2.0/enu/sqljdbc4.jar"

? ? #jdbc class 不同數(shù)據(jù)庫有不同的 class 配置

? ? jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"

? ? #配置數(shù)據(jù)庫連接 ip 和端口颈将,以及數(shù)據(jù)庫? ?

? ? jdbc_connection_string => "jdbc:sqlserver://200.200.0.18:1433;databaseName=test_db"

? ? #配置數(shù)據(jù)庫用戶名

? ? jdbc_user =>?

? ? #配置數(shù)據(jù)庫密碼

? ? jdbc_password =>

? ? #上面這些都不重要梢夯,要是這些都看不懂的話,你的老板估計(jì)要考慮換人了晴圾。重要的是接下來的內(nèi)容颂砸。

? ? # 定時(shí)器 多久執(zhí)行一次SQL,默認(rèn)是一分鐘

? ? # schedule => 分 時(shí) 天 月 年?

? ? # schedule => * 22? *? *? * 表示每天22點(diǎn)執(zhí)行一次

? ? schedule => "* * * * *"

? ? #是否清除 last_run_metadata_path 的記錄,如果為真那么每次都相當(dāng)于從頭開始查詢所有的數(shù)據(jù)庫記錄

? ? clean_run => false

? ? #是否需要記錄某個(gè)column 的值,如果 record_last_run 為真,可以自定義我們需要表的字段名稱死姚,

? ? #此時(shí)該參數(shù)就要為 true. 否則默認(rèn) track 的是 timestamp 的值.

? ? use_column_value => true

? ? #如果 use_column_value 為真,需配置此參數(shù). 這個(gè)參數(shù)就是數(shù)據(jù)庫給出的一個(gè)字段名稱人乓。當(dāng)然該字段必須是遞增的,可以是 數(shù)據(jù)庫的數(shù)據(jù)時(shí)間這類的

? ? tracking_column => create_time

? ? #是否記錄上次執(zhí)行結(jié)果, 如果為真,將會(huì)把上次執(zhí)行到的 tracking_column 字段的值記錄下來,保存到 last_run_metadata_path 指定的文件中

? ? record_last_run => true

? ? #們只需要在 SQL 語句中 WHERE MY_ID > :last_sql_value 即可. 其中 :last_sql_value 取得就是該文件中的值

? ? last_run_metadata_path => "/etc/logstash/run_metadata.d/my_info"

? ? #是否將字段名稱轉(zhuǎn)小寫都毒。

? ? #這里有個(gè)小的提示色罚,如果你這前就處理過一次數(shù)據(jù),并且在Kibana中有對(duì)應(yīng)的搜索需求的話账劲,還是改為true戳护,

? ? #因?yàn)槟J(rèn)是true,并且Kibana是大小寫區(qū)分的瀑焦。準(zhǔn)確的說應(yīng)該是ES大小寫區(qū)分

? ? lowercase_column_names => false

? ? #你的SQL的位置腌且,當(dāng)然,你的SQL也可以直接寫在這里榛瓮。

? ? #statement => SELECT * FROM tabeName t WHERE? t.creat_time > :last_sql_value

? ? statement_filepath => "/etc/logstash/statement_file.d/my_info.sql"

? ? #數(shù)據(jù)類型铺董,標(biāo)明你屬于那一方勢(shì)力。單了ES哪里好給你安排不同的山頭禀晓。

? ? type => "my_info"

? ? }

? ? #注意:外載的SQL文件就是一個(gè)文本文件就可以了精续,還有需要注意的是,一個(gè)jdbc{}插件就只能處理一個(gè)SQL語句粹懒,

? ? #如果你有多個(gè)SQL需要處理的話重付,只能在重新建立一個(gè)jdbc{}插件。

}

?接著第三種情況:

input {

? beats {

? ? #接受數(shù)據(jù)端口

? ? port => 5044

? ? #數(shù)據(jù)類型

? ? type => "logs"

? }

? #這個(gè)插件需要和filebeat進(jìn)行配很這里不做多講崎淳,到時(shí)候結(jié)合起來一起介紹堪夭。

}

現(xiàn)在我們基本清楚的知道了input組件需要做的事情和如何去做,當(dāng)然他還有很多的插件可以進(jìn)行數(shù)據(jù)的收集拣凹,比如說TCP這類的森爽,還有可以對(duì)數(shù)據(jù)進(jìn)行encode,這些感興趣的朋友可以自己去查看嚣镜,我說的只是我自己使用的爬迟。一般情況下我說的三種插件已經(jīng)足夠了

---------------------

作者:xcl119xxcl

來源:CSDN

原文:https://blog.csdn.net/xcl119xcl/article/details/89244191

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接菊匿!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末付呕,一起剝皮案震驚了整個(gè)濱河市计福,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌徽职,老刑警劉巖象颖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姆钉,居然都是意外死亡说订,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門潮瓶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陶冷,“玉大人,你說我怎么就攤上這事毯辅」÷祝” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵思恐,是天一觀的道長(zhǎng)沾谜。 經(jīng)常有香客問我,道長(zhǎng)胀莹,這世上最難降的妖魔是什么类早? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮嗜逻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缭召。我一直安慰自己栈顷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布嵌巷。 她就那樣靜靜地躺著萄凤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搪哪。 梳的紋絲不亂的頭發(fā)上靡努,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音晓折,去河邊找鬼惑朦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛漓概,可吹牛的內(nèi)容都是我干的漾月。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胃珍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼梁肿!你這毒婦竟也來了蜓陌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤吩蔑,失蹤者是張志新(化名)和其女友劉穎钮热,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烛芬,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隧期,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛀骇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厌秒。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖擅憔,靈堂內(nèi)的尸體忽然破棺而出鸵闪,到底是詐尸還是另有隱情,我是刑警寧澤暑诸,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布蚌讼,位于F島的核電站个榕,受9級(jí)特大地震影響篡石,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜西采,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一凰萨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧械馆,春花似錦胖眷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尾菇,卻和暖如春境析,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背派诬。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工劳淆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人默赂。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓憔儿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親放可。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谒臼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容