What's in a Konvoy diagnostic bundle?
A Konvoy diagnostic bundle collects a variety of information about a Konvoy cluster and is used by D2iQ to diagnose problems. This guide explains in general terms what items are collected by the bundle and the type of information in each item. The contents of a diagnostic bundle can change with each Konvoy release; this document details what is collected by Konnvoy 1.5.0.Below is the structure of a diagnostic bundle:
. ├── cluster-data │ ├── api-resources │ │ ├── all.txt │ │ ├── secrets.txt │ │ └── .yaml │ └── pods_logs │ └── _.log └── _ ├── all-docker-images.json ├── ansible_facts.json ├── containerd.service.log ├── containerd.service.status.txt ├── ctr-version.txt ├── df.txt ├── dmesg.txt ├── etcd-alarm-list.json # Control plane only ├── etcd-endpoint-health.json # Control plane only ├── etcd-endpoint-status.json # Control plane only ├── etcd-member-list.json # Control plane only ├── etcd.log # Control plane only ├── ipall.txt ├── iproute.txt ├── iptables-save.txt ├── journalctl.log ├── konvoy-marker.yaml ├── kube-apiserver-audit.log # Control plane only ├── kube-apiserver.log # Control plane only ├── kubeadm-config.txt ├── kubeadm-images.txt ├── kubelet.service.log ├── kubelet.service.status.txt ├── kubenode-status.yaml ├── ps.txt ├── resolv.conf ├── runc-version.txt ├── sestatus.txt ├── timedatectl.txt └── uname.txtThe cluster-data directory contains cluster-wide data such as pod logs and details about API resources:
- The api-resources directory contains information about api-resources.
- all.txt - Lists all api-resources; kubectl get all --all-namespaces -o wide
- secrets.txt - Describes all secrets; kubectl describe secrets --all-namespaces
- .yaml - Status of each api-resource (Note: secrets are omitted); kubectl get -o yaml --all-namespaces
- The pods_logs directory contains logs for pods.
- _.log - Logs for all containers of a pod; kubectl logs -n --all-containers; The following namespaces are collected by default:
kubeaddons kube-system cert-manager pumpkin kube-public kube-node-lease velero kommander kommander-system kudo-system velero-minio-operator
- _.log - Logs for all containers of a pod; kubectl logs -n --all-containers; The following namespaces are collected by default:
- all-docker-images.json - Lists all images from containerd; crictl images -o json
- ansible_facts.json - Ansible facts https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#id26
- containerd.service.log - Containerd logs; journalctl -u containerd.service --since 2d
- containerd.service.status.txt - Containerd service status; systemctl status containerd.service
- ctr-version.txt - Containerd client and server version; ctr version
- df.txt - Filesystem information; df -H
- dmesg.txt - Kernel logs; dmesg -T
- etcd-alarm-list.json - Lists all etcd alarms; control plane only; ETCDCTL_API=3 etcdctl alarm list -w json
- etcd-endpoint-health.json - Checks the healthiness of etcd endpoints; control plane only; ETCDCTL_API=3 etcdctl endpoint health --cluster -w json
- etcd-endpoint-status.json - Prints the status of etcd endpoints; control plane only; ETCDCTL_API=3 etcdctl endpoint status --cluster -w json
- etcd-member-list.json - Lists all members in the etcd cluster; control plane only; ETCDCTL_API=3 etcdctl member list -w json
- etcd.log - Etcd logs, gathered from containerd; control plane only; crictl logs
- ipall.txt - Shows addresses assigned to all network interfaces; ip a
- iproute.txt - Shows route tables; ip route
- iptables-save.txt - Shows all iptables rules; iptables-save
- journalctl.log - Contents of the systemd journal; journalctl --since 2d
- konvoy-marker.yaml - Konvoy cluster configuration file located at /etc/konvoy-marker.yaml
- kube-apiserver-audit.log - Kubernetes apiserver audit log located at /var/log/kubernetes/audit/kube-apiserver-audit.log; control plane only
- kube-apiserver.log - Kube-apiserver logs, gathered from containerd; control plane only; crictl logs
- kubeadm-config.txt - Kubeadm configuration; kubeadm config view
- kubeadm-images.txt - Kubeadm images; kubeadm config images list
- kubelet.service.log - Kubelet logs; journalctl -u kubelet.service --since 2d
- kubelet.service.status.txt - Kubelet service status; systemctl status kubelet.service
- kubenode-status.yaml - Kubernetes node status; kubectl get nodes -o=yaml --selector=konvoy.mesosphere.com/inventory_hostname=
- ps.txt - Information about running processes; ps axfwwwu
- resolv.conf - DNS resolver configuration file located at /etc/resolv.conf
- runc-version.txt - Runc version information; runc --version
- sestatus.txt - Status of SELinux; sestatus
- timedatectl.txt - Displays information about the system clock and its settings; timedatectl
- uname.txt - Displays details about the machine and operating system; uname -a