摘要:作者在基于微服務的架構時,一直苦于尋找一個可靠的性能監(jiān)控平臺,后在大神的推薦下,詳細研究了點評,其滿足對應用性能監(jiān)控的需求包含性能,響應性能等,將踩過的坑進行分享一下。
作者在基于Spring Cloud微服務的架構時,一直苦于尋找一個可靠的性能監(jiān)控平臺,后在大神的推薦下,詳細研究了點評CAT,其滿足對應用性能監(jiān)控的需求(包含SQL性能,URL響應性能等),將踩過的坑進行分享一下。
下載cat 3.0并啟動由于微服務集群并不是很龐大,且服務器資源有限,所以暫時只采用了單點部署的CAT,集群部署和使用請參考CAT的github,這里暫不做分享
配置系統(tǒng)的JDK,以及下載對應的tomcat,本人使用的是JDK8和tomcat8.5.x版本(JDK的配置和tomcat的下載不做詳細說明)CAT下載地址http://unidal.org/nexus/servi...
修改tomcat的server.xml使其支持中文的URL
創(chuàng)建CAT使用的文件夾,并修改其配置
mkdir /data chmod -R 777 /data/
修改CAT配置文件,創(chuàng)建/data/appdatas/cat/client.xml并修改如下
修改cat的數(shù)據(jù)庫配置文件/data/appdatas/cat/datasource.xml
3 1s 10m 1000 com.mysql.jdbc.Driver root root
運行CAT的SQL腳本初始化數(shù)據(jù)庫
將CAT的war重命名為cat.war放到tomcat的webapps下,并啟動tomcat(默認用戶名密碼admin:admin),即可通過服務器IP:8080/cat進行訪問
springboot集成cat client
maven引入cat client
com.dianping.cat cat-client 3.0.0
使用SPI方式配置cat client
其中com.dianping.cat.configuration.ClientConfigProvider文件中填寫完成實現(xiàn)類名稱,實現(xiàn)類代碼如下:
public class CatClientConfigProvider implements ClientConfigProvider { @Override public ClientConfig getClientConfig() { Listservers = Lists.newArrayList(); //cat 服務器地址,多個則需要使用,分割 String catServersStr = SpringUtils.getProperties("cat.servers"); if (catServersStr != null) { String[] catServers = catServersStr.split(","); for (String catServer : catServers) { servers.add(new Server(catServer)); } //domain直接去springboot的application name String domain = SpringUtils.getProperties("spring.application.name"); ClientConfig config = new ClientConfig(); config.setServers(servers); config.setDomain(domain); return config; } return null; } }
app.properties文件中填寫app.name=應用名稱
集成插件使用cat client,插件位置
我們分別使用了mybatis中的sql跟蹤,log4j2的CatAppender,springboot的CatFilter,context中的結合feign對鏈路進行跟蹤(cat鏈路跟蹤不是一個完整的功能,如果對鏈路跟蹤沒有很高的要求可以進行使用)
注意:如果項目中使用了Hystrix,因為cat使用ThreadLocal保存跟蹤的ID,所以如果需要保證鏈路跟蹤的正確性,需要將隔離策略改為SEMAPHORE
CAT基本使用Problem非常重要這里顯示應用的報錯,慢SQL,慢URL等,也是作者最常用的模塊,其他功能可以參考Documents進行使用,另外作者最近使用Alert功能,能將告警信息發(fā)送至釘釘,第一時間響應問題,還是很嗨的!當然需要自己實現(xiàn)一個類似于webhook的服務。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75017.html
摘要:今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發(fā)。 今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發(fā)。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...
摘要:今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發(fā)。 今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發(fā)。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
閱讀 3138·2021-11-24 10:24
閱讀 2930·2021-11-11 16:54
閱讀 3066·2021-09-22 15:55
閱讀 2027·2019-08-30 15:44
閱讀 1901·2019-08-29 18:41
閱讀 2761·2019-08-29 13:43
閱讀 3053·2019-08-29 12:51
閱讀 1171·2019-08-26 12:19