1. 程式人生 > >搭建ELK(ElasticSearch+Logstash+Kibana)日誌分析系統(十四) logstash grok 正則解析日誌

搭建ELK(ElasticSearch+Logstash+Kibana)日誌分析系統(十四) logstash grok 正則解析日誌

摘要
這一節補充一下logstash使用grok正則解析日誌

Grok 是 Logstash 最重要的外掛。通過在filter中使用grok,可以把日誌中的關鍵字匹配出來。

grok正則主要有兩部分:

  • 一是grok自帶的grok模式表示式,即是grok預定義好的一些表示式,可以匹配一些常見的字串,如ipv4、ipv6、mac地址等
  • 二是通過正則表示式來匹配,grok支援約120種正則表示式,詳見120種grok正則

1、Grok Debugger線上匹配正則

在我們正式我們一一介紹之前,給大家推薦一款線上匹配正則的網站Grok Debugger,這個網站必須通過https訪問,而且需要FQ,至於如何FQ,各位自行百度。

該網站介面如下:

在最上面一個框輸入你要匹配的字串,第二個框輸入正則表示式,在最下面就會自動顯示匹配結果,真的很方便哦。在接下來的教程裡,我也使用它來做示例。

2、grok自定義正則匹配

自定義正則的語法為:(?<field_name>the pattern here),即是(?<欄位名>正則表示式),示例如下

非常簡單吧,只要把準備好的正則放進去,再給他取個欄位名就行了。
但是寫正則確實是個很麻煩的事情,所以grok外掛已經預定義好了一些匹配模式。我們接著來看。

3、grok模式表示式

Grok模式的語法是%{SYNTAX:SEMANTIC}

,如%{ IP :my_ip }將匹配一段IP地址,並且命名為my_ip,示例如下:

然後我詳細介紹一下所有的grok模式表示式——

1) IP —— 匹配IP地址,IPv4和IPv6都可以

//ipv4如:127.0.0.1
//ipv6如:FB21:1233:55B2:AA44:12B8:6761:890F:AB31

2) MAC —— MAC地址

//如:08:00:20:0A:8C:6D

3) DATA —— 相當於正則的.*?

// . 匹配除\n 以外的任何字元
// * 相當於0-正無窮
// ? 為懶惰模式,匹配到第一個就結束

/**
* 也就是說,DATA能在一行裡匹配任何不以\n結束的字元,差不多就是一行了...
*/

4) WORD —— 等價於 \b\w+\b,匹配包含數字和大小寫的字串

//如:hello_world、String、 I_love_code

5 ) QUOTEDSTRING 或 QS —— 帶引號的字串

//如:"Hello husen""hey, girls!"

6 ) NOTSPACE —— 相當於\S+,不帶任何空格的字串

// \S 是匹配除空格外的任何字元, + 代表 1-正無窮
//如: developments、 china

7 ) SPACE —— 相當於\s*,只能匹配空格字串

// \s 匹配空格,包括換行和空格, * 代表0-正無窮
//如: (你猜這裡有幾個空格)

8 ) EMAILADDRESS —— 電子郵件地址

//如:[email protected]

9 ) EMAILLOCALPART —— 匹配電子郵件的使用者名稱部分

/*
* 首位由大小寫字母組成,其他位由數字、大小寫及特殊字元(_.+-=\:\)組成的字串
* 注意,國內的QQ純數字郵箱賬號是無法匹配的

如:[email protected] 匹配 admin

10 ) USERNAME 或 USER —— 匹配使用者名稱

/*
* 由數字、大小寫及特殊字元(._-)組成的字串
*/

//如:husen、admin、xiao.ming

11) 數字型別格式

INT         //正整數、0、負整數都可,如 -1234、0、12412
BASE10NUM 或 NUMBER  //十進位制數,包括整數和小數,如: 345、 3.1415926
BASE16NUM   //十六進位制整數,如:0xa12F、0xDc34
BASE16FLOAT //十六進位制數字,包括整數和小數

12) UUID —— 標準唯一識別碼

//如: 9584dba3-fe26-418d-8625-2d71a5d78049,9584dba3fe26418d86252d71a5d78049

13) 主機名稱格式

//HOSTNAME      //主機名,如www.hemingsheng.cn
IPORHOST        // IP或者主機名稱
HOSTPORT        //主機名+埠號,127.0.0.1:8080,www.hemingsheng.cn:81

14) PATH —— 路徑格式的字串

//如: /home/husen/test.log, D:\Desktop\elk\elk中文指南

15) URI地址格式

URIPROTO    //URI協議,如:https, sftp
URIHOST     //URI主機,如:www.hemingsheng.cn, 115.159.64.86:8080
URIPATH     // URI路徑,如:/home.html, /web/login.php
URIPARAM    //GET形式的URI引數,如:?
username=qq_123&goto=homepage
URIPATHPARAM    
//URI路徑+GET引數,如: /web/login.phpusername=qq_123&goto=homepage
URI         
//完整的URI,如:www.hemingsheng.cn/web/login.php?username=qq_123&goto=homepage

16) 日期時間表達式

MONTH       //月份名稱,如:Jan、January
MONTHNUM    //月份數字,如:06、1、12
MONTHDAY    //日期數字,如:15、29、31、09
DAY         //星期幾,如:Tues、Friday
YEAR        //年份數字,如:2017、1995
HOUR        //小時數字,如:24、13
MINUTE      //分鐘數字,如:13、59
SECOND      //秒鐘數字,如:12、54
TIME        //時間,如:12:34:12
DATE_US     //美國日期格式,如:10-15-1982、10/15/1982
DATE_EU     //歐洲日期格式,如:15-10-1982、15.10.1982
DATE        //日期,美國日期%{DATE_US}或者歐洲日期%{DATE_EU}
DATESTAMP   //完整日期+時間,如:07-03-2016 00:34:06
HTTPDATE    //http預設日期格式,如:03/Jul/2016:00:36:53 +0800
TIMESTAMP_ISO8601 //ISO8601時間戳格式,如:2016-07-03T00:34:06+08:00

17) LOGLEVEL —— 日誌等級

//如:Info、Error、Warning

相關推薦

搭建ELK(ElasticSearch+Logstash+Kibana)日誌分析系統 logstash grok 解析日誌

摘要 這一節補充一下logstash使用grok正則解析日誌 Grok 是 Logstash 最重要的外掛。通過在filter中使用grok,可以把日誌中的關鍵字匹配出來。 grok正則主要有兩部分: 一是grok自帶的grok模式表示式,即是gr

搭建ELK日誌分析系統-Elasticsearch安裝

前言 搭建ELK系統有兩種方式 1、元件獨立安裝(更深入瞭解ELK系統的工作流程) 2、使用docker容器安裝(這種方式配置更簡單,快捷方便) 本系列文章使用元件獨立安裝的方式,如果你想使用docker容器安裝,請跳過本教程 環境需求 本教

2018年ElasticSearch6.2.2教程ELK搭建日誌采集分析系統教程詳情

domain 服務器日誌 環境 解決 對比 修改 tst 阿裏雲服務 們的 章節一 2018年 ELK課程計劃和效果演示1、課程安排和效果演示簡介:課程介紹和主要知識點說明,ES搜索接口演示,部署的ELK項目演示es: localhost:9200kibana http:

AWStats 日誌分析系統含源碼包

acc rec this 工作量 mine adbd 產生 default for 前言 在上一篇文章中寫了關於httpd的一些簡介、配置。那麽我們應該知道,HTTP服務器的訪問量非常龐大,在它的訪問日誌文件access_log 中,記錄了很多很多客戶的訪問信息,維護的管

大資料專案實戰之 --- 某App管理平臺的手機app日誌分析系統

一、建立hive分割槽表 ---------------------------------------------------- 1.建立資料庫 $hive> create database applogsdb; 2.建立分割槽表 編寫指令碼。

loganalyzer日誌分析工具CentOS7.4

loganalyzer日誌分析工具 日誌服務器部署 loganalyzer日誌分析工具(CentOS7.4)Loganalyzer是一款syslog日誌和其他網絡事件數據的Web前端。它提供了對日誌的簡單瀏覽、搜索、基本分析和一些圖表報告的功能。數據可以從數據庫或一般的syslog文本文件中獲取,所以

自然語言交流系統 phxnet團隊 創新實訓 個人博客

reg ssa then soci mile pic fin lan tle 關於WikiExtractor的學習筆記: WikiExtractor是一個Python 腳本,專門用於提取和清洗Wikipedia的dump數據,支持Python 2.7 或者 Pyth

openstack controller ha測試環境搭建記錄——配置cinder存儲節點

nbsp 設置 ntp reason script snap rate 文件 esc 先簡述cinder存儲節點的配置: 1、IP地址是10.0.0.41; 2、主機名被設置為block1; 3、所有節點的hosts文件已添加相應條目; 4、已經配置了ntp時間同

OGG運維優化腳本-信息同步類--錯誤日誌同步

ogg oracle goldengate 腳本 數據同步 shell 文件:logtitle.sh log.sh路徑:$HOME/ggscript/gginfo該腳本主要用於每小時檢查ggserr.log內包含error關鍵字的信息(具體可調整)然後拼接成html格式文件發送給監控

Linux筆記 - 日誌管理

關機 ron pri 內核 有用 規則 rsyslog 所有者 事件 (1)rsyslogd的服務:查看服務是否啟動:ps aux | grep rsyslogd 查看服務是否自啟動:chkconfig --list | grep rsyslog 配置文件 : /etc/r

HadoopMapReduce原理分析

資源 並行處理 ons 描述 並發數 span col 數據分析 sub 前言   上一篇我們分析了一個MapReduce在執行中的一些細節問題,這一篇分享的是MapReduce並行處理的基本過程和原理。   Mapreduce是一個分布式運算程序的編程框架,是用戶開發

C++語言學習——C++類成員函數調用分析

不可訪問 ring error: 兩種 cout list 空間 splay 示例代碼 C++語言學習(十四)——C++類成員函數調用分析 一、C++成員函數 1、C++成員函數的編譯 C++中的函數在編譯時會根據命名空間、類、參數簽名等信息進行重新命名,形成新的函數名。函

redis原始碼分析與思考——列表型別的命令實現(t_list.c)

    列表型別是用來存貯多個字串物件的結構。一個列表可以存貯232-1個元素,可以對列表兩端進行插入(push)、彈出(pop),還可以獲取指定範圍內的元素列表、獲取指定索引的元素等等,它可以靈活的充當棧和佇列的角色。下面列出列表的命令: 列

搭建自己的部落格:簡單的為部落格新增閱讀量

1、變化的部分 2、上程式碼 ul.blog-types,ul.blog-dates { list-style-type: none; } div.blog:not(:last-child) { margin-bottom: 2em; pad

osgEarth的Rex引擎原理分析分頁瓦片載入器子節點的作用

目標:(十二)中的問題21 在rex引擎的setMap中建立了分頁瓦片載入器子節點 osgEarthDrivers/engine_rex/RexTerrainEngineNode.cpp void RexTerrainEngineNode::setMap(const Map* map, co

3dContactPointAnnotationTool開發日誌

oom mat href 但是 tran 坐標 輸入 功能 docs ??貌似每次讓用戶手動輸入文件路徑太不人道了,於是參考Unity 實用教程 之 調用系統窗口選擇文件或路徑增加了讓用戶瀏覽文件的功能,點擊輸入框旁邊的+就可以找到文件並加載進來: ??貌似調整位置再計算

使用O2OA二次開發搭建企業辦公平臺流程開發篇:使用資料字典進行報銷型別配置

本部落格為O2OA系列教程、O2OA使用手冊,教程目錄和各章節天梯將在連載完後更新。 使用O2OA二次開發搭建企業辦公平臺(一)平臺部署篇:平臺下載和部署 使用O2OA二次開發搭建企業辦公平臺(二)平臺部署篇:埠衝突和伺服器埠配置 使用O2OA二次開發搭建企業辦公平臺(三)平臺部署篇:使用外部資料庫

四川職業技術學院輔導員工作管理資訊系統的設計與開發--文獻隨筆

一、基本資訊 標題:四川職業技術學院輔導員工作管理資訊系統的設計與開發 時間:2013 出版源:電子科技大學 關鍵詞:輔導員; 學生管理; 面向物件; 統一建模語言; 二、研究背景 問題定義:面臨日益複雜繁縟的工作,僅靠傳統手工的輔導員管理顯然不能適應資訊科技發展給社會和高校發展帶來的積極效應,但是針對

基於J2EE新聞發布系統的設計與實現——論文隨筆

自身 很多 改進 結合 運行 訪問 隨筆 時間 格式 一、基本信息 標題:基於J2EE新聞發布系統的設計與實現 時間:2010-10 出版源:南昌大學 領域分類:系統架構和設計 二、研究背景 問題定義:很多企業都沒重視前期的市場調查 , 導致許多低質量或者說是不符合要求的新

Elasticsearch叢集配置

本文作者:羅海鵬,叩丁狼高階講師。原創文章,轉載請註明出處。 前言   在我們es系列文章開篇介紹中,已經提到,elasticsearch是天生支援叢集的,他不需要依賴其他的服務發現和註冊的元件,如zookeeper這些,因為他內建了一個名字叫ZenDiscovery的模組,是