觀察 .NET Core Container 的 Exec Mode 和 Shell Mode 差異

上篇 得知 .NET Core 應用程式可以接收 SIGINT/SIGTERM訊號,來完成 graceful shutdown;在處理批次流程中,當應用程式接收到 SIGINT/SIGTERM 訊號後,就要進入狀態的保存,避免服務被強制中斷,導致狀態混亂。預設 Container 預設等待 10 sec,也就是這個時間範圍內就要完成狀態保存,如果超過時間就可以考慮送出 Timeout 參數,延長工作關閉流程。Linux 執行應用程式的時候有區分 shell model 以及 exec mode,若使用不當,會導致接收不到 SIGINT/SIGTERM 訊號,無法 graceful shutdown。

...繼續閱讀 »

監視 Docker Container 資源 (cAdvisor + node-exporter + prometheus + grafana)

cAdvisor 是一個開源的容器資源使用情況和效能分析工具,主要由 Google 開發。它專門用於收集、聚合、處理和匯出有關執行中容器的資訊。
Node-Exporter 收集主機層級的各種指標,包括:CPU 使用率、記憶體使用情況、磁碟 I/O 統計、網路流量、檔案系統使用率、系統負載

  • Node Exporter:關注整個主機/節點層級的指標
  • cAdvisor:專注於容器層級的指標

再搭配上 Prometheus 收集指標,用 Grafana 呈現資訊

圖片

出自 https://blog.techbridge.cc/2019/08/26/how-to-use-prometheus-grafana-in-flask-app/

...繼續閱讀 »