當前位置:
首頁 > 知識 > 如何使用ARMS配置tengine的日誌監控

如何使用ARMS配置tengine的日誌監控

摘要: 業務實時監控服務 ARMS 很好的提供了這麼一個入口,為公司提供了一個實時查詢Tengine運行情況的解決方案。在未來,ARMS將很好的和ODPS為公司監控形成互補方案,tengine日誌日後可同時投遞到ARMS和MaxCompute中: ARMS響應第一時間的多維度報警; MaxCompute來做深層次分析,例如介面的請求數、響應時長等,並有針對性地進行調優。

最近公司通過業務實時監控服務 ARMS 成功搭建了基於tengine的日誌監控系統。這裡簡單分享一下使用ARMS用於監控tengine日誌的經驗。

公司發展至今,現階段所有介面都使用阿里的tengine作為web容器,類似nginx,在日誌中也記錄了包括host, url, ip, 包體大小,響應時長等信息。目前的業務需求場景是希望有一套系統來監控介面的異常,來及時發現系統的異常,並能具體到哪些項目、哪些伺服器、甚至哪些URL出現異常,提高分析問題和解決問題的速度。

tengine日誌分布到不同伺服器上,首先使用日誌服務來分別收集這些日誌。再以logHub作為日誌源,來進行監控。想到使用ARMS的其中一個最重要原因是因為我們系統tengine的日誌格式有一定的定製,需要有一個端到端監控產品提供的定製化特彆強的數據清洗功能,以及聚合計算+報警功能。

這裡詳細介紹一下ARMS吊炸天的日誌切分功能。

第一步,一個開始節點;

第二步,LogHub數據源過來默認是JSON格式,進行JSON解析,如下圖:

如何使用ARMS配置tengine的日誌監控

注意日期類型的時間格式,尤其是「小時」部分,默認格式是hh(12小時),需要改為HH(24小時)。

第三步,清洗,過濾掉這裡不需要監控的host,如下圖:

如何使用ARMS配置tengine的日誌監控

通過函數,過濾掉不以指定域名結尾的host。

第四步,解析URL。使用「單分隔符切分器」,將request欄位按照空格切分,分別獲取調用方式(GET/POST)、完整URL、協議版本。

如何使用ARMS配置tengine的日誌監控

第五步,區分錯誤碼。這裡主要是為了區分,返回碼是代表正常、還是錯誤。這裡只對錯誤的返回碼進行監控。下圖的例子是,返回碼是4xx或5xx的表示錯誤,其他表示正常。新增欄位is_error表示是否是「錯誤碼」,賦值1或0表示是或否。

如何使用ARMS配置tengine的日誌監控

第六步,配置伺服器IP和伺服器名稱的對應關係。配置了一個映射表如下:

如何使用ARMS配置tengine的日誌監控

注意,這裡一定要配置一個127.0.0.1的k-v關係,否則日誌切分預覽的時候會看不到這個「伺服器名稱」欄位。

如何使用ARMS配置tengine的日誌監控

至此,日誌切分全部結束。點擊「日誌切分預覽」,即可查看切分效果。點擊保存,下一步。

配置數據集,例如要監控介面的訪問次數,使用count(_line);要監控平均包體大小,使用sum(包體大小)÷count(_line);要監控平均響應時長,使用sum(響應時長)÷count(_line)。維度根據需要配置,此處配置為先伺服器,後介面域名。

如何使用ARMS配置tengine的日誌監控

至此配置全部結束,點擊保存,完成配置。即可啟動任務了。以上為簡單示例。

這邊展示我製作的其中幾項監控的大盤。

請求數效果圖:

如何使用ARMS配置tengine的日誌監控

響應時長效果圖:

如何使用ARMS配置tengine的日誌監控

包體大小效果圖:

如何使用ARMS配置tengine的日誌監控

錯誤碼個數效果圖:

如何使用ARMS配置tengine的日誌監控

運維人員通過對幾個圖表的觀察分析,可以很快得出一些異常情況發生的原因,並及時處理掉。

一個年輕的互聯網公司,需要不斷的成長。系統也一樣,需要不斷的提升、優化。業務實時監控服務 ARMS 很好的提供了這麼一個入口,為公司提供了一個實時查詢Tengine運行情況的解決方案。在未來,ARMS將很好的和ODPS為公司監控形成互補方案,tengine日誌日後可同時投遞到ARMS和MaxCompute中: ARMS響應第一時間的多維度報警; MaxCompute來做深層次分析,例如介面的請求數、響應時長等,並有針對性地進行調優。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲棲社區 的精彩文章:

性能測試PTS鉑金版來襲!阿里雲發布T級數據壓測的終極秘笈
首次披露!拍立淘技術框架及核心演算法,日均UV超千萬
中美人工智慧發展戰略的異同檢視:差距何在?如何超越?
阿里電商架構演變之路
聽阿里雲CDN安防技術專家金九講tengine+lua開發

TAG:雲棲社區 |

您可能感興趣

配置SAP Solution Manager連接監控遠程Microsoft SQL Server
SpringBoot中如何進行Bean配置
VSCode配置Python編輯器
SpringBoot使用Nacos配置中心
SpringMVC常用配置3
如何在微服務或Tomcat中配置使用Listener
SpringCloud統一配置中心Config Client
Servlet+MyBatis項目轉Spring Cloud微服務,多數據配置修改建議
MyBatis 配置 typeHandlers 詳解
Spring Config 高可用配置中心
SpringBoot配置基礎攔截器
WordPress Nginx 安全配置 – 禁用某些目錄執行PHP
Spring SpringMVC配置Druid數據源(資料庫連接池)
如何在 Linux 中安裝、配置和使用 Fish Shell?
VMware Horizon View Real-Time Audio-Video 相關配置
Caffe安裝及配置Python介面(CentOS7)
Moto One Vision配置曝光
如何擴展 Create React App 的 Webpack 配置
CentOS7下配置Nginx
Centos下安裝配置WordPress與nginx教程