Prometheus Java 用戶端程式庫
簡介
Prometheus Java 用戶端程式庫 是 Prometheus 社群所提供的 Java 度量值程式庫。
Instana 的 com.instana.plugin.java 會自動偵測 Prometheus Java 用戶端程式庫,並在 JVM 儀表板上顯示度量值。
此頁面說明 Prometheus Java 用戶端程式庫以及 Micrometer 的 Prometheus 計量登錄的自動檢測。 如果您要尋找透過 HTTP 從 Prometheus 匯出器提取度量值的方法,或將 Instana 代理程式配置為 Prometheus 遠端寫入端點,請參閱 Prometheus。

配置
所有配置選項都是選用的。 Instana 會使用合理的預設值來監視 Prometheus Java 用戶端程式庫中的度量值,而不需要手動配置。
不過,您可以改寫預設值,方法是在代理程式的 configuration.yaml 檔案中的 com.instana.plugin.java 下新增 prometheusMetricCollection 區段,如下列範例所示:
com.instana.plugin.java:
prometheusMetricCollection:
enabled: true
limit: 200
pollIntervalSeconds: 15
excludeMetricNamesStartingWith:
- jvm
- process
excludeMetricsMatching:
- eu-central-1
支援下列配置選項:
enabled: 將此設為false,以停用監視 Prometheus Java 用戶端程式庫。 預設值:true。limit: 為了避免監視後端超載,我們限制每個 JVM 的度量數。 您可以使用此配置選項來變更限制。 預設值: 200。pollIntervalSeconds: 一般而言, Instana 提供 1 秒的度量解決方案。 不過,您可能已向 Prometheus Java 用戶端程式庫登錄自己的自訂回呼,然後每次輪詢都會導致呼叫自訂回呼。 為了避免自訂回呼可能超載,依預設,我們將 Prometheus Java 用戶端程式庫中度量值的輪詢間隔增加至 15 秒。 使用此配置選項來增加或減少輪詢間隔。 預設值: 15。excludeMetricNamesStartingWith: 不應監視的度量名稱字首清單。 例如,上述配置會排除以jvm開頭的所有度量,以及以process開頭的所有度量,因此您無法看到下列度量:process_cpu_seconds_total 0.99 process_open_fds 23.0 jvm_threads_state{state="RUNNABLE"} 7.0 jvm_threads_state{state="WAITING",} 3.0 ```* `includeMetricNamesStartingWith`: Counterpart to `excludeMetricNamesStartingWith`. Only metrics starting with one of these prefixes will be included.excludeMetricsMatching: 這是excludeMetricNamesStartingWith的更強大替代方案: 將排除符合其中一個正規表示式清單的所有度量值。 正規表示式會套用至完整度量字串,包括諸如counter_total{region="eu-central-1"}之類的標籤,而不只是套用至度量名稱。 正規表示式未錨定,亦即,它可以在字串中間的任何位置符合。 例如,如果您在excludeMetricsMatching清單中指定eu-central-1,則會排除度量counter_total{region="eu-central-1"}。includeMetricsMatching: 對應至excludeMetricsMatching。 只會包含符合清單中其中一個正規表示式的度量,並排除所有其他度量。
Monitoring 自訂收集器登錄
依預設, Prometheus Java 用戶端程式庫會向廣域 CollectorRegistry.defaultRegistry登錄所有度量。 在該情況下, Instana 會自動尋找已登錄的度量值,並依預設監視它們。
不過,您可能已在程式碼中向自訂 CollectorRegistry 登錄您的度量值。 在該情況下,您需要包含一行程式碼,以通知 Instana 您的自訂收集器登錄。 Instana 提供基於該目的的 prometheus-java-library-integration 相依關係,文件可在 github.com/instana/prometheus-java-library-integration上找到。
與 Micrometer 整合
您可能不會直接使用 Prometheus Java 用戶端程式庫 ,而是透過 Micrometer 的 Prometheus Meter Registry間接使用。 如果您想要保留該設定,並查看 Instana 中的 Prometheus 度量值,您可以使用我們的 prometheus-java-library-integration ,透過 Instana 來監視 PrometheusMeterRegistry 。 文件可在 github.com/instana/prometheus-java-library-integration上找到。