Skip to content

Latest commit

 

History

History
340 lines (306 loc) · 10.5 KB

supportability.md

File metadata and controls

340 lines (306 loc) · 10.5 KB

Supportability

{% hint style="danger" %} This website/page will be End-of-life (EOL) after 31 August 2024. We recommend you to visit OpenEBS Documentation for the latest Mayastor documentation (v2.6 and above).

Mayastor is now also referred to as OpenEBS Replicated PV Mayastor. {% endhint %}

The supportability tool collects Mayastor specific information from the cluster using the kubectl plugin command-line tool. It uses the dump command, which interacts with the Mayastor services to build an archive (ZIP) file that acts as a placeholder for the bundled information.

Using the supportability tool

To bundle Mayastor's complete system information, execute:

{% tab title="Command" %}

kubectl mayastor dump system -n mayastor -d <output_directory_path>

{% endtab %}

To view all the available options and sub-commands that can be used with the dump command, execute:

{% tabs %} {% tab title="Command" %}

kubectl mayastor dump --help

{% endtab %} {% tab title="Sample Output" %}

`Dump` resources

Usage: kubectl-mayastor dump [OPTIONS] <COMMAND>

Commands:
  system  Collects entire system information
  etcd    Collects information from etcd
  help    Print this message or the help for the given subcommand(s)

Options:
  -r, --rest <REST>
          The rest endpoint to connect to
  -t, --timeout <TIMEOUT>
          Specifies the timeout value to interact with other modules of system [default: 10s]
  -k, --kube-config-path <KUBE_CONFIG_PATH>
          Path to kubeconfig file
  -s, --since <SINCE>
          Period states to collect all logs from last specified duration [default: 24h]
  -l, --loki-endpoint <LOKI_ENDPOINT>
          LOKI endpoint, if left empty then it will try to parse endpoint from Loki service(K8s service resource), if the tool is unable to parse from service then logs will be collected using Kube-apiserver
  -e, --etcd-endpoint <ETCD_ENDPOINT>
          Endpoint of ETCD service, if left empty then will be parsed from the internal service name
  -d, --output-directory-path <OUTPUT_DIRECTORY_PATH>
          Output directory path to store archive file [default: ./]
  -n, --namespace <NAMESPACE>
          Kubernetes namespace of mayastor service [default: mayastor]
  -o, --output <OUTPUT>
          The Output, viz yaml, json [default: none]
  -j, --jaeger <JAEGER>
          Trace rest requests to the Jaeger endpoint agent
  -h, --help
          Print help
          
Supportability - collects state & log information of services and dumps it to a tar file. 

{% endtab %} {% endtabs %}

{% hint style="info" %} Note: The information collected by the supportability tool is solely used for debugging purposes. The content of these files is human-readable and can be reviewed, deleted, or redacted as necessary to adhere to the organization's data protection/privacy commitments and security policies before transmitting the bundles. Please refer to the section: 'Does the supportability tool expose sensitive data' to get more details. {% endhint %}

The archive files generated by the dump command are stored in the specified output directories. The tables below specify the path and the content that will be stored in each archive file.

Topology Information

Folder Path Mayastor Resource Node Name File Name Description
./topology/node node node-01 node-01-topology.json Topology of node-01(All node topologies will available here)
./topology/pool pool pool-01 pool-01-topology.json Topology of pool-01 (All pool topologies will available here)
./topology/volume volume volume-01 volume-01-topology.json Topology information of volume-01 (All volume topologies will available here)

Historical Logs

Folder Path Host Name(optional) Component File Name
./logs/core-agents - agent-core loki-agent-core.log
./logs/rest - api-rest loki-api-rest.log
./logs/csi-controller - csi-attacher loki-csi-attacher.log
./logs/csi-controller - csi-controller loki-csi-controller.log
./logs/csi-controller - csi-provisioner loki-csi-provisioner.log
./logs/diskpool-operator - operator-diskpool loki-operator-disk-pool.log
./logs/mayastor node-02 csi-driver-registrar node-02-loki-csi-driver-registrar.log
./logs/mayastor node-01 csi-node node-01-loki-csi-node.log
./logs/mayastor node-01 io-engine node-01-loki-mayastor.log
./logs/blot node-02 io-engine node-02-loki-mayastor.log
./logs/etcd node-03 etcd node-03-loki-etcd.log

Configuration details of Kubernetes resources

Folder Path Component File Name
./k8s_resources/configurations/ agent-core (Deployment) mayastor-agent-core.yaml
./k8s_resources/configurations/ api-rest mayastor-api-rest.yaml
./k8s_resources/configurations/ si-controller (Deployment) mayastor-csi-controller.yaml
./k8s_resources/configurations/ csi-node(Daemonset) mayastor-csi-node.yaml
./k8s_resources/configurations/ etcd (Statefullset) mayastor-etcd.yaml
./k8s_resources/configurations/ loki (Statefullset) mayastor-loki-yaml
./k8s_resources/configurations/ operator-diskpool mayastor-operator-disk-pool.yaml
./k8s_resources/configurations/ promtail(Daemonset) mayastor-promtail.yaml
./k8s_resources/configurations/ io-engine (Daemonset) io-engine.yaml
./k8s_resources/configurations/ disk_pools k8s_diskPools.yaml
./k8s_resources events k8s_events.yaml
./k8s_resources/configurations/ all pods(deployed under the same namespace as Mayastor) pods.yaml
./k8s_resources volume snapshot classes volume_snapshot_classes.yaml
./k8s_resources volume snapshot contents volume_snapshot_contents.yaml

etcd dump information

Folder Path Component File Name
./ etcd etcd_dump

Supportability tool logs

Folder Path Component File Name
./ Support-tool support_tool_logs.log

Does the supportability tool expose sensitive data?

The supportability tool generates support bundles, which are used for debugging purposes. These bundles are created in response to the user's invocation of the tool and can be transmitted only by the user. Below is the information collected by the supportability tool that might be identified as 'sensitive' based on the organization's data protection/privacy commitments and security policies. Logs: The default installation of Mayastor includes the deployment of a log aggregation subsystem based on Grafana Loki. All the pods deployed in the same namespace as Mayastor and labelled with openebs.io/logging=true will have their logs incorporated within this centralized collector. These logs may include the following information:

  • Kubernetes (K8s) node hostnames
  • IP addresses
    • container addresses
  • API endpoints
    • Mayastor
    • K8s
  • Container names
  • K8s Persistent Volume names (provisioned by Mayastor)
  • DiskPool names
  • Block device details (except the content) K8s Definition Files: The support bundle includes definition files for all the Mayastor components. Some of these are listed below:
  • Deployments
  • DaemonSets
  • StatefulSets
  • VolumeSnapshotClass
  • VolumeSnapshotContent

K8s Events: The archive files generated by the supportability tool contain information on all the events of the Kubernetes cluster present in the same namespace as Mayastor.

etcd Dump: The default installation of Mayastor deploys an etcd instance for its exclusive use. This key-value pair is used to persist state information for Mayastor-managed objects. These key-value pairs are required for diagnostic and troubleshooting purposes. The etcd dump archive file consists of the following information:

  • Kubernetes node hostnames
  • IP addresses
  • PVC/PV names
  • Container names
    • Mayastor
    • User applications within the mayastor namespace
  • Block device details (except data content)

{% hint style="info" %} Note:The list provided above is frequently reviewed and updated by the Mayastor maintainers. However, it might not be fully exhaustive, given that "sensitive information" is a subjective term. {% endhint %}