meshctl debug report
meshctl debug report
meshctl debug report selectively captures cluster information and logs into an archive to help diagnose problems.
meshctl debug report selectively captures cluster information and logs into an archive to help diagnose problems. Proxy logs can be filtered using: –include|–exclude ns1,ns2…/dep1,dep2…/pod1,pod2…/cntr1,cntr…/lbl1=val1,lbl2=val2…/ann1=val1,ann2=val2… where ns=namespace, dep=deployment, cntr=container, lbl=label, ann=annotation
For multiple clusters use commas to separate kube configs or kube contexts –kubeconfig $HOME/.kube/config –context cluster-1,cluster-2 –kubeconfig $HOME/.kube/cluster1,$HOME/.kube/cluster2 –context cluster-1,cluster-2
The –kubeconfig and –context flags are not needed if you already have your meshctl config file set up (see meshctl cluster configure).
The filter spec is interpreted as ‘must be in (ns1 OR ns2) AND (dep1 OR dep2) AND (cntr1 OR cntr2)…’ The log will be included only if the container matches at least one include filter and does not match any exclude filters. All parts of the filter are optional and can be omitted e.g. ns1//pod1 filters only for namespace ns1 and pod1. All names except label and annotation keys support ‘*’ glob matching pattern.
e.g. –include ns1,ns2 (only namespaces ns1 and ns2) –include n*//p*/l=v* (pods with name beginning with ‘p’ in namespaces beginning with ‘n’ and having label ‘l’ with value beginning with ‘v’.)
meshctl debug report [flags]
--config string set the path to the meshctl config file (default "<home_directory>/.gloo-mesh/meshctl-config.yaml") --context string Name of the kubeconfig Context. For multiple contexts use a comma (Ex. cluster1,cluster2) --critical-errs strings List of comma separated glob patterns to match against log error strings. If any pattern matches an error in the log, the logs is given the highest priority for archive inclusion. --dir string Set a specific directory for temporary artifact storage. --dry-run Only log commands that would be run, don't fetch or write. --duration duration How far to go back in time from end-time for log entries to include in the archive. Default is infinity. If set, start-time must be unset. --end-time string End time for the range of log entries to include in the archive. Default is now. --exclude strings Spec for which pod's proxy logs to exclude from the archive, after the include spec is processed. See above for format and examples. (default ["kube-system, kube-public, kube-node-lease, local-path-storage"]) -f, --filename string Path to a file containing configuration in YAML format. The file contents are applied over the default values and flag settings, with lists being replaced per JSON merge semantics. --full-secrets If set, secret contents are included in output. --gloo-mesh-namespace string Namespace where Gloo Mesh is installed. (default "gloo-mesh") -h, --help help for report --ignore-errs strings List of comma separated glob patterns to match against log error strings. Any error matching these patterns is ignored when calculating the log importance heuristic. --include strings Spec for which pod's proxy logs to include in the archive. See above for format and examples. --istio-namespace string Namespace where Istio control plane is installed. (default "istio-system") -c, --kubeconfig string Path to kube context. For multiple files use a comma (Ex. $HOME/.kube/cluster1,$HOME/.kube/cluster2) --start-time string Start time for the range of log entries to include in the archive. Default is the infinite past. If set, Since must be unset. --timeout duration Maximum amount of time to spend fetching logs. When timeout is reached only the logs captured so far are saved to the archive. (default 30m0s)
Options inherited from parent commands
-v, --verbose Enable verbose logging
- meshctl debug - Debug Gloo Mesh resources