diff --git a/web/src/components/GlobalHeader/RightContent.js b/web/src/components/GlobalHeader/RightContent.js
index 16338c44..d6012a56 100644
--- a/web/src/components/GlobalHeader/RightContent.js
+++ b/web/src/components/GlobalHeader/RightContent.js
@@ -43,6 +43,35 @@ export default class GlobalHeaderRight extends PureComponent {
});
return groupBy(newNotices, "type");
}
+ onKeyDown = (e) => {
+ const { keyCode } = e;
+ if (this.keysPressed["17"] && this.keysPressed["16"] && keyCode == 79) {
+ this.setState({
+ consoleVisible: !this.state.consoleVisible,
+ });
+ return true;
+ }
+ this.keysPressed[keyCode] = e.type == "keydown";
+ return false;
+ };
+ onKeyUp = (e) => {
+ const { keyCode } = e;
+ delete this.keysPressed[keyCode];
+ };
+ constructor(props) {
+ super(props);
+ this.onKeyDown = this.onKeyDown.bind(this);
+ this.onKeyUp = this.onKeyUp.bind(this);
+ }
+ componentDidMount() {
+ this.keysPressed = {};
+ document.addEventListener("keydown", this.onKeyDown, false);
+ document.addEventListener("keyup", this.onKeyUp, false);
+ }
+ componentWillUnmount() {
+ document.removeEventListener("keydown", this.onKeyDown);
+ document.removeEventListener("keyup", this.onKeyUp);
+ }
render() {
const {
@@ -234,7 +263,3 @@ export default class GlobalHeaderRight extends PureComponent {
);
}
}
-
-const TopHandle = () => {
- return
hello world
;
-};
diff --git a/web/src/layouts/Footer.js b/web/src/layouts/Footer.js
index e379b4b4..c87858cc 100644
--- a/web/src/layouts/Footer.js
+++ b/web/src/layouts/Footer.js
@@ -1,19 +1,13 @@
-import React, { Fragment } from 'react';
-import { Layout, Icon } from 'antd';
-import GlobalFooter from '@/components/GlobalFooter';
+import React, { Fragment } from "react";
+import { Layout, Icon } from "antd";
+import GlobalFooter from "@/components/GlobalFooter";
const { Footer } = Layout;
const FooterView = () => (
);
diff --git a/web/src/locales/en-US/cluster.js b/web/src/locales/en-US/cluster.js
index ea31fe56..1fbbea7b 100644
--- a/web/src/locales/en-US/cluster.js
+++ b/web/src/locales/en-US/cluster.js
@@ -3,9 +3,9 @@ export default {
"cluster.manage.description":
"Cluster management can help you quickly access different versions of Elasticsearch clusters, as well as delete and modify cluster configurations.",
"cluster.manage.label.cluster_name": "Cluster Name",
- "cluster.manage.label.cluster_host": "Cluster Host",
- "cluster.manage.btn.regist": "Regist Cluster",
- "cluster.manage.btn.try_connect": "Try Connect",
+ "cluster.manage.label.cluster_host": "Host",
+ "cluster.manage.btn.regist": "Register A Cluster",
+ "cluster.manage.btn.try_connect": "Test Connection",
"cluster.manage.table.column.name": "Name",
"cluster.manage.table.column.health": "Health",
"cluster.manage.table.column.version": "Version",
@@ -16,7 +16,7 @@ export default {
"cluster.manage.table.column.description": "Description",
"cluster.manage.monitored.on": "ON",
"cluster.manage.monitored.off": "OFF",
- "cluster.regist.title": "REGIST CLUSTER",
+ "cluster.regist.title": "CLUSTER REGISTRATION",
"cluster.edit.title": "EDIT CLUSTER",
"cluster.regist.description":
"Enter the cluster address and authentication information to create a cluster step by step.",
@@ -29,7 +29,7 @@ export default {
"cluster.regist.step.connect.label.data_nodes": "Data Nodes",
"cluster.regist.step.connect.label.shards": "Active Shards",
"cluster.regist.step.complete.success": "Succeed",
- "cluster.regist.step.complete.btn.create": "Regist Again",
+ "cluster.regist.step.complete.btn.create": "Register Another Cluster",
"cluster.regist.step.complete.btn.goto": "Go To Cluster List",
"cluster.regist.step.complete.tls.yes": "Yes",
"cluster.regist.step.complete.tls.no": "No",
@@ -42,7 +42,7 @@ export default {
"cluster.monitor.summary.version": "Version",
"cluster.monitor.summary.health": "Health",
"cluster.monitor.summary.node_count": "Node Count",
- "cluster.monitor.summary.total_index": "Total Index",
+ "cluster.monitor.summary.total_index": "Index Count",
"cluster.monitor.summary.shard": "Pri/Total Shard",
"cluster.monitor.summary.unassign_shard": "Unassigned Shard",
"cluster.monitor.summary.total_docs": "Total Docs",
@@ -62,12 +62,11 @@ export default {
"cluster.metrics.node.axis.cpu.title": "Process CPU Usage",
"cluster.metrics.node.axis.disk.title": "Disk Available",
- "cluster.metrics.node.axis.open_file.title": "Open File",
- "cluster.metrics.node.axis.open_file_percent.title": "Open File Percent",
+ "cluster.metrics.node.axis.open_file.title": "Open Files",
+ "cluster.metrics.node.axis.open_file_percent.title": "Open Files Percent",
"cluster.metrics.node.axis.indexing_rate.title": "Indexing Rate",
"cluster.metrics.node.axis.query_rate.title": "Query Rate",
"cluster.metrics.node.axis.fetch_rate.title": "Fetch Rate",
- "cluster.metrics.node.axis.flush_latency.title": "Flush Latency",
"cluster.metrics.node.axis.indexing_latency.title": "Indexing Latency",
"cluster.metrics.node.axis.query_latency.title": "Query Latency",
"cluster.metrics.node.axis.fetch_latency.title": "Fetch Latency",
@@ -82,22 +81,20 @@ export default {
"cluster.metrics.node.axis.segment_memory.title": "Segment Memory",
"cluster.metrics.node.axis.segment_count.title": "Segment Count",
"cluster.metrics.node.axis.docs_count.title": "Document Count",
+ "cluster.metrics.node.axis.docs_deleted.title": "Document Deleted",
"cluster.metrics.node.axis.index_storage.title": "Indices Storage",
"cluster.metrics.node.axis.jvm_heap_used_percent.title": "JVM Heap Usage",
"cluster.metrics.node.axis.os_cpu.title": "OS CPU Usage",
"cluster.metrics.node.axis.os_used_mem.title": "OS Mem Usage",
"cluster.metrics.node.axis.os_used_swap.title": "OS Swap Usage",
- "cluster.metrics.node.axis.indexing_pressure_memory.title":
- "Indexing Pressure",
- "cluster.metrics.node.axis.jvm_used_heap.title": "JVM Used Heap",
+ "cluster.metrics.node.axis.indexing_pressure_memory.title": "Indexing Pressure",
+ "cluster.metrics.node.axis.jvm_used_heap.title": "JVM Heap Usage",
"cluster.metrics.node.axis.jvm_young_gc_rate.title": "Young GC Rate",
"cluster.metrics.node.axis.jvm_young_gc_latency.title": "Young GC Latency",
- "cluster.metrics.node.axis.jvm_mem_young_used.title": "Pools Young Used",
- "cluster.metrics.node.axis.jvm_mem_young_peak_used.title":
- "Pools Young Peak Used",
- "cluster.metrics.node.axis.jvm_mem_old_used.title": "Pools Old Used",
- "cluster.metrics.node.axis.jvm_mem_old_peak_used.title":
- "Pools Old Peak Used",
+ "cluster.metrics.node.axis.jvm_mem_young_used.title": "Young Usage",
+ "cluster.metrics.node.axis.jvm_mem_young_peak_used.title": "Young Peak Usage",
+ "cluster.metrics.node.axis.jvm_mem_old_used.title": "Old Usage",
+ "cluster.metrics.node.axis.jvm_mem_old_peak_used.title": "Old Peak Usage",
"cluster.metrics.node.axis.jvm_old_gc_rate.title": "Old GC Rate",
"cluster.metrics.node.axis.jvm_old_gc_latency.title": "Old GC Latency",
"cluster.metrics.node.axis.transport_tx_rate.title": "Transport TX Rate",
@@ -105,10 +102,31 @@ export default {
"cluster.metrics.node.axis.transport_tx_bytes.title": "Transport TX Bytes",
"cluster.metrics.node.axis.transport_rx_bytes.title": "Transport RX Bytes",
+ "cluster.metrics.node.axis.request_cache_hit.title": "Request Cache Hit",
+ "cluster.metrics.node.axis.request_cache_miss.title": "Request Cache Miss",
+ "cluster.metrics.node.axis.query_cache_hit.title": "Query Cache Hit",
+ "cluster.metrics.node.axis.query_cache_miss.title": "Query Cache Miss",
+ "cluster.metrics.node.axis.query_cache_count.title": "Query Cache Count",
+ "cluster.metrics.node.axis.query_cache_evictions.title": "Query Cache Evictions",
+ "cluster.metrics.node.axis.scroll_rate.title": "Scroll Rate",
+ "cluster.metrics.node.axis.scroll_latency.title": "Scroll Latency",
+ "cluster.metrics.node.axis.refresh_rate.title": "Refresh Rate",
+ "cluster.metrics.node.axis.flush_rate.title": "Flush Rate",
+ "cluster.metrics.node.axis.merges_rate.title": "Merge Rate",
+
+ "cluster.metrics.node.axis.segment_term_vectors_memory.title": "Term Vectors",
+ "cluster.metrics.node.axis.segment_index_writer_memory.title": "IndexWriter",
+ "cluster.metrics.node.axis.segment_doc_values_memory.title": "DocValues",
+ "cluster.metrics.node.axis.segment_terms_memory.title": "Terms",
+ "cluster.metrics.node.axis.segment_stored_fields_memory.title": "Stored Fields",
+
"cluster.metrics.index.axis.index_storage.title": "Index Storage",
- "cluster.metrics.index.axis.doc_count.title": "Document count",
+ "cluster.metrics.index.axis.doc_count.title": "Document Count",
+ "cluster.metrics.index.axis.docs_deleted.title": "Document Deleted",
"cluster.metrics.index.axis.query_times.title": "Query Requests",
"cluster.metrics.index.axis.fetch_times.title": "Fetch Requests",
+ "cluster.metrics.index.axis.scroll_times.title": "Scroll Requests",
+ "cluster.metrics.index.axis.flush_times.title": "Flush Requests",
"cluster.metrics.index.axis.merge_times.title": "Merge Requests",
"cluster.metrics.index.axis.refresh_times.title": "Refresh Requests",
"cluster.metrics.index.axis.indexing_rate.title": "Indexing Rate",
@@ -117,22 +135,75 @@ export default {
"cluster.metrics.index.axis.fetch_latency.title": "Fetch Latency",
"cluster.metrics.index.axis.merge_latency.title": "Merge Latency",
"cluster.metrics.index.axis.refresh_latency.title": "Refresh Latency",
+ "cluster.metrics.index.axis.scroll_latency.title": "Scroll Latency",
+ "cluster.metrics.index.axis.flush_latency.title": "Flush Latency",
"cluster.metrics.index.axis.query_cache.title": "Query Cache",
"cluster.metrics.index.axis.request_cache.title": "Request Cache",
- "cluster.metrics.index.axis.segment_memory.title": "Segment Memory",
- "cluster.metrics.index.axis.segment_fields_memory.title":
- "Segment Stored Fields Memory",
- "cluster.metrics.index.axis.segment_doc_values_memory.title":
- "Segment Doc Values Memory",
- "cluster.metrics.index.axis.segment_terms_memory.title":
- "Segment Terms Memory",
+ "cluster.metrics.index.axis.fielddata_cache.title": "Fielddata Cache",
+ "cluster.metrics.index.axis.segment_memory.title": "Segment",
+ "cluster.metrics.index.axis.segment_fields_memory.title": "Stored Fields",
+ "cluster.metrics.index.axis.segment_doc_values_memory.title": "DocValues",
+ "cluster.metrics.index.axis.segment_terms_memory.title": "Terms",
+ "cluster.metrics.index.axis.segment_term_vectors_memory.title": "Term Vectors",
+ "cluster.metrics.index.axis.segment_index_writer_memory.title": "IndexWriter",
"cluster.metrics.group.system": "System",
"cluster.metrics.group.storage": "Storage",
"cluster.metrics.group.latency": "Latency",
"cluster.metrics.group.operations": "Operations",
"cluster.metrics.group.http": "Http Traffic",
- "cluster.metrics.group.memory": "Memory",
+ "cluster.metrics.group.memory": "Segments Memory",
"cluster.metrics.group.cache": "Cache",
"cluster.metrics.group.JVM": "JVM",
"cluster.metrics.group.transport": "Transport",
+ "cluster.metrics.group.document": "Document",
+
+ "cluster.metrics.group.thread_pool_get": "Get Thread Pool",
+ "cluster.metrics.group.thread_pool_search": "Search Thread Pool",
+ "cluster.metrics.group.thread_pool_write": "Write Thread Pool",
+ "cluster.metrics.group.thread_pool_flush": "Flush Thread Pool",
+ "cluster.metrics.group.thread_pool_refresh": "Refresh Thread Pool",
+ "cluster.metrics.group.thread_pool_force_merge": "Force Merge Thread Pool",
+ "cluster.metrics.group.thread_pool_index": "Index Thread Pool",
+ "cluster.metrics.group.thread_pool_bulk": "Bulk Thead Pool",
+
+ "cluster.metrics.threadpool.axis.search_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.search_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.search_active.title": "Active",
+ "cluster.metrics.threadpool.axis.search_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.get_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.get_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.get_active.title": "Active",
+ "cluster.metrics.threadpool.axis.get_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.flush_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.flush_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.flush_active.title": "Active",
+ "cluster.metrics.threadpool.axis.flush_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.write_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.write_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.write_active.title": "Active",
+ "cluster.metrics.threadpool.axis.write_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.refresh_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.refresh_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.refresh_active.title": "Active",
+ "cluster.metrics.threadpool.axis.refresh_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.force_merge_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.force_merge_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.force_merge_active.title": "Active",
+ "cluster.metrics.threadpool.axis.force_merge_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.index_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.index_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.index_active.title": "Active",
+ "cluster.metrics.threadpool.axis.index_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.bulk_threads.title": "Bulk Merge Threads",
+ "cluster.metrics.threadpool.axis.bulk_queue.title": "Bulk Merge Queue",
+ "cluster.metrics.threadpool.axis.bulk_active.title": "Bulk Merge Active",
+ "cluster.metrics.threadpool.axis.bulk_rejected.title": "Bulk Merge Rejected",
+ "cluster.metrics.index.axis.request_cache_hit.title": "Request Cache Hit",
+ "cluster.metrics.index.axis.request_cache_miss.title": "Request Cache Miss",
+ "cluster.metrics.index.axis.query_cache_hit.title": "Query Cache Hit",
+ "cluster.metrics.index.axis.query_cache_miss.title": "Query Cache Miss",
+ "cluster.metrics.index.axis.query_cache_count.title": "Query Cache Count",
+ "cluster.metrics.index.axis.query_cache_evictions.title":
+ "Query Cache Evictions",
+ "cluster.metrics.index.axis.segment_count.title": "Segment Count",
};
diff --git a/web/src/locales/zh-CN/cluster.js b/web/src/locales/zh-CN/cluster.js
index 7629e63b..cfc765bb 100644
--- a/web/src/locales/zh-CN/cluster.js
+++ b/web/src/locales/zh-CN/cluster.js
@@ -60,79 +60,151 @@ export default {
"cluster.monitor.timepicker.lastyear": "最近1年",
"cluster.monitor.timepicker.today": "今天",
- "cluster.metrics.node.axis.cpu.title": "Process CPU Usage",
- "cluster.metrics.node.axis.disk.title": "Disk Available",
- "cluster.metrics.node.axis.open_file.title": "Open File",
- "cluster.metrics.node.axis.open_file_percent.title": "Open File Percent",
- "cluster.metrics.node.axis.indexing_rate.title": "Indexing Rate",
- "cluster.metrics.node.axis.query_rate.title": "Query Rate",
- "cluster.metrics.node.axis.fetch_rate.title": "Fetch Rate",
- "cluster.metrics.node.axis.flush_latency.title": "Flush Latency",
- "cluster.metrics.node.axis.indexing_latency.title": "Indexing Latency",
- "cluster.metrics.node.axis.query_latency.title": "Query Latency",
- "cluster.metrics.node.axis.fetch_latency.title": "Fetch Latency",
- "cluster.metrics.node.axis.merge_latency.title": "Merge Latency",
- "cluster.metrics.node.axis.refresh_latency.title": "Refresh Latency",
- "cluster.metrics.node.axis.flush_latency.title": "Flush Latency",
- "cluster.metrics.node.axis.query_cache.title": "Query Cache",
- "cluster.metrics.node.axis.request_cache.title": "Request Cache",
- "cluster.metrics.node.axis.fielddata_cache.title": "Fielddata Cache",
- "cluster.metrics.node.axis.http_connect_num.title": "Http Connections",
- "cluster.metrics.node.axis.http_rate.title": "Rate Of Opened Connections",
- "cluster.metrics.node.axis.segment_memory.title": "Segment Memory",
- "cluster.metrics.node.axis.segment_count.title": "Segment Count",
- "cluster.metrics.node.axis.docs_count.title": "Document Count",
- "cluster.metrics.node.axis.index_storage.title": "Indices Storage",
- "cluster.metrics.node.axis.jvm_heap_used_percent.title": "JVM Heap Usage",
- "cluster.metrics.node.axis.os_cpu.title": "OS CPU Usage",
- "cluster.metrics.node.axis.os_used_mem.title": "OS Mem Usage",
- "cluster.metrics.node.axis.os_used_swap.title": "OS Swap Usage",
- "cluster.metrics.node.axis.indexing_pressure_memory.title":
- "Indexing Pressure",
- "cluster.metrics.node.axis.jvm_used_heap.title": "JVM Used Heap",
- "cluster.metrics.node.axis.jvm_young_gc_rate.title": "Young GC Rate",
- "cluster.metrics.node.axis.jvm_young_gc_latency.title": "Young GC Latency",
- "cluster.metrics.node.axis.jvm_mem_young_used.title": "Pools Young Used",
+ "cluster.metrics.node.axis.cpu.title": "进程 CPU 使用率",
+ "cluster.metrics.node.axis.disk.title": "磁盘可用率",
+ "cluster.metrics.node.axis.open_file.title": "文件打开数",
+ "cluster.metrics.node.axis.open_file_percent.title": "文件打开百分比",
+ "cluster.metrics.node.axis.indexing_rate.title": "Indexing",
+ "cluster.metrics.node.axis.query_rate.title": "Query",
+ "cluster.metrics.node.axis.fetch_rate.title": "Fetch",
+ "cluster.metrics.node.axis.indexing_latency.title": "Indexing",
+ "cluster.metrics.node.axis.query_latency.title": "Query",
+ "cluster.metrics.node.axis.fetch_latency.title": "Fetch",
+ "cluster.metrics.node.axis.merge_latency.title": "Merge",
+ "cluster.metrics.node.axis.refresh_latency.title": "Refresh",
+ "cluster.metrics.node.axis.flush_latency.title": "Flush",
+ "cluster.metrics.node.axis.query_cache.title": "Query 缓存",
+ "cluster.metrics.node.axis.request_cache.title": "Request 缓存",
+ "cluster.metrics.node.axis.fielddata_cache.title": "Fielddata 缓存",
+ "cluster.metrics.node.axis.http_connect_num.title": "HTTP 连接数",
+ "cluster.metrics.node.axis.http_rate.title": "HTTP 打开速率",
+ "cluster.metrics.node.axis.segment_memory.title": "Segment",
+ "cluster.metrics.node.axis.segment_count.title": "Segment 个数",
+ "cluster.metrics.node.axis.docs_count.title": "总文档个数",
+ "cluster.metrics.node.axis.docs_deleted.title": "删除文档数",
+ "cluster.metrics.node.axis.index_storage.title": "索引存储",
+ "cluster.metrics.node.axis.jvm_heap_used_percent.title": "堆内存使用率",
+ "cluster.metrics.node.axis.os_cpu.title": "CPU 使用率",
+ "cluster.metrics.node.axis.os_used_mem.title": "内存使用率",
+ "cluster.metrics.node.axis.os_used_swap.title": "Swap 使用率",
+ "cluster.metrics.node.axis.indexing_pressure_memory.title": "Indexing",
+ "cluster.metrics.node.axis.jvm_used_heap.title": "JVM 堆内存用量",
+ "cluster.metrics.node.axis.jvm_young_gc_rate.title": "年轻代 GC 速率",
+ "cluster.metrics.node.axis.jvm_young_gc_latency.title": "年轻代 GC 延迟",
+ "cluster.metrics.node.axis.jvm_mem_young_used.title": "年轻代内存用量",
"cluster.metrics.node.axis.jvm_mem_young_peak_used.title":
- "Pools Young Peak Used",
- "cluster.metrics.node.axis.jvm_old_gc_rate.title": "Old GC Rate",
- "cluster.metrics.node.axis.jvm_old_gc_latency.title": "Old GC Latency",
- "cluster.metrics.node.axis.jvm_mem_old_used.title": "Pools Old Used",
- "cluster.metrics.node.axis.jvm_mem_old_peak_used.title":
- "Pools Old Peak Used",
- "cluster.metrics.node.axis.transport_tx_rate.title": "Transport TX Rate",
- "cluster.metrics.node.axis.transport_rx_rate.title": "Transport RX Rate",
- "cluster.metrics.node.axis.transport_tx_bytes.title": "Transport TX Bytes",
- "cluster.metrics.node.axis.transport_rx_bytes.title": "Transport RX Bytes",
+ "年轻代内存峰值",
+ "cluster.metrics.node.axis.jvm_old_gc_rate.title": "年老代 GC 速率",
+ "cluster.metrics.node.axis.jvm_old_gc_latency.title": "年老代 GC 延迟",
+ "cluster.metrics.node.axis.jvm_mem_old_used.title": "年老代内存用量",
+ "cluster.metrics.node.axis.jvm_mem_old_peak_used.title": "年老代内存峰值",
+ "cluster.metrics.node.axis.transport_tx_rate.title": "发送速率",
+ "cluster.metrics.node.axis.transport_rx_rate.title": "接收速率",
+ "cluster.metrics.node.axis.transport_tx_bytes.title": "发送字节",
+ "cluster.metrics.node.axis.transport_rx_bytes.title": "接收字节",
- "cluster.metrics.index.axis.index_storage.title": "Index Storage",
- "cluster.metrics.index.axis.doc_count.title": "Document count",
- "cluster.metrics.index.axis.query_times.title": "Query Requests",
- "cluster.metrics.index.axis.fetch_times.title": "Fetch Requests",
- "cluster.metrics.index.axis.merge_times.title": "Merge Requests",
- "cluster.metrics.index.axis.refresh_times.title": "Refresh Requests",
- "cluster.metrics.index.axis.indexing_rate.title": "Indexing Rate",
- "cluster.metrics.index.axis.indexing_latency.title": "Indexing Latency",
- "cluster.metrics.index.axis.query_latency.title": "Query Latency",
- "cluster.metrics.index.axis.fetch_latency.title": "Fetch Latency",
- "cluster.metrics.index.axis.merge_latency.title": "Merge Latency",
- "cluster.metrics.index.axis.refresh_latency.title": "Refresh Latency",
- "cluster.metrics.index.axis.query_cache.title": "Query Cache",
- "cluster.metrics.index.axis.request_cache.title": "Request Cache",
- "cluster.metrics.index.axis.segment_memory.title": "Segment Memory",
- "cluster.metrics.index.axis.segment_fields_memory.title":
- "Segment Stored Fields Memory",
- "cluster.metrics.index.axis.segment_doc_values_memory.title":
- "Segment Doc Values Memory",
- "cluster.metrics.index.axis.segment_terms_memory.title":
- "Segment Terms Memory",
- "cluster.metrics.group.system": "System",
- "cluster.metrics.group.storage": "Storage",
- "cluster.metrics.group.latency": "Latency",
- "cluster.metrics.group.operations": "Operations",
- "cluster.metrics.group.http": "Http Traffic",
- "cluster.metrics.group.memory": "Memory",
- "cluster.metrics.group.cache": "Cache",
- "cluster.metrics.group.JVM": "JVM",
- "cluster.metrics.group.transport": "Transport",
+ "cluster.metrics.node.axis.request_cache_hit.title": "请求缓存命中次数",
+ "cluster.metrics.node.axis.request_cache_miss.title": "请求缓存未命中次数",
+ "cluster.metrics.node.axis.query_cache_hit.title": "查询缓存命中次数",
+ "cluster.metrics.node.axis.query_cache_miss.title": "查询缓存未命中次数",
+ "cluster.metrics.node.axis.query_cache_count.title": "查询缓存个数",
+ "cluster.metrics.node.axis.query_cache_evictions.title": "查询缓存回收",
+ "cluster.metrics.node.axis.scroll_rate.title": "Scroll",
+ "cluster.metrics.node.axis.scroll_latency.title": "Scroll",
+ "cluster.metrics.node.axis.refresh_rate.title": "Refresh",
+ "cluster.metrics.node.axis.flush_rate.title": "Flush",
+ "cluster.metrics.node.axis.merges_rate.title": "Merge",
+
+ "cluster.metrics.node.axis.segment_term_vectors_memory.title": "Term Vectors",
+ "cluster.metrics.node.axis.segment_index_writer_memory.title": "IndexWriter",
+ "cluster.metrics.node.axis.segment_doc_values_memory.title": "DocValues",
+ "cluster.metrics.node.axis.segment_terms_memory.title": "Terms",
+ "cluster.metrics.node.axis.segment_stored_fields_memory.title": "Stored Fields",
+
+ "cluster.metrics.index.axis.index_storage.title": "索引存储大小",
+ "cluster.metrics.index.axis.doc_count.title": "总文档个数",
+ "cluster.metrics.index.axis.docs_deleted.title": "删除文档数",
+ "cluster.metrics.index.axis.query_times.title": "Query",
+ "cluster.metrics.index.axis.fetch_times.title": "Fetch",
+ "cluster.metrics.index.axis.scroll_times.title": "Scroll",
+ "cluster.metrics.index.axis.flush_times.title": "Flush",
+ "cluster.metrics.index.axis.merge_times.title": "Merge",
+ "cluster.metrics.index.axis.refresh_times.title": "Refresh",
+ "cluster.metrics.index.axis.indexing_rate.title": "Indexing",
+ "cluster.metrics.index.axis.indexing_latency.title": "Indexing",
+ "cluster.metrics.index.axis.query_latency.title": "Query",
+ "cluster.metrics.index.axis.fetch_latency.title": "Fetch",
+ "cluster.metrics.index.axis.merge_latency.title": "Merge",
+ "cluster.metrics.index.axis.refresh_latency.title": "Refresh",
+ "cluster.metrics.index.axis.scroll_latency.title": "Scroll",
+ "cluster.metrics.index.axis.flush_latency.title": "Flush",
+ "cluster.metrics.index.axis.query_cache.title": "Query 缓存",
+ "cluster.metrics.index.axis.request_cache.title": "Request 缓存",
+ "cluster.metrics.index.axis.fielddata_cache.title": "Fielddata 缓存",
+ "cluster.metrics.index.axis.segment_memory.title": "Segment",
+ "cluster.metrics.index.axis.segment_fields_memory.title": "Stored Fields",
+ "cluster.metrics.index.axis.segment_doc_values_memory.title": "DocValues",
+ "cluster.metrics.index.axis.segment_terms_memory.title": "Terms",
+ "cluster.metrics.index.axis.segment_term_vectors_memory.title": "Term Vectors",
+ "cluster.metrics.index.axis.segment_index_writer_memory.title": "IndexWriter",
+ "cluster.metrics.group.system": "系统指标",
+ "cluster.metrics.group.storage": "存储分析",
+ "cluster.metrics.group.latency": "延迟分析",
+ "cluster.metrics.group.operations": "操作分析",
+ "cluster.metrics.group.http": "HTTP 统计",
+ "cluster.metrics.group.memory": "内存统计",
+ "cluster.metrics.group.cache": "缓存统计",
+ "cluster.metrics.group.JVM": "JVM 统计",
+ "cluster.metrics.group.transport": "网络统计",
+ "cluster.metrics.group.document": "文档统计",
+
+ "cluster.metrics.group.thread_pool_get": "Get 线程池",
+ "cluster.metrics.group.thread_pool_search": "Search 线程池",
+ "cluster.metrics.group.thread_pool_write": "Write 线程池",
+ "cluster.metrics.group.thread_pool_flush": "Flush 线程池",
+ "cluster.metrics.group.thread_pool_refresh": "Refresh 线程池",
+ "cluster.metrics.group.thread_pool_force_merge": "Force Merge 线程池",
+ // 2.x, 5.x
+ "cluster.metrics.group.thread_pool_index": "Index 线程池",
+ "cluster.metrics.group.thread_pool_bulk": "Bulk 线程池",
+
+ "cluster.metrics.threadpool.axis.search_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.search_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.search_active.title": "Active",
+ "cluster.metrics.threadpool.axis.search_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.get_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.get_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.get_active.title": "Active",
+ "cluster.metrics.threadpool.axis.get_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.flush_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.flush_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.flush_active.title": "Active",
+ "cluster.metrics.threadpool.axis.flush_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.write_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.write_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.write_active.title": "Active",
+ "cluster.metrics.threadpool.axis.write_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.refresh_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.refresh_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.refresh_active.title": "Active",
+ "cluster.metrics.threadpool.axis.refresh_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.force_merge_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.force_merge_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.force_merge_active.title": "Active",
+ "cluster.metrics.threadpool.axis.force_merge_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.index_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.index_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.index_active.title": "Active",
+ "cluster.metrics.threadpool.axis.index_rejected.title": "Rejected",
+ "cluster.metrics.threadpool.axis.bulk_threads.title": "Threads",
+ "cluster.metrics.threadpool.axis.bulk_queue.title": "Queue",
+ "cluster.metrics.threadpool.axis.bulk_active.title": "Active",
+ "cluster.metrics.threadpool.axis.bulk_rejected.title": "Rejected",
+ "cluster.metrics.index.axis.request_cache_hit.title": "请求缓存命中次数",
+ "cluster.metrics.index.axis.request_cache_miss.title": "请求缓存未命中次数",
+ "cluster.metrics.index.axis.query_cache_hit.title": "查询缓存命中次数",
+ "cluster.metrics.index.axis.query_cache_miss.title": "查询缓存未命中次数",
+ "cluster.metrics.index.axis.query_cache_count.title": "查询缓存个数",
+ "cluster.metrics.index.axis.query_cache_evictions.title": "查询缓存回收",
+ "cluster.metrics.index.axis.segment_count.title": "Segment 个数",
};
diff --git a/web/src/pages/Cluster/Metrics.js b/web/src/pages/Cluster/Metrics.js
index 595a4ca4..b3ea5950 100644
--- a/web/src/pages/Cluster/Metrics.js
+++ b/web/src/pages/Cluster/Metrics.js
@@ -364,6 +364,7 @@ class ClusterMonitor extends PureComponent {
max_jvm_bytes: formatter.bytes(rawStats.max_jvm_bytes),
document_count: formatter.number(rawStats.document_count),
uptime: moment.duration(rawStats.uptime).humanize(),
+ timestamp: moment(rawStats.timestamp).toLocaleString(),
};
}
@@ -469,7 +470,12 @@ class ClusterMonitor extends PureComponent {
{!clusterAvailable ? (
-
Cluster is not availabe.
+
+
Cluster is not availabe.
+
+ Last data collection time: {clusterStats?.timestamp}
+
+
) : null}
|
- {/*
- */}
+
diff --git a/web/src/pages/Cluster/Metrics.less b/web/src/pages/Cluster/Metrics.less
index 3f0491ec..ae357410 100644
--- a/web/src/pages/Cluster/Metrics.less
+++ b/web/src/pages/Cluster/Metrics.less
@@ -31,6 +31,10 @@
color: red;
font-size: 20px;
z-index: 1;
+ flex-direction: column;
+ .time {
+ color: #666;
+ }
}
.metricMask {
filter: blur(4px);
diff --git a/web/src/pages/Cluster/components/cluster_metric.jsx b/web/src/pages/Cluster/components/cluster_metric.jsx
index c399012e..240e7ebd 100644
--- a/web/src/pages/Cluster/components/cluster_metric.jsx
+++ b/web/src/pages/Cluster/components/cluster_metric.jsx
@@ -23,6 +23,9 @@ import { formatMessage } from "umi/locale";
import _ from "lodash";
export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
+ if (!clusterID) {
+ return null;
+ }
const queryParams = React.useMemo(() => {
const bounds = calculateBounds({
from: timeRange.min,
diff --git a/web/src/pages/Cluster/components/index_metric.jsx b/web/src/pages/Cluster/components/index_metric.jsx
index 00acedd2..19619721 100644
--- a/web/src/pages/Cluster/components/index_metric.jsx
+++ b/web/src/pages/Cluster/components/index_metric.jsx
@@ -22,8 +22,18 @@ import { formatMessage } from "umi/locale";
import MetricContainer from "./metric_container";
import _ from "lodash";
-const gorupOrder = ["storage", "operations", "latency", "memory", "cache"];
+const gorupOrder = [
+ "storage",
+ "document",
+ "operations",
+ "latency",
+ "memory",
+ "cache",
+];
export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
+ if (!clusterID) {
+ return null;
+ }
const [filter, setFilter] = React.useState({
top: "5",
index_name: undefined,
@@ -62,10 +72,12 @@ export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
);
const metrics = React.useMemo(() => {
- return _.groupBy(value?.metrics, "group");
- // return Object.values(value?.metrics || {}).sort(
- // (a, b) => a.order - b.order
- // );
+ const grpMetrics = _.groupBy(value?.metrics, "group");
+ let metrics = {};
+ Object.keys(grpMetrics).forEach((k) => {
+ metrics[k] = (grpMetrics[k] || []).sort((a, b) => a.order - b.order);
+ });
+ return metrics;
}, [value]);
const chartRefs = React.useRef();
@@ -145,6 +157,9 @@ export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
{gorupOrder.map((e, i) => {
+ if (!metrics[e]) {
+ return null;
+ }
return (
{
);
const metrics = React.useMemo(() => {
- return _.groupBy(value?.metrics, "group");
- // return Object.values(value?.metrics || {}).sort(
- // (a, b) => a.order - b.order
- // );
+ const grpMetrics = _.groupBy(value?.metrics, "group");
+ let metrics = {};
+ Object.keys(grpMetrics).forEach((k) => {
+ metrics[k] = (grpMetrics[k] || []).sort((a, b) => a.order - b.order);
+ });
+ return metrics;
}, [value]);
const chartRefs = React.useRef();
diff --git a/web/src/pages/Cluster/components/queue_metric.jsx b/web/src/pages/Cluster/components/queue_metric.jsx
index 9a42d63e..6cb5e011 100644
--- a/web/src/pages/Cluster/components/queue_metric.jsx
+++ b/web/src/pages/Cluster/components/queue_metric.jsx
@@ -22,9 +22,21 @@ import { formatMessage } from "umi/locale";
import MetricContainer from "./metric_container";
import _ from "lodash";
-const gorupOrder = ["system"];
+const gorupOrder = [
+ "thread_pool_search",
+ "thread_pool_write",
+ "thread_pool_index",
+ "thread_pool_bulk",
+ "thread_pool_get",
+ "thread_pool_flush",
+ "thread_pool_refresh",
+ "thread_pool_force_merge",
+];
export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
+ if (!clusterID) {
+ return null;
+ }
const [filter, setFilter] = React.useState({
top: "5",
node_name: undefined,
@@ -159,6 +171,9 @@ export default ({ clusterID, timezone, timeRange, handleTimeChange }) => {
{//Object.keys(metrics)
gorupOrder.map((e, i) => {
+ if (!metrics[e]) {
+ return null;
+ }
return (
{
groupId={item.group}
title={formatMessage({
id:
- "cluster.metrics.node.axis." +
+ "cluster.metrics.threadpool.axis." +
metric.key +
".title",
})}