Collecting Cluster Information

Collecting cluster information

First, ensure that the operator has started successfully and that the collectinfo controller is running. Below is the information of the operator, showing that the collectinfo controller is running. If the collectinfo controller does not exist, it means the current version of the operator does not support the collectinfo feature. Please upgrade the operator version.

kubectl get pod -n alluxio-operator
NAME                                             READY   STATUS    RESTARTS   AGE
alluxio-cluster-controller-8656d54bc-x6ms6       1/1     Running   0          19s
alluxio-collectinfo-controller-cc49c56b6-wlw8k   1/1     Running   0          19s
alluxio-csi-controller-84df9646fd-4d5b8          2/2     Running   0          19s
alluxio-csi-nodeplugin-fcp7b                     2/2     Running   0          19s
alluxio-csi-nodeplugin-t59ch                     2/2     Running   0          19s
alluxio-csi-nodeplugin-vbq2q                     2/2     Running   0          19s
alluxio-ufs-controller-57fbdf8d5c-2f79l          1/1     Running   0          19s

Ensure that the Alluxio cluster has started successfully. Assume the Alluxio cluster is in the default namespace. Below is the information of the Alluxio cluster, showing that all components of the Alluxio cluster are running.

kubectl get pod 
NAME                                          READY   STATUS    RESTARTS   AGE
alluxio-coordinator-0                         1/1     Running   0          2m17s
alluxio-etcd-0                                1/1     Running   0          2m17s
alluxio-etcd-1                                1/1     Running   0          2m17s
alluxio-etcd-2                                1/1     Running   0          2m17s
alluxio-monitor-grafana-9fd587b4f-mnczs       1/1     Running   0          2m17s
alluxio-monitor-prometheus-6b55c568b8-sfp96   1/1     Running   0          2m17s
alluxio-worker-779d87567f-95wls               1/1     Running   0          2m17s
alluxio-worker-779d87567f-sgh4b               1/1     Running   0          2m17s

Collecting Information

Create a simple YAML file to collect information using default values (for a complete configuration, refer to Detailed Configuration).

Assuming the Alluxio cluster is in the default namespace, create collectinfo.yaml with the following contents.

Create the collectinfo to start collecting information.

You can check the progress of information collection by viewing the status of collectinfo. The following shows the collection of five types of information, all completed successfully.

The collectinfo will create multiple jobs in the alluxio-operator namespace to collect information about the Alluxio cluster. By default, all information is collected, and you can see that there are five jobs running: config, hardware, license, logs, and metrics.

Collecting information failed

The following shows a failure in information collection, with four types of information failing to be collected.

Check the job information of the collectinfo. You can see that only the hardware job of collectinfo succeeded, while the other jobs failed.

You can always download the collection results regardless of the success or failure of the collectinfo operation.

The results will contain an error.log if there are any failures for debugging.

Downloading Results

There are two ways to download the results of information: kubectl cp and kubectl port-forward.

Results contain the following types of information:

  • config: The configuration files in Alluxio's conf/ directory, such as alluxio-site.properties and alluxio-env.sh.

  • hardware: CPU and memory details for each Kubernetes node. Hardware specifications for coordinator, worker, fuse and operator components.

  • license: The license information of the Alluxio cluster, including the type, productionId and licenseVersion. And vCPU, memory and storage are being used.

  • logs: Logs from coordinator, worker, fuse, etcd and operator components. Supports tailing logs to show a specified number of lines from the end.

  • metrics: Allows setting duration and step to define the time range and sampling interval for metrics (collects all metrics).

kubectl cp

Use kubectl cp to copy the collected information to your local machine.

kubectl port-forward

Use port-forward to map the port of the collectinfo controller to your local machine. Map the remote collectinfo controller's port 80 to your local port 28080.

Use curl to download the collected information.

Extract the downloaded file.

Detailed Configuration

Last updated