1 回答

TA貢獻1875條經驗 獲得超5個贊
我看著這個很大。這里有幾件事...
我相信您的注冊命令是錯誤的,至少對于您引用的示例應用程序而言是這樣。
您正在使用cf register-metrics-endpoint api high_latency,這意味著您有一個名為的應用程序api和該應用程序上的一個端點,high_latency該端點使用 Prometheus 格式導出指標。對于這個示例應用程序,路徑應該是/actuator/prometheus,根據自述文件和我的簡短測試。
當我使用命令時cf register-metrics-endpoint app-name /actuator/prometheus,我能夠在輸出中看到自定義指標cf tail,但在包含的輸出中看不到它們。
例如:(未顯示在您的屏幕截圖中)
2019-07-17T22:54:37.83-0400 [custom-metrics-demo/0] GAUGE tomcat_global_request_max_seconds:2.006000
2019-07-17T22:54:37.83-0400 [custom-metrics-demo/0] GAUGE system_cpu_count:4.000000
2019-07-17T22:54:37.83-0400 [custom-metrics-demo/0] COUNTER tomcat_sessions_created_sessions_total:12
2019-07-17T22:54:37.83-0400 [custom-metrics-demo/0] COUNTER custom_metric_total:15
2019-07-17T22:54:37.83-0400 [custom-metrics-demo/0] GAUGE jvm_gc_pause_seconds_sum:0.138000
2019-07-17T22:54:37.83-0400 [custom-metrics-demo/0] COUNTER jvm_gc_pause_seconds_count:25
在引用的示例應用程序中,沒有名為 的指標high_latency,因此它不能用作您的指標名稱,因為它永遠不會由應用程序生成。/actuator/prometheus如果您在瀏覽器中訪問端點,則可以看到所有指標。Prometheus 格式是基于文本的,非常容易閱讀。
最后一個很棘手,沒有記錄,但我可以在 Autoscaler 的代碼中看到它(在撰寫本文時)。當 Autoscaler 從 LogCache 輪詢指標時,它只提取 GAUGE 和 TIMER 事件,而不是 COUNTER 事件。如果您嘗試使用custom_metric演示應用程序,那將無法正常工作,因為它是一個 COUNTER 指標。您只會看到有關 Autoscaler 在縮放窗口期間看不到任何指標事件的消息。確保您選擇的是用于縮放的 GAUGE 指標。
Autoscaler 似乎也不支持使用帶有關聯標簽的指標。例如,如果您想使用tomcat_servlet_request_seconds_sum{name="dispatcherServlet",},我認為沒有辦法告訴 Autoscaler 標簽name必須是某個值。該信息在 LogCache 中,但我認為 Autoscaler 目前不會使用它。在我寫這篇文章的時候,我快速瀏覽了一下代碼,似乎表明它只是在查看指標名稱。如果您要創建自定義指標,這無關緊要。只是不要為指標使用任何標簽。
添加回答
舉報