欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

初識Spring boot監(jiān)控

 更新時間:2018年03月23日 15:13:16   作者:大名Dean鼎  
這篇文章主要介紹了spring boot監(jiān)控的相關知識,文中給大家介紹了查看監(jiān)控數(shù)據(jù),數(shù)據(jù)可視化的相關知識,需要的朋友可以參考下

最近對devOps這個話題有點興趣,所以研究了一下monitor相關的開源項目,翻到medium上的一篇文章,而且實際項目中也曾看到devOps組的同事搭過類似的監(jiān)控,就想過把癮,了解一下監(jiān)控可視化。

被監(jiān)控服務配置

本地正好有spring-boot的項目,并且也依賴了jolokia(主要就是為了把JMX的mbean通過HTTP暴露出去)

項目配置也少不了

endpoints:
 enabled: true
 jmx:
  enabled: true
 jolokia:
  enabled: true
management:
 security:
  enabled: false

訪問一下URL看看是不是ok

http://localhost:8080/jolokia/read/org.springframework.boot:name=metricsEndpoint,type=Endpoint/Data

搭建監(jiān)控系統(tǒng)

如果能看到數(shù)據(jù),說明server端配置沒問題了,下面我們怎么搭建Telegraf + InfluxDB + Grafana呢,這個三個組件是這么配合的,Telegraf實際就是收集信息的,比如每隔10s訪問一次上面那個URL得到metrics,收集到的數(shù)據(jù)存到InfluxDB,然后Grafana做數(shù)據(jù)可視化。

但是如果純手動安裝實在太麻煩,求助萬能的github,找到一個非常棒的項目(https://github.com/samuelebistoletti/docker-statsd-influxdb-grafana), 直接fork然后修改一些配置就可以為自己的項目服務了。如果你不了解相關配置可以先直接run起來,然后通過ssh進去一探究竟。

ssh root@localhost -p 22022

配置方面,主要是要修改Telegraf的,因為它是對接不同項目的,你需要收集什么樣的信息,比如cpu,disk,net等等都要在Telegraf里配。簡單起見,我只設置了三個輸入。

# /etc/telegraf/telegraf.conf
[[inputs.jolokia]]
 context = "/jolokia"
[[inputs.jolokia.servers]]
 name = "springbootapp"
 host = "{app ip address}"
 port = "8080"
[[inputs.jolokia.metrics]]
 name = "metrics"
 mbean = "org.springframework.boot:name=metricsEndpoint,type=Endpoint"
 attribute = "Data"
[[inputs.jolokia.metrics]]
 name = "tomcat_max_threads"
 mbean = "Tomcat:name=\"http-nio-8080\",type=ThreadPool"
 attribute = "maxThreads"
[[inputs.jolokia.metrics]]
 name = "tomcat_current_threads_busy"
 mbean = "Tomcat:name=\"http-nio-8080\",type=ThreadPool"
 attribute = "currentThreadsBusy"

其實就是spring-boot標準的metrics以及tomcat的Threads。

完成之后重啟服務/etc/init.d/telegraf restart

查看監(jiān)控數(shù)據(jù)

我們訪問InfluxDB看看有數(shù)據(jù)了沒有http://localhost:3004/,切換數(shù)據(jù)庫到Telegraf。輸入以下命令試試吧

SHOW MEASUREMENTS
SELECT * FROM jolokia
SELECT * FROM cpu
SELECT * FROM mem
SELECT * FROM diskio

比如輸入SELECT * FROM jolokia就能看到spring-boot暴露了哪些數(shù)據(jù),從time列也可以看出Telegraf是每隔10s收集一次,太頻繁了對server也是壓力。

上面基本涵蓋了cpu,內(nèi)存和存儲的一些metrics。

其實也可以配置網(wǎng)絡相關的,感興趣的可以看官方的telegraf.conf,里面有配置[[inputs.net]]的例子。

數(shù)據(jù)可視化

數(shù)據(jù)有了,下一步就是可視化。

按照Github上面說的進入http://localhost:3003/,

Using the wizard click on Add data source
Choose a name for the source and flag it as Default
Choose InfluxDB as type
Choose direct as access
Fill remaining fields as follows and click on Add without altering other fields
Url: http://localhost:8086
Database: telegraf
User: telegraf
Password: telegraf

添加好InfluxDB后,新建一個Dashboard,然后快速的ADD幾個Graph來。

為了演示,我添加了三個,分別使用下面三組查詢語句來渲染出三張圖表

SELECT MEAN(usage_system) + MEAN(usage_user) AS cpu_total FROM cpu WHERE $timeFilter GROUP BY time($interval)
SELECT mean("total") as "total" FROM "mem" WHERE $timeFilter GROUP BY time($interval) fill(null)
SELECT mean("used") as "used" FROM "mem" WHERE $timeFilter GROUP BY time($interval) fill(null)
SELECT mean("metrics_heap.used") as "heap_usage" FROM "jolokia" WHERE $timeFilter GROUP BY time($interval) fill(null)

第一張是CPU占用率;第二張是內(nèi)存占用情況,綠線是Total,黃線是Used;第三張是jolokia提供的jvm heap的使用,可以到看到GC的情況。

剛才還配置了Tomcat的收集,想看Tomcat的Thread情況也是妥妥的。

SELECT mean("tomcat_max_threads") FROM "jolokia" WHERE $timeFilter GROUP BY time($interval) fill(null)
SELECT mean("tomcat_current_threads_busy") FROM "jolokia" WHERE $timeFilter GROUP BY time($interval) fill(null)

小結

以上所述是小編給大家介紹的Spring boot監(jiān)控,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • Spring Boot中使用activiti的方法教程(一)

    Spring Boot中使用activiti的方法教程(一)

    最近一直研究springboot,下面這篇文章主要給大家介紹了關于Spring Boot中使用activiti的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-08-08
  • Java實現(xiàn)簡單棋盤存檔和讀取功能

    Java實現(xiàn)簡單棋盤存檔和讀取功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單棋盤存檔和讀取功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 基于Mybatis映射的一點心得(分享)

    基于Mybatis映射的一點心得(分享)

    下面小編就為大家?guī)硪黄贛ybatis映射的一點心得(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 一篇文章帶你深入了解Java異常

    一篇文章帶你深入了解Java異常

    本篇文章主要介紹了java異常處理機制及應用,異常處理機制是Java語言的一大特色。從異常處理的機制、異常處理的方法、異常處理的原則等方面介紹Java語言的異常處理技術,有興趣的可以了解一下
    2021-08-08
  • springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法

    springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法

    這篇文章主要介紹了springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn)

    IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn)

    本文主要介紹了IDEA2023 Maven3.9.1+Tomcat10.1.8配置并搭建Servlet5.0的框架實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java Socket編程實現(xiàn)簡單的問候服務

    Java Socket編程實現(xiàn)簡單的問候服務

    這篇文章主要為大家介紹了Java Socket編程實現(xiàn)簡單的問候服務,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 一文詳解Java如何優(yōu)雅地判斷對象是否為空

    一文詳解Java如何優(yōu)雅地判斷對象是否為空

    這篇文章主要給大家介紹了關于Java如何優(yōu)雅地判斷對象是否為空的相關資料,在Java中可以使用以下方法優(yōu)雅地判斷一個對象是否為空,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • java web開發(fā)之購物車功能實現(xiàn)示例代碼

    java web開發(fā)之購物車功能實現(xiàn)示例代碼

    這篇文章主要介紹了java web開發(fā)之購物車功能實現(xiàn)示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 詳解消息隊列及RabbitMQ部署和使用

    詳解消息隊列及RabbitMQ部署和使用

    消息隊列是最古老的中間件之一,從系統(tǒng)之間有通信需求開始,就自然產(chǎn)生了消息隊列。本文告訴什么是消息隊列,為什么需要消息隊列,常見的消息隊列有哪些,RabbitMQ的部署和使用
    2021-09-09

最新評論