mirror of
https://github.com/dromara/hertzbeat.git
synced 2026-09-17 18:19:02 +00:00
Compare commits
53
Commits
mvnd
..
fix-chinese
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b2e66df65 | ||
|
|
ea5b678af5 | ||
|
|
fa24e5000f | ||
|
|
f242ead7a9 | ||
|
|
5402437eac | ||
|
|
ce61c7d456 | ||
|
|
320766a48e | ||
|
|
efb2ac02df | ||
|
|
06c939c810 | ||
|
|
e56823b240 | ||
|
|
3b18d1ddaf | ||
|
|
d44fe43eb0 | ||
|
|
a221ddfba2 | ||
|
|
8e31a3147b | ||
|
|
d2f9a56fe7 | ||
|
|
a0b41dc7bb | ||
|
|
3f572a1ddc | ||
|
|
767deccee5 | ||
|
|
9221e2f6c1 | ||
|
|
0a36b3df90 | ||
|
|
f3202133d8 | ||
|
|
6ee458c521 | ||
|
|
cbc1caf4ac | ||
|
|
86db630fc7 | ||
|
|
145c4d1d5e | ||
|
|
0217cbb7f9 | ||
|
|
9f5df95f29 | ||
|
|
0f955019bf | ||
|
|
129b6282d3 | ||
|
|
36c5d8f518 | ||
|
|
de8a473e24 | ||
|
|
ffc4641dc9 | ||
|
|
d0cb9f8bf3 | ||
|
|
0d4ff33f19 | ||
|
|
86f40e5e15 | ||
|
|
dbbbc045d4 | ||
|
|
b0fdd5e11d | ||
|
|
9c5ea20b15 | ||
|
|
7a74f80906 | ||
|
|
ee32a890eb | ||
|
|
ec1c04194b | ||
|
|
55d8dfdede | ||
|
|
918073dca7 | ||
|
|
2defaecd93 | ||
|
|
641ba47f4c | ||
|
|
ccbc2151ae | ||
|
|
1cb919a301 | ||
|
|
7351a03c81 | ||
|
|
26c3a802d1 | ||
|
|
47dbe2fd2a | ||
|
|
f4943e9d89 | ||
|
|
1f6614d1a1 | ||
|
|
4a96c02b9a |
@@ -46,7 +46,7 @@ jobs:
|
||||
- uses: ./script/ci/github-actions/setup-deps
|
||||
|
||||
- name: Build with Maven
|
||||
run: mvnd clean -B package -Prelease -Dmaven.test.skip=false --file pom.xml
|
||||
run: mvn clean -B package -Prelease -Dmaven.test.skip=false --file pom.xml
|
||||
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@v4.0.1
|
||||
|
||||
+33
-37
@@ -25,8 +25,6 @@ import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Alert expression visitor implement
|
||||
@@ -34,9 +32,7 @@ import java.util.stream.Collectors;
|
||||
public class AlertExpressionEvalVisitor extends AlertExpressionBaseVisitor<List<Map<String, Object>>> {
|
||||
|
||||
private static final String THRESHOLD = "__threshold__";
|
||||
private static final String NAME = "__name__";
|
||||
private static final String VALUE = "__value__";
|
||||
private static final String TIMESTAMP = "__timestamp__";
|
||||
|
||||
private final QueryExecutor executor;
|
||||
private final CommonTokenStream tokens;
|
||||
@@ -88,26 +84,42 @@ public class AlertExpressionEvalVisitor extends AlertExpressionBaseVisitor<List<
|
||||
public List<Map<String, Object>> visitAndExpr(AlertExpressionParser.AndExprContext ctx) {
|
||||
List<Map<String, Object>> leftOperand = visit(ctx.left);
|
||||
List<Map<String, Object>> rightOperand = visit(ctx.right);
|
||||
List<Map<String, Object>> results = new ArrayList<>();
|
||||
|
||||
// build a hash set of the right-side tag collection
|
||||
Set<String> rightLabelsSet = rightOperand.stream()
|
||||
.filter(item -> item.get(VALUE) != null)
|
||||
.map(this::labelKey)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
// iterate over the left side, O(1) match
|
||||
for (Map<String, Object> leftItem : leftOperand) {
|
||||
Object leftVal = leftItem.get(VALUE);
|
||||
if (leftVal == null) {
|
||||
continue;
|
||||
Map<String, Object> leftMap = null;
|
||||
boolean leftMatch = false;
|
||||
Map<String, Object> rightMap = null;
|
||||
boolean rightMatch = false;
|
||||
for (Map<String, Object> item : leftOperand) {
|
||||
if (leftMap == null) {
|
||||
leftMap = item;
|
||||
}
|
||||
String labelKey = labelKey(leftItem);
|
||||
if (rightLabelsSet.contains(labelKey)) {
|
||||
results.add(new HashMap<>(leftItem));
|
||||
if (item.get(VALUE) != null) {
|
||||
leftMap = item;
|
||||
leftMatch = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return results;
|
||||
for (Map<String, Object> item : rightOperand) {
|
||||
if (rightMap == null) {
|
||||
rightMap = item;
|
||||
}
|
||||
if (item.get(VALUE) != null) {
|
||||
rightMap = item;
|
||||
rightMatch = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (leftMatch && rightMatch) {
|
||||
rightMap.putAll(leftMap);
|
||||
return new LinkedList<>(List.of(rightMap));
|
||||
} else if (leftMap != null) {
|
||||
leftMap.put(VALUE, null);
|
||||
return new LinkedList<>(List.of(leftMap));
|
||||
} else if (rightMap != null) {
|
||||
rightMap.put(VALUE, null);
|
||||
return new LinkedList<>(List.of(rightMap));
|
||||
}
|
||||
return new LinkedList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -315,20 +327,4 @@ public class AlertExpressionEvalVisitor extends AlertExpressionBaseVisitor<List<
|
||||
String script = text.substring(1, text.length() - 1);
|
||||
return executor.execute(script);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate tag key (excluding `__name__` and `__value__` and `__timestamp__`)
|
||||
*/
|
||||
private String labelKey(Map<String, Object> labelsMap) {
|
||||
if (null == labelsMap || labelsMap.isEmpty()) {
|
||||
return "-";
|
||||
}
|
||||
String key = labelsMap.entrySet().stream()
|
||||
.filter(e -> !e.getKey().equals(VALUE) && !e.getKey().equals(NAME) && !e.getKey().equals(TIMESTAMP))
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.map(e -> e.getKey() + "=" + (e.getValue() == null ? "" : e.getValue()))
|
||||
.collect(Collectors.joining(","));
|
||||
return key.isEmpty() ? "-" : key;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-111
@@ -320,11 +320,11 @@ class AlertExpressionEvalVisitorTest {
|
||||
List.of(new HashMap<>(Map.of("__value__", 250.0))));
|
||||
when(mockExecutor.execute("select min(response_time) from api_metrics where endpoint = '/api/users'")).thenReturn(
|
||||
List.of(new HashMap<>(Map.of("__value__", 50.0))));
|
||||
|
||||
|
||||
List<Map<String, Object>> result = evaluate("(select max(response_time) from api_metrics where endpoint = '/api/users') > 200");
|
||||
assertEquals(1, result.size());
|
||||
assertEquals(250.0, result.get(0).get("__value__"));
|
||||
|
||||
|
||||
result = evaluate("(select min(response_time) from api_metrics where endpoint = '/api/users') < 100");
|
||||
assertEquals(1, result.size());
|
||||
assertEquals(50.0, result.get(0).get("__value__"));
|
||||
@@ -473,115 +473,6 @@ class AlertExpressionEvalVisitorTest {
|
||||
assertEquals(80, result.get(0).get("__value__"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAndOpPromql() {
|
||||
String promql = "http_server_requests_seconds_count > 10 and http_server_requests_seconds_max > 5";
|
||||
|
||||
Map<String, Object> countValue1 = new HashMap<>() {
|
||||
{
|
||||
put("exception", "none");
|
||||
put("instance", "host.docker.internal:8989");
|
||||
put("__value__", 1307);
|
||||
put("method", "GET");
|
||||
put("__name__", "http_server_requests_seconds_count");
|
||||
put("__timestamp__", "1.750320922467E9");
|
||||
put("error", "none");
|
||||
put("job", "spring-boot-app");
|
||||
put("uri", "/actuator/prometheus");
|
||||
put("outcome", "SUCCESS");
|
||||
put("status", "200");
|
||||
}
|
||||
};
|
||||
|
||||
Map<String, Object> countValue2 = new HashMap<>() {
|
||||
{
|
||||
put("exception", "none");
|
||||
put("instance", "host.docker.internal:8989");
|
||||
put("__value__", 16);
|
||||
put("method", "GET");
|
||||
put("__name__", "http_server_requests_seconds_count");
|
||||
put("__timestamp__", "1.750320922467E9");
|
||||
put("error", "none");
|
||||
put("job", "spring-boot-app");
|
||||
put("uri", "/**");
|
||||
put("outcome", "SUCCESS");
|
||||
put("status", "200");
|
||||
}
|
||||
};
|
||||
|
||||
Map<String, Object> countValue3 = new HashMap<>() {
|
||||
{
|
||||
put("exception", "none");
|
||||
put("instance", "host.docker.internal:8989");
|
||||
put("__value__", 7);
|
||||
put("method", "GET");
|
||||
put("__name__", "http_server_requests_seconds_count");
|
||||
put("__timestamp__", "1.750320922467E9");
|
||||
put("error", "none");
|
||||
put("job", "spring-boot-app");
|
||||
put("uri", "/actuator/health");
|
||||
put("outcome", "SUCCESS");
|
||||
put("status", "200");
|
||||
}
|
||||
};
|
||||
|
||||
Map<String, Object> maxValue1 = new HashMap<>() {
|
||||
{
|
||||
put("exception", "none");
|
||||
put("instance", "host.docker.internal:8989");
|
||||
put("__value__", 10.007799125);
|
||||
put("method", "GET");
|
||||
put("__name__", "http_server_requests_seconds_max");
|
||||
put("__timestamp__", "1.750320922467E9");
|
||||
put("error", "none");
|
||||
put("job", "spring-boot-app");
|
||||
put("uri", "/actuator/prometheus");
|
||||
put("outcome", "SUCCESS");
|
||||
put("status", "200");
|
||||
}
|
||||
};
|
||||
|
||||
Map<String, Object> maxValue2 = new HashMap<>() {
|
||||
{
|
||||
put("exception", "none");
|
||||
put("instance", "host.docker.internal:8989");
|
||||
put("__value__", 10);
|
||||
put("method", "GET");
|
||||
put("__name__", "http_server_requests_seconds_count");
|
||||
put("__timestamp__", "1.750320922467E9");
|
||||
put("error", "none");
|
||||
put("job", "spring-boot-app");
|
||||
put("uri", "/**");
|
||||
put("outcome", "SUCCESS");
|
||||
put("status", "200");
|
||||
}
|
||||
};
|
||||
|
||||
Map<String, Object> maxValue3 = new HashMap<>() {
|
||||
{
|
||||
put("exception", "none");
|
||||
put("instance", "host.docker.internal:8989");
|
||||
put("__value__", 0);
|
||||
put("method", "GET");
|
||||
put("__name__", "http_server_requests_seconds_count");
|
||||
put("__timestamp__", "1.750320922467E9");
|
||||
put("error", "none");
|
||||
put("job", "spring-boot-app");
|
||||
put("uri", "/actuator/health");
|
||||
put("outcome", "SUCCESS");
|
||||
put("status", "200");
|
||||
}
|
||||
};
|
||||
|
||||
when(mockExecutor.execute("http_server_requests_seconds_count")).thenReturn(List.of(countValue1, countValue2, countValue3));
|
||||
when(mockExecutor.execute("http_server_requests_seconds_max")).thenReturn(List.of(maxValue1, maxValue2, maxValue3));
|
||||
List<Map<String, Object>> result = evaluate(promql);
|
||||
assertEquals(2, result.size());
|
||||
assertEquals(1307, result.get(0).get("__value__"));
|
||||
assertEquals(16, result.get(1).get("__value__"));
|
||||
}
|
||||
|
||||
|
||||
private List<Map<String, Object>> evaluate(String expression) {
|
||||
AlertExpressionLexer lexer = new AlertExpressionLexer(CharStreams.fromString(expression));
|
||||
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
||||
|
||||
+30
-23
@@ -17,6 +17,11 @@
|
||||
|
||||
package org.apache.hertzbeat.alert.service;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Cache;
|
||||
import org.antlr.v4.runtime.CommonTokenStream;
|
||||
import org.antlr.v4.runtime.tree.ParseTree;
|
||||
@@ -24,24 +29,17 @@ import org.apache.hertzbeat.alert.service.impl.DataSourceServiceImpl;
|
||||
import org.apache.hertzbeat.warehouse.db.QueryExecutor;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
/**
|
||||
* test case for {@link DataSourceService}
|
||||
*/
|
||||
class DataSourceServiceTest {
|
||||
|
||||
|
||||
private DataSourceServiceImpl dataSourceService;
|
||||
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
dataSourceService = new DataSourceServiceImpl();
|
||||
@@ -53,12 +51,12 @@ class DataSourceServiceTest {
|
||||
new HashMap<>(Map.of("__value__", 100.0, "timestamp", 1343554, "instance", "node1")),
|
||||
new HashMap<>(Map.of("__value__", 200.0, "timestamp", 1343555, "instance", "node2"))
|
||||
);
|
||||
|
||||
|
||||
QueryExecutor mockExecutor = Mockito.mock(QueryExecutor.class);
|
||||
Mockito.when(mockExecutor.support("promql")).thenReturn(true);
|
||||
Mockito.when(mockExecutor.execute(Mockito.anyString())).thenReturn(prometheusData);
|
||||
dataSourceService.setExecutors(List.of(mockExecutor));
|
||||
|
||||
|
||||
List<Map<String, Object>> result = dataSourceService.calculate("promql", "node_cpu_seconds_total > 150");
|
||||
assertEquals(2, result.size());
|
||||
assertNull(result.get(0).get("__value__"));
|
||||
@@ -298,36 +296,45 @@ class DataSourceServiceTest {
|
||||
@Test
|
||||
void calculate15() {
|
||||
List<Map<String, Object>> prometheusData1 = List.of(
|
||||
new HashMap<>(Map.of("__value__", 1))
|
||||
new HashMap<>(Map.of("__value__", 100.0, "timestamp", 1343554, "instance", "node1")),
|
||||
new HashMap<>(Map.of("__value__", 200.0, "timestamp", 1343555, "instance", "node2"))
|
||||
);
|
||||
List<Map<String, Object>> prometheusData2 = List.of(
|
||||
new HashMap<>(Map.of("__value__", 100.0, "timestamp", 1343554, "instance", "node1")),
|
||||
new HashMap<>(Map.of("__value__", 200.0, "timestamp", 1343555, "instance", "node2"))
|
||||
);
|
||||
|
||||
QueryExecutor mockExecutor = Mockito.mock(QueryExecutor.class);
|
||||
Mockito.when(mockExecutor.support("promql")).thenReturn(true);
|
||||
Mockito.when(mockExecutor.execute("count(node_cpu_seconds_total{mode=\"user\"} > 250)")).thenReturn(prometheusData1);
|
||||
Mockito.when(mockExecutor.execute("count(node_cpu_seconds_total{mode=\"idle\"} < 220 )")).thenReturn(new ArrayList<>());
|
||||
Mockito.when(mockExecutor.execute("node_cpu_seconds_total{mode=\"user\"}")).thenReturn(prometheusData1);
|
||||
Mockito.when(mockExecutor.execute("node_cpu_seconds_total{mode=\"idle\"}")).thenReturn(prometheusData2);
|
||||
dataSourceService.setExecutors(List.of(mockExecutor));
|
||||
|
||||
List<Map<String, Object>> result = dataSourceService.calculate("promql", "count(node_cpu_seconds_total{mode=\"user\"} > 250) > 0 and count(node_cpu_seconds_total{mode=\"idle\"} < 220 ) > 0");
|
||||
assertEquals(0, result.size());
|
||||
List<Map<String, Object>> result = dataSourceService.calculate("promql", "node_cpu_seconds_total{mode=\"user\"} > 250 and node_cpu_seconds_total{mode=\"idle\"} < 220");
|
||||
assertEquals(1, result.size());
|
||||
assertNull(result.get(0).get("__value__"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void calculate16() {
|
||||
List<Map<String, Object>> prometheusData1 = List.of(
|
||||
new HashMap<>(Map.of("__value__", 1))
|
||||
new HashMap<>(Map.of("__value__", 100.0, "timestamp", 1343554, "instance", "node1")),
|
||||
new HashMap<>(Map.of("__value__", 200.0, "timestamp", 1343555, "instance", "node2"))
|
||||
);
|
||||
List<Map<String, Object>> prometheusData2 = List.of(
|
||||
new HashMap<>(Map.of("__value__", 1))
|
||||
new HashMap<>(Map.of("__value__", 100.0, "timestamp", 1343554, "instance", "node1")),
|
||||
new HashMap<>(Map.of("__value__", 200.0, "timestamp", 1343555, "instance", "node2"))
|
||||
);
|
||||
|
||||
QueryExecutor mockExecutor = Mockito.mock(QueryExecutor.class);
|
||||
Mockito.when(mockExecutor.support("promql")).thenReturn(true);
|
||||
Mockito.when(mockExecutor.execute("count(node_cpu_seconds_total{mode=\"user\"} > 250)")).thenReturn(prometheusData1);
|
||||
Mockito.when(mockExecutor.execute("count(node_cpu_seconds_total{mode=\"idle\"} < 220 )")).thenReturn(prometheusData2);
|
||||
Mockito.when(mockExecutor.execute("node_cpu_seconds_total{mode=\"user\"}")).thenReturn(prometheusData1);
|
||||
Mockito.when(mockExecutor.execute("node_cpu_seconds_total{mode=\"idle\"}")).thenReturn(prometheusData2);
|
||||
dataSourceService.setExecutors(List.of(mockExecutor));
|
||||
|
||||
List<Map<String, Object>> result = dataSourceService.calculate("promql", "count(node_cpu_seconds_total{mode=\"user\"} > 250) > 0 and count(node_cpu_seconds_total{mode=\"idle\"} < 220 ) > 0");
|
||||
List<Map<String, Object>> result = dataSourceService.calculate("promql", "node_cpu_seconds_total{mode=\"user\"} > 50 and node_cpu_seconds_total{mode=\"idle\"} < 20");
|
||||
assertEquals(1, result.size());
|
||||
assertNotNull(result.get(0).get("__value__"));
|
||||
assertNull(result.get(0).get("__value__"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -453,7 +453,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 已分配内存
|
||||
en-US: Committed
|
||||
ja-JP: コミットメモリ
|
||||
ja-JP: コミットメモリー
|
||||
- field: init
|
||||
type: 0
|
||||
unit: MB
|
||||
|
||||
@@ -73,7 +73,7 @@ params:
|
||||
name:
|
||||
zh-CN: 启用HTTPS
|
||||
en-US: SSL
|
||||
ja-JP: SSL利用
|
||||
ja-JP: HTTPS利用
|
||||
type: boolean
|
||||
required: false
|
||||
defaultValue: false
|
||||
|
||||
@@ -232,7 +232,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 状态
|
||||
en-US: state
|
||||
ja-JP: 状態
|
||||
ja-JP: ステート
|
||||
type: 1
|
||||
- field: status
|
||||
i18n:
|
||||
|
||||
@@ -113,7 +113,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 概要
|
||||
en-US: Basic
|
||||
ja-JP: 基礎情報
|
||||
ja-JP: 基本情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 0
|
||||
|
||||
@@ -108,7 +108,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 基本信息
|
||||
en-US: Basic Info
|
||||
ja-JP: 基礎情報
|
||||
ja-JP: 基本情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 0
|
||||
@@ -170,7 +170,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 状态信息
|
||||
en-US: State Info
|
||||
ja-JP: 状態情報
|
||||
ja-JP: ステート情報
|
||||
priority: 1
|
||||
fields:
|
||||
- field: db_name
|
||||
@@ -367,7 +367,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 状态
|
||||
en-US: State
|
||||
ja-JP: 状態
|
||||
ja-JP: ステート
|
||||
- field: num
|
||||
type: 0
|
||||
i18n:
|
||||
|
||||
@@ -27,7 +27,7 @@ help:
|
||||
zh-CN: Hertzbeat 使用 <a class='help_module_content' href='https://hertzbeat.apache.org/docs/advanced/extend-snmp'> SNMP 协议</a> 对 华三交换机 的通用指标(可用性,系统信息,端口流量等)进行采集监控。<br>您可以点击 “<i>新建 华三通用交换机</i>” 并进行配置SNMP相关参数添加,或者选择“<i>更多操作</i>”,导入已有配置。
|
||||
en-US: HertzBeat uses <a class='help_module_content' href='https://hertzbeat.apache.org/docs/advanced/extend-snmp'> SNMP Protocol</a> to monitoring H3C Switch general performance metrics. <br>You can click the "<i>New H3C Switch</i>" button and config snmp params to add monitor or import an existing setup through the "<i>More Actions</i>" menu.
|
||||
zh-TW: Hertzbeat 使用 <a class='help_module_content' href='https://hertzbeat.apache.org/docs/advanced/extend-snmp'> SNMP 協議</a> 對 華三交換機 的通用指標(可用性,系統信息,端口流量等)進行采集監控。<br>您可以點擊 “<i>新建 華三通用交換機</i>” 並進行配置SNMP相關參數添加,或者選擇“<i>更多操作</i>”,導入已有配置。
|
||||
ja-JP: Hertzbeat は <a class='help_module_content' href='https://hertzbeat.apache.org/docs/advanced/extend-snmp'> SNMP プロトコルを介して</a> H3Cスイッチングハブの一般的なメトリック監視します。<br>「<i>新規 H3Cスイッチングハブ</i>」をクリックしてSNMPなどのパラメタを設定した後、新規することができます。
|
||||
ja-JP: Hertzbeat は <a class='help_module_content' href='https://hertzbeat.apache.org/docs/advanced/extend-snmp'> SNMP プロトコルを介して</a> H3Cスイッチングハブの一般的なメトリック監視します。<br>「<i>新規 シスコ・スイッチングハブ</i>」をクリックしてSNMPなどのパラメタを設定した後、新規することができます。
|
||||
helpLink:
|
||||
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/h3c_switch
|
||||
en-US: https://hertzbeat.apache.org/docs/help/h3c_switch
|
||||
|
||||
@@ -27,7 +27,7 @@ help:
|
||||
zh-CN: HertzBeat 使用<a class='help_module_content' href='https://baijiahao.baidu.com/s?id=1605937053950156833&wfr=spider&for=pc'> JMX 协议</a>对 Hadoop 的 JVM 虚拟机的通用性能指标(memory pool,限JDK8及以下的code cache、class loading、thread)进行采集监控。<br><span class='help_module_span'>⚠️注意:您需要在 Hadoop 应用开启 JMX 服务, <a class='help_module_content' href='https://hertzbeat.apache.org/zh-cn/docs/help/hadoop#hadoop%E5%BA%94%E7%94%A8%E5%BC%80%E5%90%AFjmx%E5%8D%8F%E8%AE%AE%E6%AD%A5%E9%AA%A4'>点击查看开启步骤</a>。</span>
|
||||
en-US: "HertzBeat monitors general performance metrics(memory pool, class loading, thread) of Hadoop VMware through <a class='help_module_content' href='https://zh.wikipedia.org/JMX'>JMX protocol</a>. <br><span class='help_module_span'>⚠️Note: You should enable the JMX service in Hadoop application, and the metric of code cache is only available to JDK8 and below.<a class='help_module_content' href='https://hertzbeat.apache.org/docs/help/hadoop#hadoop%E5%BA%94%E7%94%A8%E5%BC%80%E5%90%AFjmx%E5%8D%8F%E8%AE%AE%E6%AD%A5%E9%AA%A4'>Click here to view the specific steps.</a></span>"
|
||||
zh-TW: HertzBeat使用<a class='help_ module_ content' href='https://baijiahao.baidu.com/s?id=1605937053950156833&wfr=spider&for=pc'> JMX協定</a>對Hadoop的JVM虛擬機器的通用性能指標(memory pool,限JDK8及以下的code cache、class loading、thread)進行採集監控。<br><span class='help_ module_ span'> ⚠️ ️注意:您需要在Hadoop應用開啟JMX服務,<a class='help_ module_ content' href='https://hertzbeat.apache.org/zh-cn/docs/help/hadoop#hadoop%E5%BA%94%E7%94%A8%E5%BC%80%E5%90%AFjmx%E5%8D%8F%E8%AE%AE%E6%AD%A5%E9%AA%A4'>點擊查看開啟步驟</a>。</span>
|
||||
ja-JP: HertzBeatは <a class='help_module_content' href='https://baijiahao.baidu.com/s?id=1605937053950156833&wfr=spider&for=pc'> JMXプロトコルを介して</a> HadoopのJava仮想マシンの一般的なパフォーマンスのメトリックを監視します。<br><span class='help_module_span'> ⚠️注意:Hadoop で JMX サービスを有効にする必要があります。<a class='help_module_content' href=' https://hertzbeat.apache.org/zh-cn/docs/help/hadoop#hadoop%E5%BA%94%E7%94%A8%E5%BC%80%E5%90%AFjmx%E5%8D%8F%E8%AE%AE%E6%AD%A5%E9%AA%A4'>クリックしてガイドを見ます</a>。</span>
|
||||
ja-JP: HertzBeatは <a class='help_module_content' href='https://baijiahao.baidu.com/s?id=1605937053950156833&wfr=spider&for=pc'> JMXプロトコルを介して</a> Hadoopのランタイムステータス、ノード、トピック、その他の関連メトリックを監視します。<br><span class='help_module_span'> ⚠️注意:Hadoop で JMX サービスを有効にする必要があります。<a class='help_module_content' href=' https://hertzbeat.apache.org/zh-cn/docs/help/hadoop#hadoop%E5%BA%94%E7%94%A8%E5%BC%80%E5%90%AFjmx%E5%8D%8F%E8%AE%AE%E6%AD%A5%E9%AA%A4'>クリックしてガイドを見ます</a>。</span>
|
||||
helpLink:
|
||||
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/hadoop/
|
||||
en-US: https://hertzbeat.apache.org/docs/help/hadoop/
|
||||
@@ -240,7 +240,7 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 已分配内存
|
||||
en-US: Committed
|
||||
ja-JP: コミットメモリ
|
||||
ja-JP: コミットメモリー
|
||||
- field: init
|
||||
type: 0
|
||||
i18n:
|
||||
|
||||
@@ -21,13 +21,12 @@ app: hbase_master
|
||||
name:
|
||||
zh-CN: Apache Hbase Master
|
||||
en-US: Apache Hbase Master
|
||||
ja-JP: Apache Hbase Master
|
||||
# The description and help of this monitoring type
|
||||
help:
|
||||
zh-CN: Hertzbeat 对 Hbase 数据库 Master 节点监控指标进行监控。<br>您可以点击 “<i>新建 Apache Hbase Master</i>” 并进行配置,或者选择“<i>更多操作</i>”,导入已有配置。
|
||||
en-US: Hertzbeat monitors the Master node monitoring indicators of the Hbase database. <br>You can click "<i>New Apache Hbase Master</i>" to configure, or select "<i>More Actions</i>" to import an existing configuration.
|
||||
zh-TW: Hertzbeat 對 Hbase 數據庫 Master 节點監控指標進行監控。<br>您可以點擊 “<i>新建 Apache Hbase Master</i>” 並進行配置,或者選擇“<i>更多操作</i>”,導入已有配置。
|
||||
ja-JP: Hertzbeat は HbaseデータベースのMasterノードの一般的なメトリック監視します。<br>「<i>新規 Apache Hbase Master</i>」をクリックしてパラメタを設定した後、新規することができます。
|
||||
|
||||
helpLink:
|
||||
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/hbase_master/
|
||||
en-US: https://hertzbeat.apache.org/docs/help/hbase_master/
|
||||
@@ -39,7 +38,6 @@ params:
|
||||
name:
|
||||
zh-CN: 目标Host
|
||||
en-US: Target Host
|
||||
ja-JP: 目標ホスト
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: host
|
||||
# required-true or false
|
||||
@@ -50,7 +48,6 @@ params:
|
||||
name:
|
||||
zh-CN: 端口
|
||||
en-US: Port
|
||||
ja-JP: ポート
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: number
|
||||
# when type is number, range is required
|
||||
@@ -65,7 +62,6 @@ params:
|
||||
name:
|
||||
zh-CN: 查询超时时间
|
||||
en-US: Query Timeout
|
||||
ja-JP: クエリタイムアウト
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: number
|
||||
# required-true or false
|
||||
@@ -80,7 +76,6 @@ params:
|
||||
name:
|
||||
zh-CN: 启用HTTPS
|
||||
en-US: HTTPS
|
||||
ja-JP: HTTPS
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: boolean
|
||||
# required-true or false
|
||||
@@ -92,7 +87,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: Master服务信息
|
||||
en-US: Master Service Info
|
||||
ja-JP: Masterサービス情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 0
|
||||
@@ -104,25 +98,21 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 活跃RegionServer数量
|
||||
en-US: numRegionServers
|
||||
ja-JP: 活躍的なRegionServer数
|
||||
- field: numDeadRegionServers
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 异常RegionServer数量
|
||||
en-US: numDeadRegionServers
|
||||
ja-JP: 異常的なRegionServer数
|
||||
- field: averageLoad
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 集群平均负载
|
||||
en-US: averageLoad
|
||||
ja-JP: 平均ロード
|
||||
- field: clusterRequests
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 集群请求数量
|
||||
en-US: clusterRequests
|
||||
ja-JP: クラスターのリクエスト数
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.numRegionServers
|
||||
@@ -147,7 +137,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: Region In Transition 信息
|
||||
en-US: Region In Transition Info
|
||||
ja-JP: Region In Transition 情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 1
|
||||
@@ -159,19 +148,16 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 当前的 RIT 数量
|
||||
en-US: ritCount
|
||||
ja-JP: RIT数
|
||||
- field: ritCountOverThreshold
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 超过阈值的 RIT 数量
|
||||
en-US: ritCountOverThreshold
|
||||
ja-JP: 閾値を超えたRIT数
|
||||
- field: ritOldestAge
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 最老的RIT的持续时间
|
||||
en-US: ritOldestAge
|
||||
ja-JP: 最古のRITのスパン
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.ritCount
|
||||
@@ -194,7 +180,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 基础信息
|
||||
en-US: Basic Info
|
||||
ja-JP: 基礎情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 2
|
||||
@@ -206,57 +191,48 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 当前活跃RegionServer列表
|
||||
en-US: liveRegionServers
|
||||
ja-JP: 活躍的なRegionServer
|
||||
- field: deadRegionServers
|
||||
type: 1
|
||||
i18n:
|
||||
zh-CN: 当前离线RegionServer列表
|
||||
en-US: deadRegionServers
|
||||
ja-JP: オフラインRegionServer
|
||||
- field: zookeeperQuorum
|
||||
type: 1
|
||||
i18n:
|
||||
zh-CN: Zookeeper列表
|
||||
en-US: zookeeperQuorum
|
||||
ja-JP: zookeeper定足数
|
||||
- field: masterHostName
|
||||
type: 1
|
||||
i18n:
|
||||
zh-CN: Master节点
|
||||
en-US: masterHostName
|
||||
ja-JP: Masterホスト名
|
||||
- field: BalancerCluster_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 集群负载均衡次数
|
||||
en-US: BalancerCluster_num_ops
|
||||
ja-JP: クラスターのロードバランシング回数
|
||||
- field: numActiveHandler
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: RPC句柄数
|
||||
en-US: numActiveHandler
|
||||
ja-JP: RPCハンドル数
|
||||
- field: receivedBytes
|
||||
type: 0
|
||||
unit: 'MB'
|
||||
i18n:
|
||||
zh-CN: 集群接收数据量(MB)
|
||||
en-US: receivedBytes
|
||||
ja-JP: 受信バイト
|
||||
- field: sentBytes
|
||||
type: 0
|
||||
unit: 'MB'
|
||||
i18n:
|
||||
zh-CN: 集群发送数据量(MB)
|
||||
en-US: sentBytes
|
||||
ja-JP: 送信バイト
|
||||
- field: clusterRequests
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 集群总请求数量
|
||||
en-US: clusterRequests
|
||||
ja-JP: クラスターのリクエスト数
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.beans[?(@.name == "Hadoop:service=HBase,name=Master,sub=Server")].['tag.liveRegionServers']
|
||||
|
||||
@@ -21,13 +21,11 @@ app: hbase_regionserver
|
||||
name:
|
||||
zh-CN: Apache Hbase RegionServer
|
||||
en-US: Apache Hbase RegionServer
|
||||
ja-JP: Apache Hbase RegionServer
|
||||
# The description and help of this monitoring type
|
||||
help:
|
||||
zh-CN: Hertzbeat 对 Hbase 数据库 RegionServer 节点监控指标进行监控。<br>您可以点击 “<i>新建 Apache Hbase RegionServer</i>” 并进行配置,或者选择“<i>更多操作</i>”,导入已有配置。
|
||||
en-US: Hertzbeat monitors the RegionServer node monitoring indicators of the Hbase database. <br>You can click "<i>New Apache Hbase RegionServer</i>" to configure, or select "<i>More Actions</i>" to import an existing configuration.
|
||||
zh-TW: Hertzbeat 對 Hbase 數據庫 RegionServer 节點監控指標進行監控。<br>您可以點擊 “<i>新建 Apache Hbase RegionServer</i>” 並進行配置,或者選擇“<i>更多操作</i>”,導入已有配置。
|
||||
ja-JP: Hertzbeat は HbaseデータベースのRegionServerノードの一般的なメトリック監視します。<br>「<i>新規 Apache Hbase RegionServer</i>」をクリックしてパラメタを設定した後、新規することができます。
|
||||
|
||||
helpLink:
|
||||
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/hbase_regionserver/
|
||||
@@ -40,7 +38,6 @@ params:
|
||||
name:
|
||||
zh-CN: 目标Host
|
||||
en-US: Target Host
|
||||
ja-JP: 目標ホスト
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: host
|
||||
# required-true or false
|
||||
@@ -51,7 +48,6 @@ params:
|
||||
name:
|
||||
zh-CN: 端口
|
||||
en-US: Port
|
||||
ja-JP: ポート
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: number
|
||||
# when type is number, range is required
|
||||
@@ -66,7 +62,6 @@ params:
|
||||
name:
|
||||
zh-CN: 查询超时时间
|
||||
en-US: Query Timeout
|
||||
ja-JP: クエリタイムアウト
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: number
|
||||
# required-true or false
|
||||
@@ -81,7 +76,6 @@ params:
|
||||
name:
|
||||
zh-CN: 启用HTTPS
|
||||
en-US: HTTPS
|
||||
ja-JP: HTTPS
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: boolean
|
||||
# required-true or false
|
||||
@@ -93,7 +87,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: RegionServer 服务信息
|
||||
en-US: RegionServer Service Info
|
||||
ja-JP: RegionServerサービス情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 0
|
||||
@@ -105,28 +98,24 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: Region数量
|
||||
en-US: regionCount
|
||||
ja-JP: Region数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: readRequestCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 重启集群后的读请求数量
|
||||
en-US: readRequestCount
|
||||
ja-JP: 読み取りリクエスト数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: writeRequestCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 重启集群后的写请求数量
|
||||
en-US: writeRequestCount
|
||||
ja-JP: 書き込みリクエスト数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: averageRegionSize
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 平均Region大小
|
||||
en-US: averageRegionSize
|
||||
ja-JP: Regionの平均サイズ
|
||||
unit: 'MB'
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: totalRequestCount
|
||||
@@ -134,126 +123,108 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 全部请求数量
|
||||
en-US: totalRequestCount
|
||||
ja-JP: リクエスト総数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanTime_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Scan 请求总量
|
||||
en-US: ScanTime_num_ops
|
||||
ja-JP: Scan操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Append_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Append 请求量
|
||||
en-US: Append_num_ops
|
||||
ja-JP: Append操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Increment_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Increment请求量
|
||||
en-US: Increment_num_ops
|
||||
ja-JP: Increment操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Get_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Get 请求量
|
||||
en-US: Get_num_ops
|
||||
ja-JP: Get操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Delete_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Delete 请求量
|
||||
en-US: Delete_num_ops
|
||||
ja-JP: Delete操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Put_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Put 请求量
|
||||
en-US: Put_num_ops
|
||||
ja-JP: Put操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanTime_mean
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 平均 Scan 请求时间
|
||||
en-US: ScanTime_mean
|
||||
ja-JP: Scan操作の平均時間
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanTime_min
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 最小 Scan 请求时间
|
||||
en-US: ScanTime_min
|
||||
ja-JP: Scan操作の最小時間
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanTime_max
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 最大 Scan 请求时间
|
||||
en-US: ScanTime_max
|
||||
ja-JP: Scan操作の最大時間
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanSize_mean
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 平均 Scan 请求大小
|
||||
en-US: ScanSize_mean
|
||||
ja-JP: Scan操作の平均サイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanSize_min
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 最小 Scan 请求大小
|
||||
en-US: ScanSize_min
|
||||
ja-JP: Scan操作の最小サイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ScanSize_max
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 最大 Scan 请求大小
|
||||
en-US: ScanSize_max
|
||||
ja-JP: Scan操作の最大サイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: slowPutCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 慢操作次数/Put
|
||||
en-US: slowPutCount
|
||||
ja-JP: スローPut操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: slowGetCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 慢操作次数/Get
|
||||
en-US: slowGetCount
|
||||
ja-JP: スローGet操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: slowAppendCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 慢操作次数/Append
|
||||
en-US: slowAppendCount
|
||||
ja-JP: スローAppend操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: slowIncrementCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 慢操作次数/Increment
|
||||
en-US: slowIncrementCount
|
||||
ja-JP: スローIncrement操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: slowDeleteCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 慢操作次数/Delete
|
||||
en-US: slowDeleteCount
|
||||
ja-JP: スローDelete操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: blockCacheSize
|
||||
type: 0
|
||||
@@ -261,42 +232,36 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 缓存块内存占用大小
|
||||
en-US: blockCacheSize
|
||||
ja-JP: ブロックキャッシュのサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: blockCacheCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 缓存块数量_Block Cache 中的 Block 数量
|
||||
en-US: blockCacheCount
|
||||
ja-JP: ブロックキャッシュ数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: blockCacheExpressHitPercent
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 读缓存命中率
|
||||
en-US: blockCacheExpressHitPercent
|
||||
ja-JP: ブロックキャッシュ命中率
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: memStoreSize
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Memstore 大小
|
||||
en-US: memStoreSize
|
||||
ja-JP: Memstoreサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: FlushTime_num_ops
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: RS写磁盘次数/MemStore Flush 写磁盘次数
|
||||
en-US: FlushTime_num_ops
|
||||
ja-JP: MemStore Flush操作回数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: flushQueueLength
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Region Flush 队列长度
|
||||
en-US: flushQueueLength
|
||||
ja-JP: Region Flushキューの長さ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: flushedCellsSize
|
||||
type: 0
|
||||
@@ -304,21 +269,18 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: flush到磁盘大小
|
||||
en-US: flushedCellsSize
|
||||
ja-JP: flushedサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: storeCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Store 个数
|
||||
en-US: storeCount
|
||||
ja-JP: Store数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: storeFileCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Storefile 个数
|
||||
en-US: storeFileCount
|
||||
ja-JP: Storeファイル数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: storeFileSize
|
||||
type: 0
|
||||
@@ -326,42 +288,36 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: Storefile 大小
|
||||
en-US: storeFileSize
|
||||
ja-JP: Storeファイルサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: compactionQueueLength
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Compaction 队列长度
|
||||
en-US: compactionQueueLength
|
||||
ja-JP: Compactionキューの長さ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: percentFilesLocal
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Region 的 HFile 位于本地 HDFS data node的比例
|
||||
en-US: percentFilesLocal
|
||||
ja-JP: Regionのローカルファイルのパーセント
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: percentFilesLocalSecondaryRegions
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Region 副本的 HFile 位于本地 HDFS data node的比例
|
||||
en-US: percentFilesLocalSecondaryRegions
|
||||
ja-JP: Secondary Regionのローカルファイルのパーセント
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: hlogFileCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: WAL 文件数量
|
||||
en-US: hlogFileCount
|
||||
ja-JP: WALファイル数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: hlogFileSize
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: WAL 文件大小
|
||||
en-US: hlogFileSize
|
||||
ja-JP: WALファイルサイズ
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.regionCount
|
||||
@@ -458,7 +414,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: RegionServer IPC 信息
|
||||
en-US: RegionServer IPC Info
|
||||
ja-JP: RegionServer IPC 情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 1
|
||||
@@ -470,28 +425,24 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: RPC句柄数
|
||||
en-US: numActiveHandler
|
||||
ja-JP: RPCハンドル数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: NotServingRegionException
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: NotServingRegionException 异常数量
|
||||
en-US: NotServingRegionException
|
||||
ja-JP: NotServingRegionException
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: RegionMovedException
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: RegionMovedException异常数量
|
||||
en-US: RegionMovedException
|
||||
ja-JP: RegionMovedException
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: RegionTooBusyException
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: RegionTooBusyException异常数量
|
||||
en-US: RegionTooBusyException
|
||||
ja-JP: RegionTooBusyException
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.numActiveHandler
|
||||
@@ -517,7 +468,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: RegionServer JVM 信息
|
||||
en-US: RegionServer JVM Info
|
||||
ja-JP: RegionServer Java仮想マシン情報
|
||||
# metrics scheduling priority(0->127)->(high->low), metrics with the same priority will be scheduled in parallel
|
||||
# priority 0's metrics is availability metrics, it will be scheduled first, only availability metrics collect success will the scheduling continue
|
||||
priority: 2
|
||||
@@ -530,7 +480,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 进程使用的非堆内存大小
|
||||
en-US: MemNonHeapUsedM
|
||||
ja-JP: 使用済みのノンヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemNonHeapCommittedM
|
||||
type: 0
|
||||
@@ -538,7 +487,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 进程 commit 的非堆内存大小
|
||||
en-US: MemNonHeapCommittedM
|
||||
ja-JP: コミットのノンヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemHeapUsedM
|
||||
type: 0
|
||||
@@ -546,7 +494,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 进程使用的堆内存大小
|
||||
en-US: MemHeapUsedM
|
||||
ja-JP: 使用済みのヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemHeapCommittedM
|
||||
type: 0
|
||||
@@ -554,7 +501,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 进程 commit 的堆内存大小
|
||||
en-US: MemHeapCommittedM
|
||||
ja-JP: コミットのヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemHeapMaxM
|
||||
type: 0
|
||||
@@ -562,7 +508,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 进程最大的堆内存大小
|
||||
en-US: MemHeapMaxM
|
||||
ja-JP: 最大のヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemMaxM
|
||||
type: 0
|
||||
@@ -570,14 +515,12 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 进程最大内存大小
|
||||
en-US: MemMaxM
|
||||
ja-JP: 最大のメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: GcCount
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: Young GC次数
|
||||
en-US: GcCount
|
||||
ja-JP: GC回数
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.MemNonHeapUsedM
|
||||
|
||||
@@ -21,13 +21,11 @@ app: hdfs_datanode
|
||||
name:
|
||||
zh-CN: Apache HDFS DataNode
|
||||
en-US: Apache HDFS DataNode
|
||||
ja-JP: Apache HDFS DataNode
|
||||
# The description and help of this monitoring type
|
||||
help:
|
||||
zh-CN: Hertzbeat 对 HDFS DataNode 节点监控指标进行监控。<br>您可以点击 “<i>新建 Apache HDFS DataNode</i>” 并进行配置,或者选择“<i>更多操作</i>”,导入已有配置。
|
||||
en-US: Hertzbeat monitors the HDFS DataNode metrics. <br>You can click "<i>New Apache HDFS DataNode</i>" to configure, or select "<i>More Actions</i>" to import an existing configuration.
|
||||
zh-TW: Hertzbeat 對 HDFS DataNode 節點監控指標進行監控。<br>您可以點擊 “<i>新建 Apache HDFS DataNode</i>” 並進行配置,或者選擇“<i>更多操作</i>”,導入已有配置。
|
||||
ja-JP: Hertzbeat は HDFS DataNodeの一般的なメトリック監視します。<br>「<i>新規 Apache HDFS DataNode</i>」をクリックしてパラメタを設定した後、新規することができます。
|
||||
|
||||
helpLink:
|
||||
zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/hdfs_datanode/
|
||||
@@ -40,7 +38,6 @@ params:
|
||||
name:
|
||||
zh-CN: 目标Host
|
||||
en-US: Target Host
|
||||
ja-JP: 目標ホスト
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: host
|
||||
# required-true or false
|
||||
@@ -51,7 +48,6 @@ params:
|
||||
name:
|
||||
zh-CN: 端口
|
||||
en-US: Port
|
||||
ja-JP: ポート
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: number
|
||||
# when type is number, range is required
|
||||
@@ -66,7 +62,6 @@ params:
|
||||
name:
|
||||
zh-CN: 查询超时时间
|
||||
en-US: Query Timeout
|
||||
ja-JP: クエリタイムアウト
|
||||
# type-param field type(most mapping the html input type)
|
||||
type: number
|
||||
# required-true or false
|
||||
@@ -91,7 +86,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: DataNode HDFS使用量
|
||||
en-US: DfsUsed
|
||||
ja-JP: 使用済みのHDFS容量
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Remaining
|
||||
type: 0
|
||||
@@ -99,7 +93,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: DataNode HDFS剩余空间
|
||||
en-US: Remaining
|
||||
ja-JP: 使用可能のHDFS容量
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: Capacity
|
||||
type: 0
|
||||
@@ -107,7 +100,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: DataNode HDFS空间总量
|
||||
en-US: Capacity
|
||||
ja-JP: HDFS容量合計
|
||||
units:
|
||||
- DfsUsed=B->GB
|
||||
- Remaining=B->GB
|
||||
@@ -142,70 +134,60 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: JVM 当前已经使用的 NonHeapMemory 的大小
|
||||
en-US: MemNonHeapUsedM
|
||||
ja-JP: 使用済みのノンヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemNonHeapCommittedM
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: JVM 配置的 NonHeapCommittedM 的大小
|
||||
en-US: MemNonHeapCommittedM
|
||||
ja-JP: コミットのノンヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemHeapUsedM
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: JVM 当前已经使用的 HeapMemory 的大小
|
||||
en-US: MemHeapUsedM
|
||||
ja-JP: 使用済みのヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemHeapCommittedM
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: JVM HeapMemory 提交大小
|
||||
en-US: MemHeapCommittedM
|
||||
ja-JP: コミットのヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemHeapMaxM
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: JVM 配置的 HeapMemory 的大小
|
||||
en-US: MemHeapMaxM
|
||||
ja-JP: 配置のヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: MemMaxM
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: JVM 运行时可以使用的最大内存大小
|
||||
en-US: MemMaxM
|
||||
ja-JP: 最大のヒープメモリサイズ
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ThreadsRunnable
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 处于 RUNNABLE 状态的线程数量
|
||||
en-US: ThreadsRunnable
|
||||
ja-JP: RUNNABLE スレッド数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ThreadsBlocked
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 处于 BLOCKED 状态的线程数量
|
||||
en-US: ThreadsBlocked
|
||||
ja-JP: BLOCKED スレッド数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ThreadsWaiting
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 处于 WAITING 状态的线程数量
|
||||
en-US: ThreadsWaiting
|
||||
ja-JP: WAITING スレッド数
|
||||
# field-metric name, type-metric type(0-number,1-string), unit-metric unit('%','ms','MB'), label-whether it is a metrics label field
|
||||
- field: ThreadsTimedWaiting
|
||||
type: 0
|
||||
i18n:
|
||||
zh-CN: 处于 TIMED WAITING 状态的线程数量
|
||||
en-US: ThreadsTimedWaiting
|
||||
ja-JP: TIMED WAITING スレッド数
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.MemNonHeapUsedM
|
||||
@@ -250,7 +232,6 @@ metrics:
|
||||
i18n:
|
||||
zh-CN: 启动时间
|
||||
en-US: StartTime
|
||||
ja-JP: 起動時間
|
||||
# (optional)metrics field alias name, it is used as an alias field to map and convert the collected data and metrics field
|
||||
aliasFields:
|
||||
- $.beans[?(@.name == "java.lang:type=Runtime")].StartTime
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
# under the License.
|
||||
|
||||
name: setup-deps
|
||||
description: Install host system dependencies (with mvnd)
|
||||
description: Install host system dependencies
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
@@ -26,18 +26,3 @@ runs:
|
||||
with:
|
||||
distribution: "zulu"
|
||||
java-version: 17
|
||||
|
||||
- name: Install mvnd
|
||||
shell: bash
|
||||
run: |
|
||||
MVND_VERSION=1.0.2
|
||||
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-linux-amd64.zip -o mvnd.zip
|
||||
unzip -q mvnd.zip
|
||||
mkdir -p $HOME/.local
|
||||
mv maven-mvnd-${MVND_VERSION}-linux-amd64 $HOME/.local/mvnd
|
||||
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
|
||||
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
|
||||
|
||||
- name: Verify mvnd installation
|
||||
shell: bash
|
||||
run: mvnd --version
|
||||
Reference in New Issue
Block a user