idou老師教你學Istio 25:如何用istio實現監控和日誌採集
大家都知道istio可以幫助我們實現灰度釋出、流量監控、流量治理等功能。每一個功能都幫助我們在不同場景中實現不同的
業務。那Istio是如何幫助我們實現監控和日誌採集的呢?
這裡我們依然以Bookinfo應用程式作為貫穿此任務的示例程式。首先在叢集中安裝並部署Istio。
1
收集遙測資料
建立一個新的YAML檔案,用來儲存Istio將自動生成和收集的新度量標準和日誌流的配置。如下圖所示:
透過命令$ kubectl apply -f new_telemetry.yaml推送剛剛配置的YAML檔案。然後去請求應用程式來生成流量,例如在本
用例中就可以訪問Bookinfo完成訪問。
接下來我們就可以驗證是否採集到了剛剛的請求資料。在Kubernetes環境中,透過執行以下命令為Prometheus設定埠轉
發:
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath=
'{.items[0].metadata.name}') 9090:9090 &
透過Prometheus UI檢視新指標的值。執行對istio_double_request_count度量值的查詢。Console選項卡中顯示的表 包含
類似於以下內容的條目:
驗證是否已建立日誌流並正在為請求填充日誌流。在Kubernetes環境中,搜尋istio-telemetry pod的日誌,如下所示:
從列印的資訊中,我們可以清楚的看到日誌級別、生成時間、例項名稱、訪問元件名稱等等資訊。
2
遙測配置
在上面的實踐中,我們已經完成了Istio收集資料並列印日誌的一個過程。
那麼Istio是如何做到的呢?其實我們已經給Istio做了配置,指示Mixer自動生成並上報服務網格中採集的metric資訊和日誌
流。在這個配置中我們主要設定了mixer的三個功能:
從Istio的屬性中生成例項資訊,比如在我們上面的實踐中列印的metric和日誌資訊。
建立出adapter介面卡,可以幫助我們處理生成的例項。
根據定義的規則向adapter傳送例項資訊。
3
metrics配置
配置metrics是為了指示Mixer將metric傳送到Prometheus。它使用三個模組來進行配置:例項配置、處理程式配置和規則
配置。
metric配置的模組定義了用於生成metric。此例項配置根據Envoy報告的屬性(由Mixer自身生成)告訴Mixer 如何為任何給
定請求生成metric。
dimensions為每個例項指定一組維度。提供了根據查詢的不同需求和方向對metric據進行分片,聚合和分析的方法。例如,
可能需要在對應用程式行為進行故障排除時僅考慮對特定目標服務的請求。
4
日誌配置
日誌配置指示Mixer將日誌條目傳送到stdout。它同樣使用三個模組來進行配置:例項配置,處理程式 配置和規則配置。
logentry配置的部分定義了用於生成日誌條目例項。此例項配置告訴Mixer 如何 根據Envoy報告的屬性為請求生成日誌條目。
severity引數用於指示任何生成的日誌級別 logentry。在此示例中,使用了引數值"warning"。此值將由logentry 處理程式
對映到支援的日誌記錄級別。
Timestamp引數提供所有日誌條目的時間資訊。在此示例中,時間request.time由Envoy 提供的屬性值提供。
variables引數允許操作員配置每個值中應包含的值logentry。一組表示式控制從Istio屬性和文字值到構成a的值的對映
logentry。在此示例中,每個logentry例項都有一個名為latency使用屬性值填充的欄位response.duration。如果沒有已知
值response.duration,則該latency欄位將設定為持續時間 0ms。
stdio配置定義了處理程式命名newhandler。處理程式spec配置stdio介面卡程式碼處理接收 logentry例項的方式。該
severity_levels引數控制欄位的logentry 值如何severity對映到支援的日誌記錄級別。這裡,值"warning"被對映到
WARNING日誌級別。該 outputAsJson引數指示介面卡生成JSON格式的日誌行。
rule配置定義一個新的規則命名newlogstdio。該規則指示Mixer將所有newlog.logentry例項傳送到 newhandler.stdio處理
程式。由於match引數設定為true,因此將對網格中的所有請求執行規則。
相關服務請訪問https://support.huaweicloud.com/cce/index.html?cce_helpcenter_2019
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69908804/viewspace-2636587/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- idou老師教你學Istio :如何用istio實現監控和日誌採集
- idou老師教你學Istio:如何用 Istio 實現速率限制
- idou老師教你學Istio 23 : 如何用 Istio 實現速率限制
- idou老師教你學Istio06: 如何用istio實現流量遷移
- idou老師教你學Istio 22 : 如何用istio實現呼叫鏈跟蹤
- idou老師教你學Istio 07: 如何用istio實現請求超時管理
- idou老師教你學Istio: 如何用Istio實現K8S Egress流量管理K8S
- idou老師教你學Istio 09: 如何用Istio實現K8S Ingress流量管理K8S
- idou老師教你學Istio05: 如何用Isito實現智慧路由配置路由
- idou老師教你學Istio 19 : Istio 流量治理功能原理與實戰
- idou老師教你學istio 31:Istio-proxy的report流程
- idou老師教你學Istio 28:istio-proxy check 的快取快取
- idou老師教你學Istio 26:如何使用Grafana進行視覺化監控Grafana視覺化
- idou老師教你學Istio :5分鐘簡析Istio異常檢測
- idou教你學Istio10 : 如何用Istio實現K8S Egress流量管理K8S
- idou老師教你學Istio 27:解讀Mixer Report流程
- idou老師教你學istio :基於角色的訪問控制
- idou老師教你學Istio 17 : 通過HTTPS進行雙向TLS傳輸HTTPTLS
- idou老師教你學Istio 17 : 透過HTTPS進行雙向TLS傳輸HTTPTLS
- 日誌監控實踐 - 監控Agent整合Lua引擎實現多維度日誌採集
- service mesh istio微服務實驗之監控日誌與視覺化微服務視覺化
- Istio技術與實踐05:如何用istio實現流量管理
- Istio全景監控與拓撲
- 如何用istio實現請求超時管理
- 如何用istio實現應用的灰度釋出
- Istio採集指標prometheus+grafana方案指標PrometheusGrafana
- 跟我一起學docker(15)--監控日誌和日誌管理Docker
- 使用Kubernetes和Istio實現藍綠部署
- 黑盒監控、日誌監控
- 基於istio實現單叢集地域故障轉移
- Kubernetes日誌採集
- 日誌採集/分析
- 日誌服務 HarmonyOS NEXT 日誌採集最佳實踐
- 監控採集上報和儲存監控資料策略
- Istio的流量管理(實操二)(istio 系列四)
- Istio的流量管理(實操一)(istio 系列三)
- 日誌採集框架Flume框架
- Mysql事件監控日誌MySql事件