普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪
普羅米修斯使用es數(shù)據(jù)庫(kù)
Adam Bien的Porcupine庫(kù)使配置充當(dāng)應(yīng)用程序隔板的專用執(zhí)行程序服務(wù)變得容易。 我創(chuàng)建了一個(gè)擴(kuò)展,通過(guò)MicroProfile Metrics公開了豪豬統(tǒng)計(jì)信息。 我們還可以通過(guò)Prometheus和Grafana儀表板使儀器可見。
進(jìn)行此擴(kuò)展的原因是我們希望對(duì)Porcupine線程池的檢測(cè)進(jìn)行簡(jiǎn)單的集成(即插入)。 Grafana允許創(chuàng)建和共享儀表板,這些儀表板可以通過(guò)指標(biāo)變量進(jìn)行動(dòng)態(tài)配置。 目標(biāo)是創(chuàng)建類似于以下內(nèi)容的儀表板,而無(wú)需進(jìn)行大量手動(dòng)配置:
為了實(shí)現(xiàn)這一點(diǎn),您需要執(zhí)行以下操作:
- 公開Java EE豪豬統(tǒng)計(jì)信息,例如Prometheus格式
- 在Prometheus實(shí)例中擦除Prometheus指標(biāo)
- 在Grafana儀表板中查詢并顯示Prometheus指標(biāo)
要通過(guò)Prometheus公開Porcupine的統(tǒng)計(jì)信息,您可以采用多種方法以Prometheus格式發(fā)出指標(biāo)。 我使用的是MicroProfile Metrics,為此我創(chuàng)建了一個(gè)小的擴(kuò)展 ,可以將其添加到項(xiàng)目中:
<dependency><groupId>com.sebastian-daschner</groupId><artifactId>porcupine-metrics</artifactId><version>1.0</version> </dependency>該擴(kuò)展公開了PorcupineMetrics bean,該bean每次應(yīng)更新指標(biāo)時(shí)都需要通過(guò)其updateMetrics()方法調(diào)用。 我們可以使用類似于以下內(nèi)容的計(jì)時(shí)器:
@Singleton @Startup @ConcurrencyManagement(ConcurrencyManagementType.BEAN) public class ExecutorStatisticsUpdater {@InjectPorcupineMetrics porcupineMetrics;@ResourceManagedScheduledExecutorService scheduler;@PostConstructpublic void init() {scheduler.scheduleAtFixedRate(porcupineMetrics::updateMetrics,0, 5, TimeUnit.SECONDS);}}這將每5秒更新一次指標(biāo)。 由于Porcupine的統(tǒng)計(jì)信息內(nèi)部,當(dāng)前需要例如通過(guò)計(jì)時(shí)器明確觸發(fā)更新機(jī)制。 這將在Metrics端點(diǎn)中包括以下管道指標(biāo):
vendor:porcupine_pipelines_<pipeline-name>_active_thread_count 2 vendor:porcupine_pipelines_<pipeline-name>_core_pool_size 4 vendor:porcupine_pipelines_<pipeline-name>_current_thread_pool_size 4 vendor:porcupine_pipelines_<pipeline-name>_largest_thread_pool_size 4 vendor:porcupine_pipelines_<pipeline-name>_maximum_pool_size 8 vendor:porcupine_pipelines_<pipeline-name>_min_queue_capacity 60 vendor:porcupine_pipelines_<pipeline-name>_remaining_queue_capacity 100 vendor:porcupine_pipelines_<pipeline-name>_tasks_completed 3034 vendor:porcupine_pipelines_<pipeline-name>_tasks_rejected 30 vendor:porcupine_pipelines_<pipeline-name>_tasks_total 3036除了使用MicroProfile指標(biāo)或這個(gè)擴(kuò)展,你可以同樣通過(guò)其他機(jī)制使用普羅米修斯的Java API作為解釋暴露的指標(biāo),例如這里 。
之后,我們通過(guò)Prometheus抓取暴露的指標(biāo),并創(chuàng)建Grafana儀表板,以通過(guò)變量為每個(gè)管道動(dòng)態(tài)查詢和顯示統(tǒng)計(jì)信息。
首先,我已經(jīng)共享了豪豬儀表板,類似于您在連接至Prometheus數(shù)據(jù)源的Grafana.com上的屏幕快照中看到的內(nèi)容。
您可以看一下使用Porcupine Metrics的instrument-craft-shop項(xiàng)目。
如果您想知道為什么我使用豪豬而不是MicroProfile Fault Tolerance隔板,請(qǐng)觀看以下有關(guān)隔板和Java EE反壓的視頻。
發(fā)現(xiàn)帖子有用嗎? 訂閱我的時(shí)事通訊,獲取有關(guān)IT和Java的更多免費(fèi)內(nèi)容,技巧和竅門:
成功! 現(xiàn)在檢查您的電子郵件以確認(rèn)您的訂閱。
翻譯自: https://www.javacodegeeks.com/2018/10/instrumenting-porcupine-prometheus-grafana.html
普羅米修斯使用es數(shù)據(jù)庫(kù)
總結(jié)
以上是生活随笔為你收集整理的普罗米修斯使用es数据库_用普罗米修斯和格拉法纳仪法来豪猪的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javafx 调用java_Java,J
- 下一篇: oracle连接外部数据库_使用Orac