自訂Linux監控代理
預設情況下,監控代理程式從一系列平台和應用程式收集資料。 您可以編輯代理程式配置檔來變更其預設行為,以及包括或排除資料。 您可以自訂監控代理程式設定檔以包含自訂指標,例如 JMX、StatsD,和Prometheus。 您也可以過濾掉度量值及容器。
監控代理程式使用兩個設定檔來指定要自動收集哪些資料:
| 檔案 | 說明 | 位置 |
|---|---|---|
dragent.default.yaml |
主設定檔 **重要:**請勿編輯此檔案。 |
/opt/draios/etc/dragent.default.yaml |
dragent.yaml |
您編輯用於自訂監控代理程式的設定檔。 | /opt/draios/etc/dragent.yaml |
您可以編輯 dragent.yaml 檔來自訂收集的資料。 變更會在您儲存檔案之後立即生效。 代理程式會偵測變更,並自動重新啟動。 您可以在dragent.default.yaml檔案中找到監控代理程式檢查的頻率和檔案。
例如,dragent.default.yaml 包括下列資訊:
check_frequency_s: 5
files:
- /opt/draios/etc/dragent.yaml
- /opt/draios/etc/kubernetes/config/dragent.yaml
- /opt/draios/etc/kubernetes/secrets/access-key
編輯 dragent yaml 檔案
yaml 檔案位於 /opt/draios/etc/ 中。
請完成下列步驟來編輯檔案並套用變更:
-
直接存取 dragent.yaml。 此檔案位於
/opt/draios/etc/dragent.yaml。 -
編輯檔案。 請使用有效的 YAML 語法。
-
重新啟動代理程式。 執行下列指令:
service dragent restart
封鎖埠
若要封鎖來自網路埠的網路資料流量及度量值,您必須自訂 dragent.yaml 檔案中的 blacklited_ports 區段。 您必須列出要從中過濾掉任何資料的埠。
**附註:**埠 53 (DNS) 一律列入黑名單。
例如,以下範例顯示如何設定監控代理程式的blacklisted_ports部分以排除來自連接埠 6666 和 6379 的資料:
blacklisted_ports:
- 6666
- 6379
包括及排除度量值
若要過濾自訂度量值,您必須自訂 dragent.yaml 檔中的 metrics_filter 區段。 您可以配置 include 及 exclude 過濾參數,來指定要包括哪些度量值,以及要過濾掉哪些度量值。
**附註:**過濾規則順序設定如下:套用符合度量值的第一個規則。
例如,如果監控代理程式的metrics_filter部分如下所示:
metrics_filter:
- include: metricA.*
- exclude: metricA.*
- include: metricB.*
- include: haproxy.backend.*
- exclude: haproxy.*
- exclude: metricC.*
- 您正在設定監控代理程式以收集以metricA、metricB和haproxy.backend開頭的指標中的所有資料。
- 您正在過濾掉開頭為 metricC 的度量值,以及其他開頭為 haproxy 的度量值。
- 忽略
exclude: metricA.*項目。
變更記載層次
若要配置記載層次,您必須自訂 dragent.yaml 檔中的 log 區段。
監控代理程式在*/opt/draios/logs/draios.log*中產生日誌條目。
- 日誌檔在大小達到 10MB 時即會替換。
- 保留 10 個最近的日誌檔。 附加至檔名的日期戳記是用來決定要保留哪些檔案。
- 有效的記載層次為:none、error、warning、info、debug、trace
- 預設記載層次為 info,其中除了任何警告及錯誤的項目外,每次將聚集的度量傳輸至後端伺服器時都會建立一個項目,每秒一次。
- 您可以透過設定監控代理程式設定檔 /opt/draios/etc/dragent.yaml 來自訂日誌類型和收集的條目。 在編輯檔案之後,必須使用
service dragent restart在 Shell 上重新啟動代理程式,才能啟動變更。
| 使用案例 | 日誌區段項目 |
|---|---|
| 疑難排解代理程式行為 | file_priority: debug |
| 減少容器主控台輸出 | console_priority: warning |
| 依嚴重性過濾事件 | event_priority: warning |
| 驗證包括或排除哪些度量 | metrics_excess_log: true |