天天看點

阿裡雲日志服務新增四項功能,緻力于滿足全方位的使用者需求

近日,阿裡雲日志服務團隊對日志服務做了更進一步的完善。阿裡雲日志服務團隊專門為IoT(Internet of Things)裝置量身定制了一套日志資料采集方案,釋出了适用于開發者的面向嵌入式和物聯網用戶端C Producer;還釋出了Flink Connector工具,友善Flink使用者進行開發;以及新增了API網關的通路日志(Acccess Log)功能,便于開發和維護人員更詳細的了解其Web服務的運作狀況;同時對告警功能進行更新,新增了釘釘和自定義WebHook兩種新通知管道。

<b>一、</b><b>面向嵌入式、物聯網</b><b>的</b><b>日志用戶端C</b><b> </b><b>Producer</b><b></b>

<b> </b>

随着IoT正在高速增長,越來越多的智能裝置開始逐漸走進我們的日常生活,例如智能路由器、天貓精靈、掃地機器人等,讓我們體驗到智能領域的便利。由于IoT裝置數目多、分布廣,難以調試且硬體受限,傳統的裝置日志解決方案無法完美滿足開發者的需求。阿裡雲的日志服務團隊根據多年Logtail的開發經驗,結合IoT裝置的特點,為IoT裝置量身定制一套日志資料采集方案:C Producer。

日志服務團隊将C Producer Library定位為一個“輕量級Logtail”,繼承了Logtail的穩定、邊界特點,雖然沒有Logtail實時配置管理機制,但也具備除此之外70%的功能,包括:

l 提供多租戶概念:可以對多種日志(例如Metric、DebugLog、ErrorLog)進行優先級分級處理,同時配置多個用戶端,每個用戶端可獨立配置采集優先級、目的project/logstore等;

l 支援上下文查詢:同一個用戶端産生的日志在同一上下文中,支援檢視某條日志前後相關日志;

l 并發發送,斷點續傳:支援緩存上線可設定,超過上限後日志寫入失敗。

此外,C Producer還具備以下IoT裝置專享功能,例如:

l 本地調試:支援将日志内容輸出到本地,并支援輪轉、日志數、輪轉大小設定;

l 細粒度資源控制:支援針對不同類型資料/日志設定不同的緩存上線、聚合方式;

l 日志壓縮緩存:支援将未發送成功的資料壓縮緩存,減少裝置記憶體占用。

作為IoT裝置量身定制的方案,C Producer在以下幾個方面具備明顯的優勢:

l 用戶端高并發寫入:可配置的發送線程池,支援每秒數十萬條日志寫入,詳情參見性能測試。

l 低資源消耗:每秒20W日志寫入隻消耗70% CPU;同時在低性能硬體(如樹莓派)上,每秒産生100條日志對資源基本無影響。

l 用戶端日志不落盤:既資料産生後直接通過網絡發往服務端。

l 用戶端計算與 I/O 邏輯分離:日志異步輸出,不阻塞工作線程。

l 支援多優先級:不通用戶端就可配置不同優先級,高優先級日志最先發送。

l 本地調試:便于在網絡不通的情況下本地測試應用程式。

<b>二、API網關通路日志</b><b></b>

阿裡雲API網關提供API托管服務,在微服務聚合、前後端分離和系統內建上為使用者提供了諸多便利。通路日志是由web服務生成的日志,每一次API請求都對應一條通路記錄,内容包括調用者IP、請求的URL、響應延遲、傳回狀态碼、請求和響應位元組數等重要資訊,便于使用者了解其web服務的運作狀況。

使用者可通過通路日志功能進行日志線上查詢、詳細調用日志、自定義分析圖表和預置分析報表等操作。日志服務支援通過<b>資料接入向導</b>采集API網關的通路日志,提供一鍵打通API網關日志功能,對API網關中産生實時日志提供如下資訊:

l 秒級實時采集能力,99.9%情況下10秒内即可消費;

l 通過LogHub功能實時計算、流計算對接;

l 通過LogShipper與資料倉庫對接;

l 利用LogSearch/Analytics功能進行實時日志查詢、分析;

l 通過儀表盤、告警等功能進行線上監控。

<b>三、日志告警功能更新</b><b></b>

阿裡雲的日志服務提供告警功能,支援儲存查詢語句為快速查詢,對查詢設定觸發周期(間隔),并對執行結果設定判斷條件并且告警,以便實時監控Nginx通路日志。

日志服務通過通知中心告知使用者,即在阿裡雲通知中心可以設定多個聯系人,通知會通過郵件和短信方式發送給使用者。

近日,日志服務團隊對告警功能進行更新,新增了WebHook通知推送方式,即釘釘機器人和自定義WebHook等,使用者可以在通知内容和方式上進行自定義配置并推送自定義位址,為開發者、運維及營運人員對日志的使用提供了便利。同時,對告警内容進行優化:新增上下文、賬号歸屬人的資訊,友善進行問題定位。

<b>四、全新釋出Flink Connector工具</b><b></b>

Flink log connector是阿裡雲日志服務團隊提供的用于對接Flink的工具,友善Flink使用者在Flink環境中進行日志服務LogHub的資料開發,包括兩部分:消費者(Consumer)和生産者(Producer)。消費者用于從日志服務中讀取資料,支援exactly once語義,支援shard負載均衡。生産者則用于将資料寫入日志服務,使用connector時,需要在項目中添加maven依賴:

1. &lt;dependency&gt;

2. &lt;groupId&gt;org.apache.flink&lt;/groupId&gt;

3. &lt;artifactId&gt;flink-streaming-java_2.11&lt;/artifactId&gt;

4. &lt;<b>version</b>&gt;1.3.2&lt;/<b>version</b>&gt;

5. &lt;/dependency&gt;

6. &lt;dependency&gt;

7. &lt;groupId&gt;com.aliyun.openservices&lt;/groupId&gt;

8. &lt;artifactId&gt;flink-log-connector&lt;/artifactId&gt;

9. &lt;<b>version</b>&gt;0.1.7&lt;/<b>version</b>&gt;

10. &lt;/dependency&gt;

11. &lt;dependency&gt;

12. &lt;groupId&gt;com.google.protobuf&lt;/groupId&gt;

13. &lt;artifactId&gt;protobuf-java&lt;/artifactId&gt;

14. &lt;<b>version</b>&gt;2.5.0&lt;/<b>version</b>&gt;

15. &lt;/dependency&gt;

16. &lt;dependency&gt;

17. &lt;groupId&gt;com.aliyun.openservices&lt;/groupId&gt;

18. &lt;artifactId&gt;aliyun-log&lt;/artifactId&gt;

19. &lt;<b>version</b>&gt;0.6.10&lt;/<b>version</b>&gt;

20. &lt;/dependency&gt;

21. &lt;dependency&gt;

22. &lt;groupId&gt;com.aliyun.openservices&lt;/groupId&gt;

23. &lt;artifactId&gt;log-loghub-producer&lt;/artifactId&gt;

24. &lt;<b>version</b>&gt;0.1.8&lt;/<b>version</b>&gt;

25. &lt;/dependency&gt;

Flink Connector具有可設定消費起始位置,監控、告警,容災、異常恢複,準确性高等特點:

l 設定消費起始位置,友善使用者進行消費點的設定;

l 監控,實時擷取目前資料消費狀态,并通過設定告警知曉延遲的任務;

l 支援消費執行個體彈性伸縮、容災、異常恢複,無需關心細節;

l 提供消費級exactly once語義支援,保證資料精确性。

更多關于日志服務的介紹及使用請參考以下文章:

繼續閱讀