亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring boot監控的示例分析

發布時間:2021-09-03 15:05:26 來源:億速云 閱讀:127 作者:小新 欄目:編程語言

這篇文章主要介紹Spring boot監控的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

被監控服務配置

本地正好有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

搭建監控系統

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

但是如果純手動安裝實在太麻煩,求助萬能的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

查看監控數據

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

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

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

Spring boot監控的示例分析

上面基本涵蓋了cpu,內存和存儲的一些metrics。

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

數據可視化

數據有了,下一步就是可視化。

按照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占用率;第二張是內存占用情況,綠線是Total,黃線是Used;第三張是jolokia提供的jvm heap的使用,可以到看到GC的情況。

Spring boot監控的示例分析

剛才還配置了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監控的示例分析

以上是“Spring boot監控的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宕昌县| 孝昌县| 石阡县| 南京市| 临夏县| 丹寨县| 通许县| 林口县| 丰宁| 秦安县| 贞丰县| 寿光市| 西峡县| 文安县| 堆龙德庆县| 平谷区| 平乐县| 高清| 宣恩县| 淳化县| 黎城县| 濮阳市| 丁青县| 嫩江县| 湖口县| 汨罗市| 白玉县| 南溪县| 洱源县| 松潘县| 香格里拉县| 恭城| 且末县| 西安市| 张家界市| 罗定市| 临朐县| 威海市| 绥中县| 盐池县| 雷州市|