Skip to content

Commit 191a005

Browse files
authored
enable linux os metrics (#38)
- 增加 linux os 的metrics的采集和上报; - 优化主动上报时逻辑,优化连接使用; - 其他修复若干;
1 parent 87c4605 commit 191a005

44 files changed

Lines changed: 841 additions & 433 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
[English Document](./README_EN.md)
99

10-
访问 [WIKI](https://github.com/alipay/sofa-lookout/wiki) 查看完整的文档使用指南。
10+
访问 [WIKI](http://www.sofastack.tech/sofa-lookout/docs/Home) 查看完整的文档使用指南。
1111

1212
SOFALookout 是一个利用多维度的 metrics 对目标系统进行度量和监控的项目。SOFALookout 的多维度 metrics 参考[Metrics2.0 标准](http://metrics20.org/)。SOFALookout 项目分为客户端部分与服务器端部分。
1313

client/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ SOFALookout Client 项目支持 Maven 3.2.5+,JDK 6+ 进行编译。
1010

1111
## 2. API 埋点需知
1212

13-
lookout-api 支持被单独依赖和使用,方便植入您的项目代码,收集需要的 metrics,更多信息参考 [WIKI 文档](https://github.com/alipay/sofa-lookout/wiki)
13+
lookout-api 支持被单独依赖和使用,方便植入您的项目代码,收集需要的 metrics,更多信息参考 [WIKI 文档](http://www.sofastack.tech/sofa-lookout/docs/Home)
1414

1515
## 3. 扩展能力
1616

@@ -49,4 +49,4 @@ lookout 客户端提供了 SPI 机制(只需要实现 `com.alipay.lookout.spi.
4949

5050
## 6.如何使用
5151

52-
参考 [WIKI 文档](https://github.com/alipay/sofa-lookout/wiki)的快速开始和用户手册。
52+
参考 [WIKI 文档](http://www.sofastack.tech/sofa-lookout/docs/Home)的快速开始和用户手册。

client/lookout-client/src/main/java/com/alipay/lookout/client/AbstractLookoutClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ protected void addDefaultCommonTags(CommonTagsAccessor commonTagsAccessor) {
9191
if (StringUtils.isNotEmpty(zone)) {
9292
commonTagsAccessor.setCommonTag("zone", zone);
9393
}
94-
//Ant cloud middleware instanceId
94+
//instanceId
9595
String instanceId = System.getProperty(INSTANCE_ID_NAME);
9696
if (StringUtils.isNotEmpty(instanceId)) {
9797
commonTagsAccessor.setCommonTag("instance_id", instanceId);

client/lookout-client/src/main/java/com/alipay/lookout/client/DefaultLookoutClient.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@
1818

1919
import com.alipay.lookout.api.Lookout;
2020
import com.alipay.lookout.api.MetricRegistry;
21+
import com.alipay.lookout.core.config.MetricConfig;
2122
import com.alipay.lookout.remote.step.LookoutRegistry;
2223

24+
import static com.alipay.lookout.core.config.LookoutConfig.LOOKOUT_EXPORTER_ENABLE;
25+
2326
/**
2427
* Created by kevin.luy@alipay.com on 2017/10/4.
2528
*/
@@ -44,7 +47,12 @@ public synchronized void addRegistry(MetricRegistry registry) {
4447
registry.registerExtendedMetrics();
4548
}
4649
super.addRegistry(registry);
50+
4751
if (registry instanceof LookoutRegistry) {
52+
MetricConfig config = ((LookoutRegistry) registry).getConfig();
53+
if (!config.getBoolean(LOOKOUT_EXPORTER_ENABLE, false)) {
54+
return;
55+
}
4856
try {
4957
setMetricsHttpExporter(PollerUtils.exportHttp((LookoutRegistry) registry));
5058
} catch (Exception e) {

client/lookout-client/src/main/java/com/alipay/lookout/client/SimpleLookoutClient.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929

3030
import java.util.concurrent.atomic.AtomicInteger;
3131

32+
import static com.alipay.lookout.core.config.LookoutConfig.LOOKOUT_EXPORTER_ENABLE;
33+
3234
/**
3335
* 与 @see DefaultLookoutClient 相比,SimpleLookoutClient限制更严格:
3436
* 1.所有的Registry需要预先设置!
@@ -78,6 +80,9 @@ public SimpleLookoutClient(String appName, LookoutConfig config, MetricRegistry.
7880
registry.registerExtendedMetrics();
7981
super.addRegistry(registry);
8082
if (registry instanceof LookoutRegistry) {
83+
if (!lookoutConfig.getBoolean(LOOKOUT_EXPORTER_ENABLE, false)) {
84+
return;
85+
}
8186
try {
8287
setMetricsHttpExporter(PollerUtils.exportHttp((LookoutRegistry) registry));
8388
} catch (Exception e) {

client/lookout-common/src/main/java/com/alipay/lookout/common/utils/PriorityTagUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static PRIORITY resolve(Iterable<Tag> tags) {
3636
String value = Utils.getTagValue(tags, TAG_PRIORITY_KEY);
3737
if (value != null) {
3838
for (PRIORITY p : PRIORITY.values()) {
39-
if (p.name().equals(value)) {
39+
if (p.name().equalsIgnoreCase(value)) {
4040
return p;
4141
}
4242
}

client/lookout-common/src/main/resources/com/alipay/lookout/log/log4j2/log-conf.xml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,6 @@
3535
</Policies>
3636
</RollingFile>
3737

38-
<RollingFile name="ANTEVENTCONTEXT-APPENDER" fileName="${LOOKOUT_LOG_PATH}/lookout/ant-biz-stat.log" append="true"
39-
filePattern="${LOOKOUT_LOG_PATH}/lookout/ant-biz-stat-%d{yyyy-MM-dd}.log">
40-
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
41-
<PatternLayout charset="${LOOKOUT_FILE_ENCODING}">
42-
<pattern>%d %-5p %-32t - %m%n</pattern>
43-
</PatternLayout>
44-
<Policies>
45-
<!-- 按天分日志文件:重要的是 filePattern 配置到按照天 -->
46-
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
47-
</Policies>
48-
</RollingFile>
4938

5039
</appenders>
5140

@@ -54,10 +43,5 @@
5443
<appender-ref ref="ROOT-APPENDER"/>
5544
<appender-ref ref="ERROR-APPENDER"/>
5645
</root>
57-
58-
<logger name="ANTEVENTCONTEXT-LOG" value="INFO" additivity="false">
59-
<appender-ref ref="ANTEVENTCONTEXT-APPENDER"/>
60-
<appender-ref ref="ERROR-APPENDER" />
61-
</logger>
6246
</loggers>
6347
</configuration>

client/lookout-common/src/test/java/com/alipay/lookout/common/utils/PriorityTagUtilTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.alipay.lookout.api.BasicTag;
2020
import com.alipay.lookout.api.PRIORITY;
2121
import com.alipay.lookout.api.Tag;
22+
import com.alipay.lookout.common.LookoutConstants;
2223
import org.junit.Assert;
2324
import org.junit.Test;
2425

@@ -40,6 +41,14 @@ public void testResolveHigh() {
4041
Assert.assertEquals(PRIORITY.HIGH, PriorityTagUtil.resolve(tags));
4142
}
4243

44+
@Test
45+
public void testResolveHigh2() {
46+
List<Tag> tags = new ArrayList<Tag>();
47+
tags.add(new BasicTag("k1", "v1"));
48+
tags.add(LookoutConstants.HIGH_PRIORITY_TAG);
49+
Assert.assertEquals(PRIORITY.HIGH, PriorityTagUtil.resolve(tags));
50+
}
51+
4352
@Test
4453
public void testResolveNothing() {
4554
List<Tag> tags = new ArrayList<Tag>();

client/lookout-core/src/main/java/com/alipay/lookout/core/DefaultDistributionSummary.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void record(long amount) {
5454
public Indicator measure() {
5555
long now = clock.wallTime();
5656
return new Indicator(now, id).addMeasurement(Statistic.count.name(), count.get())
57-
.addMeasurement(Statistic.count.name(), totalAmount.get());
57+
.addMeasurement(Statistic.totalAmount.name(), totalAmount.get());
5858
}
5959

6060
@Override

client/lookout-core/src/main/java/com/alipay/lookout/core/config/LookoutConfig.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,17 @@ public final class LookoutConfig extends MapConfiguration implements MetricConfi
4040
public static final String LOOKOUT_AUTOPOLL_OS_METRIC_IGNORE = "lookout.autopoll.os.ignore";
4141
public static final String LOOKOUT_AGENT_SERVER_PORT = "lookout.agent.server.port";
4242
public static final String LOOKOUT_ANT_EVENT_LOG_ENABLE = "lookout.ant.event.log.enable";
43+
/**
44+
* 多久没有请求拉取数据就进入idle状态
45+
*/
46+
public static final String LOOKOUT_EXPORTER_IDLE_SECONDS = "lookout.exporter.idle.seconds";
47+
public static final String LOOKOUT_EXPORTER_ENABLE = "lookout.exporter.enable";
4348
public static final String LOOKOUT_EXPORTER_ACCESS_TOKEN = "lookout.exporter.access.token";
4449

4550
public static final String LOOKOUT_PROMETHEUS_EXPORTER_SERVER_PORT = "lookout.prometheus.exporter.server.port";
4651
// default value
4752
public static final int DEFAULT_WEB_SERVER_PORT = 8083;
53+
public static final int DEFAULT_HTTP_EXPORTER_PORT = 19399;
4854
public static final int DEFAULT_PROMETHEUS_EXPORTER_SERVER_PORT = 9494;
4955
public static final String APP_NAME = "app.name";
5056
public static int DEFAULT_REPORT_BATCH_SIZE = 1700;
@@ -55,11 +61,6 @@ public final class LookoutConfig extends MapConfiguration implements MetricConfi
5561
*/
5662
// public static final String POLLER_EXPORTER_ENABLED = "lookout.poller.enabled";
5763

58-
/**
59-
* 多久没有请求拉取数据就进入idle状态
60-
*/
61-
public static final String POLLER_EXPORTER_IDLE_SECONDS = "lookout.poller.exporter.idle.seconds";
62-
6364
/**
6465
* priority->Millsecond
6566
**/

0 commit comments

Comments
 (0)