日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8s中graphite_在Graphite中存储Hystrix的几个月历史指标

發布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8s中graphite_在Graphite中存储Hystrix的几个月历史指标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

k8s中graphite

Hystrix的殺手級功能之一是低延遲,數據密集和美觀的儀表板 :

即使這只是Hystrix實際操作的副作用(斷路器,線程池,超時等),它也往往是最令人印象深刻的功能。 為了使其工作,您必須包括hystrix-metrics-event-stream依賴項:

<dependency><groupId>com.netflix.hystrix</groupId><artifactId>hystrix-metrics-event-stream</artifactId><version>1.4.0-RC6</version> </dependency>

并注冊內置的servlet,例如在嵌入式Jetty中:

import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder;//...Server server = new Server(8090); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); server.setHandler(context); final HystrixMetricsStreamServlet servlet = new HystrixMetricsStreamServlet(); final ServletHolder holder = new ServletHolder(servlet); context.addServlet(holder, "/hystrix.stream"); server.start();

當然,如果您已經有一個Web應用程序,則要簡單得多。 這是Spring Boot中的一個示例:

@Bean public ServletRegistrationBean servletRegistrationBean() {return new ServletRegistrationBean(new HystrixMetricsStreamServlet(), "/hystrix.stream"); }

從現在開始,您的應用程序將以JSON格式流式傳輸實時指標,可以使用開源儀表板輕松使用它,該儀表板幾乎完全用JavaScript編寫:

$ git clone git@github.com:Netflix/Hystrix.git $ cd Hystrix $ ./gradlew :hystrix-dashboard:jettyRun

幾秒鐘后,您可以瀏覽到localhost:7979并指向/hystrix.stream servlet。 假設您的應用程序是集群的,則很可能會將Turbine添加到聚會中。

如果您使用的是Hystrix,您已經了解了所有這些。 但是,我最常被問到的問題之一是: 為什么這些指標如此短期 ? 的確,如果您查看上面的儀表板,則指標的滑動窗口范圍為10秒到1分鐘。 如果您收到有關生產中某些事件的自動電子郵件通知,經歷了短暫的緩慢運行或聽到了客戶的性能問題,則有關此事件的相關統計信息可能已經丟失–或隨后被普遍不穩定所掩蓋。

這實際上是設計使然–您不能同時擁有低延遲,近乎實時的統計數據以及持久的數據,即使不是幾個月前也可以瀏覽數天。 但是您不需要兩個用于短期指標和長期趨勢的監視系統。 相反,您可以直接使用Hystrix指標提供Graphite 。 幾乎沒有代碼,到處都是膠水。

將指標發布到Dropwizard指標

事實證明,所有構建塊都可用并準備就緒,您只需連接它們即可。 Hystrix指標不僅限于發布servlet,還可以插入其他使用者,例如Dropwizard指標 :

<dependency><groupId>com.netflix.hystrix</groupId><artifactId>hystrix-codahale-metrics-publisher</artifactId><version>1.4.0-RC6</version><exclusions><exclusion><groupId>com.codahale.metrics</groupId><artifactId>metrics-core</artifactId></exclusion></exclusions> </dependency> <dependency><groupId>io.dropwizard.metrics</groupId><artifactId>metrics-core</artifactId><version>3.1.0</version> </dependency>

您必須顯式連接這兩個庫,我使用Spring Boot進行編排,請注意, MetricRegistry 由Boot自動創建 :

@Bean HystrixMetricsPublisher hystrixMetricsPublisher(MetricRegistry metricRegistry) {HystrixCodaHaleMetricsPublisher publisher = new HystrixCodaHaleMetricsPublisher(metricRegistry);HystrixPlugins.getInstance().registerMetricsPublisher(publisher);return publisher; }

Hystrix發布到Dropwizard指標的那一刻,我們可以將這些指標重定向到SLF4J,JMX或Graphite!

石墨和格拉法納

我們還需要一個依賴項:

<dependency><groupId>io.dropwizard.metrics</groupId><artifactId>metrics-graphite</artifactId><version>3.1.0</version> </dependency>

這使metrics庫可以將數據直接發布到Graphite,而又需要一點點膠水:

@Bean public GraphiteReporter graphiteReporter(MetricRegistry metricRegistry) {final GraphiteReporter reporter = GraphiteReporter.forRegistry(metricRegistry).build(graphite());reporter.start(1, TimeUnit.SECONDS);return reporter; }@Bean GraphiteSender graphite() {return new Graphite(new InetSocketAddress("localhost", 2003)); }

顯然,您想調整Graphite地址。 設置Graphite和Grafana很麻煩,幸運的是有一個Docker鏡像 :

$ docker run -d \-p 8070:80 -p 2003:2003 -p 8125:8125/udp -p 8126:8126 \--name grafana-dashboard \choopooly/grafana_graphite

如果一切設置正確,請直接進入localhost:8070并使用一些儀表板。 這是我的:

新的可能性

內置的Hystrix儀表板React靈敏且實用。 但是,擁有數天,數周甚至數月的統計信息可以提供很多可能性。 內置儀表板無法實現的功能選擇,您可以使用Graphite / Grafana輕松設置:

  • 月的統計資料(顯然),相比秒
  • 標準儀表板中忽略的指標,例如較低的百分位數,總計數器等。
  • 某些指標的完整歷史記錄,而不是即時值(例如,線程池利用率)
  • 能夠在單個圖表上比較看似無關的指標,例如,幾個不同的命令延遲與線程池隊列大小的比較-全部具有完整的歷史記錄
  • 深入研究–查看幾周或放大到幾分鐘

示例可以在前面的屏幕截圖中找到。 這完全取決于您的用例,但除非您的系統著火了,否則可以在事件發生幾小時或幾周后檢查的長期統計信息可能比內置儀表板有用。

* Hystrix指標發布者中有一個小錯誤 ,將在1.4.0-RC7中修復
**上述功能可在我們的微紅外開源項目中直接使用

翻譯自: https://www.javacodegeeks.com/2015/02/storing-months-historical-metrics-hystrix-graphite.html

k8s中graphite

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的k8s中graphite_在Graphite中存储Hystrix的几个月历史指标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。