diff options
| author | fangshunjian <[email protected]> | 2021-08-28 18:12:56 +0800 |
|---|---|---|
| committer | fangshunjian <[email protected]> | 2021-08-28 18:12:56 +0800 |
| commit | 4fcd2d803f7509a42c097a3cd5b8ee3beda4d6d6 (patch) | |
| tree | e582511bcac3cd6d55d5cf6aaf478cfd241b7c67 | |
| parent | 27dc7bc7b32c6a17dde2635776f369bec1e3dccc (diff) | |
feat: 增加 resttemplate 监控
| -rw-r--r-- | pom.xml | 8 | ||||
| -rw-r--r-- | src/main/java/net/geedge/confagent/config/RestTemplateConfig.java | 19 | ||||
| -rw-r--r-- | src/main/resources/application.yml | 17 |
3 files changed, 34 insertions, 10 deletions
@@ -52,6 +52,14 @@ <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + <dependency> + <groupId>io.micrometer</groupId> + <artifactId>micrometer-registry-prometheus</artifactId> + </dependency> <!-- 添加 XJar 依赖 --> <!-- <dependency> --> 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 ,标志一个应用 |
