grok 官方文件

2021-08-31 00:20:23 字數 4297 閱讀 5911

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

name="code"

class="html">grok:解析任意文字並構造它:grok 是當前最好的方式在logstash 解析蹩腳的非結構化日誌資料 到一些結構化的可查詢的。這個工具是完美的對於syslog logs, apache和其他webserver logs,mysqllogs,在一般情況下,任何日誌格式通常對於人是友好的而不是對於電腦logstash 有120種模式預設,你可以找到它們在: grok basics:grok 通過結合文字模式來匹配你的日誌語法對於乙個grok 是 %語法是 模式的名字會匹配你的文字,比如,3.44 會通過number 模式匹配和55.3.244.1 通過ip模式匹配。語法是你如何匹配:semantic (語義)是標識 你給到一塊文字被匹配。比如,3.44 可能是乙個乙個事件的持續事件,因此你可以簡單的呼叫它。此外, 乙個字串 55.3.244.1 可能識別客戶端發出的請求。在上述例子中,你的grok filter 可以看起來像這樣:% %你可以新增乙個資料型別轉換成你的grok 模式。預設的 所有的語義都儲存作為字串.如果你希望 轉換乙個語義的資料型別,比如改變乙個字串為乙個整型 然後將其字尾為目標資料型別。比如  %  會轉換num語義從乙個字串到乙個整型,當前只支援轉換是int和float例子: 這個質疑的語法和語義,我們可以把有用的字段從乙個簡單的日誌像這個虛構的http 請求日誌:55.3.244.1 get /index.html 15824 0.043匹配模式:% % % % %正規表示式:grok 坐在正規表示式之上,因此很多的正規表示式也是正確的在grok裡。正規表示式庫是oniguruma,你可以看到完整的支援的正規表示式的語言在oniguruma **自定義 模式:有時候logstash沒有你需要的模式,你有幾個選項:第一,你可以使用oniguruma 語法用於命名捕獲 讓你匹配乙個檔案的片段,儲存作為字段(?the pattern here)/********55.3.244.1 get /index.html 15824 0.043(?\s+)輸出:(?\s+\s+)輸出:多了個空格(?\s+\s+\s+)輸出:例如, 字尾日誌有乙個佇列id 是10或者11 個16進製制字元,你可以捕獲像這樣:(?[0-9a-f])d4111111112表示式:(?[0-9a-f])輸出:或者,你也可以建立乙個自定義模式的檔案:建立乙個目錄叫做patterns 裡面有個檔案叫做extra(檔名不重要,但是名字得對你有意義)在這個檔案中,寫pattern 你需要的作為pattern名字,乙個空格,然後正則用於哪個模式例如: 字尾佇列id例子:# contents of ./patterns/postfix:postfix_queueid [0-9a-f]jan  1 06:25:43 mailserver14 postfix/cleanup[21403]: bef25a72965: message-id=<[email protected]>filter %: %" }  }}上面的會被匹配,結果是下面的字段:timestamp: jan 1 06:25:43logsource: mailserver14program: postfix/cleanuppid: 21403queue_id: bef25a72965syslog_message: message-id=<[email protected]>timestamp, logsource, program, 和pid 來自syslogbase  模式本身定義了一些模式/*******************zjtest7-frontend:/usr/local/logstash-2.3.4/config# pwd/usr/local/logstash-2.3.4/configzjtest7-frontend:/usr/local/logstash-2.3.4/config# ls -lr patterns/total 4-rw-r--r-- 1 root root 32 aug 30 13:33 postfixzjtest7-frontend:/usr/local/logstash-2.3.4/config/patterns# cat postfix postfix_queueid [0-9a-f]zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat stdin.conf input } filter %: %" }  }}output    } }zjtest7-frontend:/usr/local/logstash-2.3.4/config# ../bin/logstash -f stdin.conf settings: default pipeline workers: 1pipeline main startedjan  1 06:25:43 mailserver14 postfix/cleanup[21403]: bef25a72965: message-id=<[email protected]>簡介:外掛程式支援下面的配置選項:需要的配置選項:grok 細節:add_field1.值型別是hash2. 預設值是{}如果 filter 是成功的,增加任何屬性欄位到這個事件,field名字可以動態的和包含event部分使用%.filter " => "hello world, from %" }    patterns_dir => ["./patterns"]    match => %: %" }  }}輸出;zjtest7-frontend:/usr/local/logstash-2.3.4/config# ../bin/logstash -f stdin.conf settings: default pipeline workers: 1pipeline main startedjan  1 06:25:43 mailserver14 postfix/cleanup[21403]: bef25a72965: message-id=<[email protected]>" => "hello world, from 0.0.0.0"}##你可以一次增加多個字段:filter " => "hello world, from %"      "new_field" => "new_static_value"               }    patterns_dir => ["./patterns"]    match => %: %" }  }}輸出;zjtest7-frontend:/usr/local/logstash-2.3.4/config# ../bin/logstash -f stdin.conf settings: default pipeline workers: 1pipeline main startedjan  1 06:25:43 mailserver14 postfix/cleanup[21403]: bef25a72965: message-id=<[email protected]>" => "hello world, from 0.0.0.0",           "new_field" => "new_static_value"add_tag1.值型別是array2.預設是如果filter 成功,增加任意的tags 到這個事件。tags 可以動態的包含事件的部分使用% syntax.filter " ]  }}# you can also add multiple tags at once:filter ", "taggedy_tag"]  }}zjtest7-frontend:/usr/local/logstash-2.3.4/config# ../bin/logstash -f stdin.conf settings: default pipeline workers: 1pipeline main startedjan  1 06:25:43 mailserver14 postfix/cleanup[21403]: bef25a72965: message-id=<[email protected]>" => "hello world, from 0.0.0.0",           "new_field" => "new_static_value",                "tags" => [        [0] "foo_%"    ]}break_on_match1.值型別是波爾型2.預設值是truebreak 在第乙個匹配,第一次成功匹配通過grok 會導致filter 被完成。如果你需要grok 嘗試所有的patterns(可能解析不同的東西),設定這個為falsematch:1.值型別是hash2.預設是{}filter " } }}

給我老師的人工智慧教程打call!

kvm官方文件

kvm官方文件 kvm活遷移 使用libvirt庫建立虛擬機器 domain 需要使用xml檔案作為配置檔案,如下是乙個最基本的虛擬機器配置檔案.2014 07 01 20 50 閱讀 233 在使用qemu建立虛擬機器的過程中是無法指定ip位址的,可是在實際應用中,我們是需要虛擬機器擁有ip位址的...

PyGame官方文件

幫助內容 help contents 指導索引 reference index 最有用的東西 most useful stuff color display draw event font image key locals mixer mouse rect su ce time music pyga...

python numpy官方文件

介紹 什麼是numpy?numpy是python中科學計算的基礎軟體包。它是乙個提供多了維陣列物件,多種派生物件 如 掩碼陣列 矩陣 以及用於快速運算元組的函式及api,它包括數學 邏輯 陣列形狀變換 排序 選擇 i o 離散傅利葉變換 基本線性代數 基本統計運算 隨機模擬等等。numpy包的核心是...