您好,登錄后才能下訂單哦!
監控項目
鍵值設置:
log[/data/canal/logs/job-xxx-xxx/job-xxx-xxx.log,"caused|Exception|DRROR",,,skip,,]
yyyy-MM-dd hh:mm:SS
這個鍵值里邊的內容為,日志絕對路徑,關鍵字,skip是跳過老內容,只監控新產生的日志, 其他的不寫的用","隔開
觸發器:
問題表達式:{aws-bigdata-canal-49-63:log[ /data/canal/logs/job-xxx-xxx/job-xxx-xxx.log,"caused|Exception|DRROR",,,skip,,].nodata(10s)}=0
恢復表達式:{aws-bigdata-canal-49-63:log[ /data/canal/logs/job-xxx-xxx/job-xxx-xxx.log,"caused|Exception|DRROR",,,skip,,].nodata(2m)}=1
nodata(2m) 這個函數是在2分鐘內沒有數據 1:true 0:false 。 所以獲取到關鍵字 "caused|Exception|DRROR" nodata函數值就會變成false,就會觸發 觸發器,達到監控的目的!
##示例二:
? 通常我們監控會監控到一些關鍵字就直接報錯,但是往往有需求關鍵字和一些字符串組合起來是沒有問題的 即使是存在關鍵字error exception 等等 這個時候就需要我們使用強大的正則
監控項目:
log[/var/log/test_file.log,"Error|(?<!Api)Exception|before system exit|kill current process failed|known server|timed out",,,skip,]
這里重點講解(?<!Api)Exception只匹配到Exception 不匹配ApiException找到相關文章解釋如下
(?:pattern) 非獲取匹配,匹配pattern但不獲取匹配結果,不進行存儲供以后使用。這在使用或字符“(|)”來組合一個模式的各個部分是很有用。例如“industr(?:y|ies)”就是一個比“industry|industries”更簡略的表達式。
(?=pattern) 非獲取匹配,正向肯定預查,在任何匹配pattern的字符串開始處匹配查找字符串,該匹配不需要獲取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。預查不消耗字符,也就是說,在一個匹配發生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始。 (?!pattern) 非獲取匹配,正向否定預查,在任何不匹配pattern的字符串開始處匹配查找字符串,該匹配不需要獲取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。
(?<=pattern) 非獲取匹配,反向肯定預查,與正向肯定預查類似,只是方向相反。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。
(?<!pattern) 非獲取匹配,反向否定預查,與正向否定預查類似,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,但不能匹配“2000Windows”中的“Windows”。這個地方不正確,有問題
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。