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








