Skip to content

Commit 9dba08a

Browse files
committed
docs(): add doc
1 parent 7423093 commit 9dba08a

2 files changed

Lines changed: 24 additions & 7 deletions

File tree

57.2 KB
Loading

docs/zh/client/java-sdk-user-guide.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -419,15 +419,14 @@ apollo.client.monitor.jmx.enabled = true
419419
apollo.client.monitor.exception-queue-size= 30
420420

421421
#4.指定导出指标数据使用的对应监控系统的Exporter类型,如引入apollo-plugin-client-prometheus则可填写prometheus进行启用,
422-
#可填配置取决于用户引入的MetricsExporter的SPI
422+
# 取决于SPI MetricsExporter的实现
423423
apollo.client.monitor.external.type= prometheus
424424

425425
#5.指定Exporter从Monitor中导出状态信息转为指标数据的频率,默认为10秒导出一次,
426426
apollo.client.monitor.external.export-period= 20
427427
```
428428

429429

430-
=======
431430
#### 1.2.4.10 ConfigMap缓存设置
432431

433432
> 适用于2.4.0及以上版本
@@ -1427,7 +1426,7 @@ interface是`com.ctrip.framework.apollo.spi.ConfigServiceLoadBalancerClient`。
14271426
## 7.2 指标输出到Prometheus
14281427
> 适用于2.4.0及以上版本
14291428

1430-
2.4.0版本及以上的java客户端中,增加了指标收集,导出的支持,默认支持Prometheus,用户可以自行扩展接入不同的监控系统
1429+
可支持导出指标到Prometheus,或者基于SPI编写不同的实现来接入不同的监控系统
14311430

14321431
引入客户端插件
14331432
```xml
@@ -1548,14 +1547,20 @@ apollo_client_thread_pool_completed_task_count{thread_pool_name="AbstractConfig"
15481547
## 7.3 指标输出到自定义监控系统
15491548
> 适用于2.4.0及以上版本
15501549

1551-
需要写1Exporter, 继承AbstractApolloClientMetricsExporter, 并实现里面的
1550+
用户需要自行编写MetricsExporter, 继承AbstractApolloClientMetricsExporter, 实现里面的
15521551
doInit (初始化方法),
15531552
isSupport (external-type配置调用方法),
15541553
registerOrUpdateCounterSample (注册更新Counter指标方法),
15551554
registerOrUpdateGaugeSample (注册更新Gauge指标方法),
15561555
response (导出所需类型指标数据方法)
1556+
并配置相关SPI文件
15571557

1558-
### skyWalking为例
1558+
MetricsExporter加载流程图
1559+
![Exporter load by apollo client](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/apollo-client-monitor-exporter-load.jpg)
1560+
1561+
1562+
1563+
### 7.3.1 SkyWalking案例
15591564
通过配置
15601565
```properties
15611566
apollo.client.monitor.enabled=true
@@ -1566,7 +1571,8 @@ apollo.client.monitor.external.type=skywalking
15661571

15671572
创建SkyWalkingMetricsExporter类,继承AbstractApolloClientMetricsExporter
15681573

1569-
继承后大致代码如下
1574+
继承后大致代码如下
1575+
注意: 样例演示,切勿直接到生产直接使用,请根据公司内具体情况来实现
15701576

15711577
```java
15721578
public class SkyWalkingMetricsExporter extends AbstractApolloClientMetricsExporter {
@@ -1660,7 +1666,9 @@ public void init(List<ApolloClientMonitorEventListener> collectors, long collect
16601666
<artifactId>apm-toolkit-micrometer-1.10</artifactId>
16611667
</dependency>
16621668
```
1663-
根据Micrometer的机制初始化SkywalkingMeterRegistry,以及一些map用于存储指标数据
1669+
根据Micrometer的机制初始化SkywalkingMeterRegistry
1670+
以及一些map(请注意可能的OOM问题)用于存储指标数据
1671+
16641672
```java
16651673
private static final String SKYWALKING = "skywalking";
16661674
private SkywalkingMeterRegistry registry;
@@ -1747,4 +1755,13 @@ public String response() {
17471755
}
17481756
```
17491757

1758+
最后在项目目录下resources/META-INF/services编写对应的spi文件,告诉框架来加载这个类
1759+
文件名为com.ctrip.framework.apollo.monitor.internal.exporter.ApolloClientMetricsExporter
1760+
```text
1761+
your.package.SkyWalkingMetricsExporter
1762+
```
17501763
至此,已经将Client的指标数据接入SkyWalking
1764+
1765+
### 7.3.2 Prometheus案例
1766+
1767+
[PrometheusApolloClientMetricsExporter.java](https://github.com/apolloconfig/apollo-java/blob/main/apollo-plugin/apollo-plugin-client-prometheus/src/main/java/com/ctrip/framework/apollo/monitor/internal/exporter/impl/PrometheusApolloClientMetricsExporter.java)

0 commit comments

Comments
 (0)