網(wǎng)上資料不多,簡(jiǎn)單記錄一下接入elk并實(shí)現(xiàn)監(jiān)控服務(wù)接口tp99/qps的方法。總體思路就是通過(guò)logstash將服務(wù)日志收集到elk,并構(gòu)造特殊的日志將服務(wù)接口名稱以及耗時(shí)上傳到elk,最后通過(guò)elk面板設(shè)置,將監(jiān)控?cái)?shù)據(jù)篩選并展示出來(lái)。
elk的搭建過(guò)程略過(guò)
-
通過(guò)AOP統(tǒng)計(jì)服務(wù)接口名稱和耗時(shí),并放入MDC。這里是將接口名稱以及耗時(shí)加入到MDC,隨后立即打印一下log,即可將信息通過(guò)logstash上傳到elk。最后一定要對(duì)MDC進(jìn)行clear,因?yàn)榻涌跀?shù)據(jù)已完成上傳,防止MDC數(shù)據(jù)影響其他無(wú)關(guān)日志。
image.png -
配置logback-spring.xml,通過(guò)logstash的日志appender,即可將服務(wù)日志都上傳到elk。通過(guò)使用includeMdcKeyName來(lái)將MDC中的kv(包含接口名稱和耗時(shí))添加到日志中
image.png elk中配置對(duì)應(yīng)的索引略過(guò)
-
elk中配置tp99
創(chuàng)建數(shù)據(jù)面板
過(guò)濾監(jiān)控?cái)?shù)據(jù)
設(shè)置xy軸
設(shè)置xy軸
按照方法名分組
效果圖 -
elk中配置qps。和tp99類似,只是y軸不同
image.png