summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfangshunjian <[email protected]>2021-08-28 18:12:56 +0800
committerfangshunjian <[email protected]>2021-08-28 18:12:56 +0800
commit4fcd2d803f7509a42c097a3cd5b8ee3beda4d6d6 (patch)
treee582511bcac3cd6d55d5cf6aaf478cfd241b7c67 /src
parent27dc7bc7b32c6a17dde2635776f369bec1e3dccc (diff)
feat: 增加 resttemplate 监控
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/geedge/confagent/config/RestTemplateConfig.java19
-rw-r--r--src/main/resources/application.yml17
2 files changed, 26 insertions, 10 deletions
diff --git a/src/main/java/net/geedge/confagent/config/RestTemplateConfig.java b/src/main/java/net/geedge/confagent/config/RestTemplateConfig.java
index 899af73..c45acc0 100644
--- a/src/main/java/net/geedge/confagent/config/RestTemplateConfig.java
+++ b/src/main/java/net/geedge/confagent/config/RestTemplateConfig.java
@@ -17,6 +17,7 @@ import org.apache.http.message.BasicHeaderElementIterator;
import org.apache.http.protocol.HTTP;
import org.apache.http.protocol.HttpContext;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
@@ -61,8 +62,10 @@ public class RestTemplateConfig {
private int keepAliveTime;
@Bean
- public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
- return new RestTemplate(factory);
+ public RestTemplate restTemplate(RestTemplateBuilder builder, ClientHttpRequestFactory requestFactory) {
+ RestTemplate restTemplate = builder.build();
+ restTemplate.setRequestFactory(requestFactory);
+ return restTemplate;
}
@Bean
@@ -85,11 +88,8 @@ public class RestTemplateConfig {
.setConnectionRequestTimeout(connectionRequestTimeout)// 从连接池中获取连接的超时时间,超过该时间未拿到可用连接,会抛出org.apache.http.conn.ConnectionPoolTimeoutException:Timeout
// waiting for connection from pool
.build();
- return HttpClientBuilder.create()
- .setDefaultRequestConfig(requestConfig)
- .setConnectionManager(connectionManager)
- .setKeepAliveStrategy(keepAliveStrategy)
- .build();
+ return HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).setConnectionManager(connectionManager)
+ .setKeepAliveStrategy(keepAliveStrategy).build();
}
/**
@@ -103,7 +103,8 @@ public class RestTemplateConfig {
@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
// Honor 'keep-alive' header
- HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE));
+ HeaderElementIterator it = new BasicHeaderElementIterator(
+ response.headerIterator(HTTP.CONN_KEEP_ALIVE));
while (it.hasNext()) {
HeaderElement he = it.nextElement();
String param = he.getName();
@@ -115,7 +116,7 @@ public class RestTemplateConfig {
}
}
}
- return keepAliveTime*1000;
+ return keepAliveTime * 1000;
}
};
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index b934c7d..65cc21e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -22,4 +22,19 @@ confagent:
auth: false
cortex:
query:
- auth: false \ No newline at end of file
+ auth: false
+management:
+ endpoints:
+ web:
+ exposure:
+ include: '*' # [info,health,heapdump,threaddump,env,mappings,prometheus] #允许访问的endpoint:*所有,info,health,beans,env,loggers等
+ exclude: beans
+ base-path: /actuator # http访问路径,默认:actuator
+ path-mapping:
+ prometheus: /prometheus
+ endpoint:
+ health:
+ show-details: always # always允许访问详细数据
+ metrics:
+ tags:
+ application: nz-agent # prometheus application tag ,标志一个应用