From 3eed56fad77918ae8a4cc3fd15cf23ae96dd22a0 Mon Sep 17 00:00:00 2001 From: kaige <154599029@qq.com> Date: Thu, 5 Nov 2020 22:10:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E7=89=87=E9=93=BE?= =?UTF-8?q?=E6=8E=A5cluster-status-monitoring.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cluster-status-monitoring.md | 50 +++++++++--------- .../cluster-status-monitoring.md | 5 ++ .../cluster-status-monitoring-zh/platform.png | Bin 0 -> 61147 bytes 3 files changed, 30 insertions(+), 25 deletions(-) create mode 100644 content/zh/docs/cluster-administration/cluster-status-monitoring.md create mode 100644 static/images/docs/cluster-administration/cluster-status-monitoring-zh/platform.png diff --git a/content/en/docs/cluster-administration/cluster-status-monitoring.md b/content/en/docs/cluster-administration/cluster-status-monitoring.md index 0a396b45e..7c7eccf4b 100644 --- a/content/en/docs/cluster-administration/cluster-status-monitoring.md +++ b/content/en/docs/cluster-administration/cluster-status-monitoring.md @@ -9,7 +9,7 @@ weight: 300 KubeSphere provides monitoring of related metrics such as CPU, memory, network, and disk of the cluster. You can also review historical monitoring data and sort nodes by different indicators based on their usage in **Cluster Status Monitoring**. -## Prerequisites +## Prerequisites You need an account granted a role including the authorization of **Clusters Management**. For example, you can log in the console as `admin` directly or create a new role with the authorization and assign it to an account. @@ -17,29 +17,29 @@ You need an account granted a role including the authorization of **Clusters Man 1. Click **Platform** in the top left corner and select **Clusters Management**. -![Platform](/images/docs/cluster-administration/cluster-status-monitoring/platform.png) +![Platform](../../../../static../../../../static/images/docs/cluster-administration/cluster-status-monitoring/platform.png) -2. If you have enabled the [multi-cluster feature](../../multicluster-management) with member clusters imported, you can select a specific cluster to view its application resources. If you have not enabled the feature, refer to the next step directly. +1. If you have enabled the [multi-cluster feature](../../multicluster-management) with member clusters imported, you can select a specific cluster to view its application resources. If you have not enabled the feature, refer to the next step directly. -![Clusters Management](/images/docs/cluster-administration/cluster-status-monitoring/clusters-management.png) +![Clusters Management](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/clusters-management.png) 3. Choose **Cluster Status** under **Monitoring & Alerting** to see the overview of cluster status monitoring, including **Cluster Node Status**, **Components Status**, **Cluster Resources Usage**, **ETCD Monitoring**, and **Service Component Monitoring**, as shown in the following figure. -![Cluster Status Monitoring](/images/docs/cluster-administration/cluster-status-monitoring/cluster-status-monitoring.png) +![Cluster Status Monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/cluster-status-monitoring.png) ### Cluster Node Status 1. **Cluster Node Status** displays the status of all nodes, separately marking the active ones. You can go to the **Cluster Nodes** page shown below to view the real-time resource usage of all nodes by clicking **Node Online Status**. -![Cluster Nodes](/images/docs/cluster-administration/cluster-status-monitoring/cluster-nodes.png) +![Cluster Nodes](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/cluster-nodes.png) 2. In **Cluster Nodes**, click the node name to view usage details in **Running Status**, including the information of CPU, Memory, Pod, Local Storage in the current node, and its health status. -![Running Status](/images/docs/cluster-administration/cluster-status-monitoring/running-status.png) +![Running Status](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/running-status.png) 3. Click the tab **Monitoring** to view how the node is functioning during a certain period based on different metrics, including **CPU Utilization, CPU Load Average, Memory Utilization, Disk Utilization, inode Utilization, IOPS, DISK Throughput, and Network Bandwidth**, as shown in the following figure. -![Monitoring](/images/docs/cluster-administration/cluster-status-monitoring/monitoring.png) +![Monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/monitoring.png) {{< notice tip >}} @@ -53,11 +53,11 @@ KubeSphere monitors the health status of various service components in the clust 1. On the **Cluster Status Monitoring** page, click components (the part in the green box below) under **Components Status** to view the status of service components. -![component-monitoring](/images/docs/cluster-administration/cluster-status-monitoring/component-monitoring.jpg) +![component-monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/component-monitoring.jpg) 2. You can see all the components are listed in this part. Components marked in green are those functioning normally while those marked in orange require special attention as it signals potential issues. -![Service Components Status](/images/docs/cluster-administration/cluster-status-monitoring/service-components-status.png) +![Service Components Status](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/service-components-status.png) {{< notice tip >}} @@ -69,25 +69,25 @@ Components marked in orange may turn to green after a period of time, the reason **Cluster Resources Usage** displays the information including **CPU Utilization, Memory Utilization, Disk Utilization, and Pod Quantity Trend** of all nodes in the cluster. Click the pie chart on the left to switch indicators, which shows the trend during a period in a line chart on the right. -![Cluster Resources Usage](/images/docs/cluster-administration/cluster-status-monitoring/cluster-resources-usage.png) +![Cluster Resources Usage](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/cluster-resources-usage.png) ## Physical Resources Monitoring Monitoring data in **Physical Resources Monitoring** help users better observe their physical resources and establish normal standards for resource and cluster performance. KubeSphere allows users to view cluster monitoring data within the last 7 days, including **CPU Utilization**, **Memory Utilization**, **CPU Load Average** **(1 minute/5 minutes/15 minutes)**, **inode Utilization**, **Disk Throughput (read/write)**, **IOPS (read/write)**, **Network Bandwidth**, and **Pod Status**. You can customize the time range and time interval to view historical monitoring data of physical resources in KubeSphere. The following sections briefly introduce each monitoring indicator. -![Physical Resources Monitoring](/images/docs/cluster-administration/cluster-status-monitoring/physical-resources-monitoring.png) +![Physical Resources Monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/physical-resources-monitoring.png) ### CPU Utilization CPU utilization shows how CPU resources are used in a period. If you notice that the CPU usage of the platform during a certain period soars, you must first locate the process that is occupying CPU resources the most. For example, for Java applications, you may expect a CPU usage spike in the case of memory leaks or infinite loops in the code. -![CPU Utilization](/images/docs/cluster-administration/cluster-status-monitoring/cpu-utilization.png) +![CPU Utilization](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/cpu-utilization.png) ### Memory Utilization Memory is one of the important components on a machine, serving as a bridge for communications with the CPU. Therefore, the performance of memory has a great impact on the machine. Data loading, thread concurrency and I/O buffering are all dependent on memory when a program is running. The size of available memory determines whether the program can run normally and how it is functioning. Memory utilization reflects how memory resources are used within a cluster as a whole, displayed as a percentage of available memory in use at a given moment. -![Memory Utilization](/images/docs/cluster-administration/cluster-status-monitoring/memory-utilization.png) +![Memory Utilization](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/memory-utilization.png) ### CPU Load Average @@ -99,7 +99,7 @@ KubeSphere provides users with three different time periods to view the load ave - If the value of 1 minute in a certain period, or at a specific time point is much greater than that of 15 minutes, it means that the load in the last 1 minute is increasing, and you need to keep observing. Once the value of 1 minute exceeds the number of CPUs, it may mean that the system is overloaded. You need to further analyze the source of the problem. - Conversely, if the value of 1 minute in a certain period, or at a specific time point is much less than that of 15 minutes, it means that the load of the system is decreasing in the last 1 minute, and a high load has been generated in the previous 15 minutes. -![CPU Load Average](/images/docs/cluster-administration/cluster-status-monitoring/cpu-load-average.png) +![CPU Load Average](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/cpu-load-average.png) ### Disk Usage @@ -107,7 +107,7 @@ KubeSphere workloads such as `StatefulSets` and `DaemonSets` all rely on persist In the daily management of the Linux system, platform administrators may encounter data loss or even system crashes due to insufficient disk space. As an essential part of cluster management, they need to pay close attention to the disk usage of the system and ensure that the file system is not filling up or abused. By monitoring the historical data of disk usage, you can evaluate how disks are used during a given period of time. In the case of high disk usage, you can free up disk space by cleaning up unnecessary images or containers. -![Disk Usage](/images/docs/cluster-administration/cluster-status-monitoring/disk-usage.png) +![Disk Usage](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/disk-usage.png) ### inode Utilization @@ -115,30 +115,30 @@ Each file must have an inode, which is used to store the file's meta-information In KubeSphere, the monitoring of inode utilization can help you detect such situations in advance, as you can have a clear view of cluster inode usage. The mechanism prompts users to clean up temporary files in time, preventing the cluster from being unable to work due to inode exhaustion. -![inode Utilization](/images/docs/cluster-administration/cluster-status-monitoring/inode-utilization.png) +![inode Utilization](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/inode-utilization.png) ### Disk Throughput The monitoring of disk throughput and IOPS is an indispensable part of disk monitoring, which is convenient for cluster administrators to adjust data layout and other management activities to optimize the overall performance of the cluster. Disk throughput refers to the speed of the disk transmission data stream (shown in MB/s), and the transmission data are the sum of data reading and writing. When large blocks of discontinuous data are being transmitted, this indicator is of great importance for reference. -![Disk Throughput](/images/docs/cluster-administration/cluster-status-monitoring/disk-throughput.png) +![Disk Throughput](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/disk-throughput.png) ### IOPS **IOPS (Input/Output Operations Per Second)** represents a performance measurement of the number of read and write operations per second. Specifically, the IOPS of a disk is the sum of the number of continuous reads and writes per second. This indicator is of great significance for reference when small blocks of discontinuous data are being transmitted. -![IOPS](/images/docs/cluster-administration/cluster-status-monitoring/iops.png) +![IOPS](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/iops.png) ### Network Bandwidth The network bandwidth is the ability of the network card to receive or send data per second, shown in Mbps (megabits per second). -![Network Bandwidth](/images/docs/cluster-administration/cluster-status-monitoring/netework-bandwidth.png) +![Network Bandwidth](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/netework-bandwidth.png) ### Pod Status Pod status displays the total number of pods in different states, including **Running**, **Completed** and **Warning**. The pod tagged **Completed** usually refers to a Job or a CronJob. The number of pods marked **Warning**, which means an abnormal state, requires special attention. -![Pod Status](/images/docs/cluster-administration/cluster-status-monitoring/pod-status.png) +![Pod Status](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/pod-status.png) ## ETCD Monitoring @@ -154,7 +154,7 @@ ETCD monitoring helps you to make better use of ETCD, especially to locate perfo |DB Fsync|The submission delay distribution of the backend calls. When ETCD submits its most recent incremental snapshot to disk, a `backend_commit` will be called. Note that high latency of disk operations (long WAL log synchronization time or library synchronization time) usually indicates disk problems, which may cause high request latency or make the cluster unstable. For more information about the indicator, see [etcd Disk](https://etcd.io/docs/v3.3.12/metrics/#grpc-requests). | |Raft Proposals|- **Proposal Commit Rate** records the rate of consensus proposals committed. If the cluster is healthy, this indicator should increase over time. Several healthy members of an ETCD cluster may have different general proposals at the same time. A continuous large lag between a single member and its leader indicates that the member is slow or unhealthy.
- **Proposal Apply Rate** records the total rate of consensus proposals applied. The ETCD server applies each committed proposal asynchronously. The difference between the **Proposal Commit Rate** and the **Proposal Apply Rate** should usually be small (only a few thousands even under high loads). If the difference between them continues to rise, it indicates that the ETCD server is overloaded. This can happen when using large-scale queries such as heavy range queries or large txn operations.
- **Proposal Failure Rate** records the total rate of failed proposals, usually related to two issues: temporary failures related to leader election or longer downtime due to a loss of quorum in the cluster.
- **Proposal Pending Total** records the current number of pending proposals. An increase in pending proposals indicates high client loads or members unable to submit proposals.
Currently, the data displayed on the dashboard is the average size of ETCD members. For more information about these indicators, see [etcd Server](https://etcd.io/docs/v3.3.12/metrics/#server). | -![ETCD Monitoring](/images/docs/cluster-administration/cluster-status-monitoring/etcd-monitoring.png) +![ETCD Monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/etcd-monitoring.png) ## APIServer Monitoring [API Server](https://kubernetes.io/docs/concepts/overview/kubernetes-api/) is the hub for the interaction of all components in a Kubernetes cluster. The following table lists the main indicators monitored for the APIServer. @@ -164,7 +164,7 @@ ETCD monitoring helps you to make better use of ETCD, especially to locate perfo |Request Latency|Classified by HTTP request methods, the latency of resource request response in milliseconds.| |Request Per Second|The number of requests accepted by kube-apiserver per second.| -![APIServer Monitoring](/images/docs/cluster-administration/cluster-status-monitoring/apiserver-monitoring.png) +![APIServer Monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/apiserver-monitoring.png) ## Scheduler Monitoring @@ -176,10 +176,10 @@ ETCD monitoring helps you to make better use of ETCD, especially to locate perfo |Attempt Rate|Include the scheduling rate of successes, errors, and failures.| |Scheduling latency|End-to-end scheduling delay, which is the sum of scheduling algorithm delay and binding delay| -![Scheduler Monitoring](/images/docs/cluster-administration/cluster-status-monitoring/scheduler-monitoring.png) +![Scheduler Monitoring](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/scheduler-monitoring.png) ## Node Usage Ranking You can sort nodes in ascending and descending order by indicators such as CPU, Load Average, Memory, Local Storage, inode Utilization, and Pod Utilization. This enables administrators to quickly find potential problems or identify a node's insufficient resources. -![Node Usage Ranking](/images/docs/cluster-administration/cluster-status-monitoring/node-usage-ranking.png) +![Node Usage Ranking](../../../../static/images/docs/cluster-administration/cluster-status-monitoring/node-usage-ranking.png) diff --git a/content/zh/docs/cluster-administration/cluster-status-monitoring.md b/content/zh/docs/cluster-administration/cluster-status-monitoring.md new file mode 100644 index 000000000..8092f8261 --- /dev/null +++ b/content/zh/docs/cluster-administration/cluster-status-monitoring.md @@ -0,0 +1,5 @@ +# 集群状态监控 + +KubeSphere 提供了对集群的 CPU、内存、网络和磁盘等相关指标的监控。在**集群状态监控**中,您还可以查看历史监控数据并根据节点的使用情况按不同的指标对节点进行排序。 + +## 先决条件 \ No newline at end of file diff --git a/static/images/docs/cluster-administration/cluster-status-monitoring-zh/platform.png b/static/images/docs/cluster-administration/cluster-status-monitoring-zh/platform.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c183314d3f783e58a558223124ac66d8b3d835 GIT binary patch literal 61147 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 x+j19