ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Search Ask AI
ScyllaDB Docs ScyllaDB Operator Troubleshoot Collect debugging information must-gather contents

Caution

You're viewing documentation for an unstable version of ScyllaDB Operator. Switch to the latest stable version.

must-gather contents¶

This page describes the structure of a must-gather archive and how to find specific information within it.

Archive structure¶

Collection log¶

/scylla-operator-must-gather.log describes collection success or failure on the resource level.

ScyllaCluster objects¶

Find them with:

grep -rl "^kind: ScyllaCluster" <must-gather-directory>

Each file contains:

  • Status conditions (Available / Progressing / Degraded) and their details.

  • ScyllaDB configuration.

  • Rack configurations (number of nodes, resource requests).

ScyllaDB racks¶

Racks are represented by StatefulSets in the same namespace as the ScyllaCluster object:

/namespaces/<namespace>/statefulsets.apps/<cluster>-<datacenter>-<rack>

ScyllaDB nodes¶

Each node is represented by several Kubernetes resources in the same namespace as the ScyllaCluster:

Pod — /namespaces/<namespace>/pods/<cluster>-<datacenter>-<rack>-<ordinal>.yaml

The corresponding directory /namespaces/<namespace>/pods/<cluster>-<datacenter>-<rack>-<ordinal>/ includes items collected from the ScyllaDB node:

  • nodetool-status.log — output of nodetool status

  • nodetool-gossipinfo.log — output of nodetool gossipinfo

  • df.log — disk usage

  • io_properties.yaml — ScyllaDB IO properties configuration

  • scylla-rlimits.log — resource limits of the ScyllaDB process

  • scylla.current and scylla.previous — ScyllaDB logs

Service — /namespaces/<namespace>/services/<cluster>-<datacenter>-<rack>-<ordinal>.yaml

Contains:

  • The state of a node replace in progress.

  • The HostID as seen by Operator.

  • Network configuration, including IP addresses.

PersistentVolumeClaim — /namespaces/<namespace>/persistentvolumeclaims/...

Contains:

  • The type of storage (StorageClass) in use.

  • A reference to the PersistentVolume that maps to an actual directory on the disk.

Jobs — /namespaces/<namespace>/jobs.batch/...

Contains references to Pods (for example, cleanup Jobs).

Structure of a Kubernetes object¶

A typical object is located at /namespaces/<namespace>/<resource-type>/<object-name>.yaml:

apiVersion: <group>/v1
kind: <Kind>
metadata:
  name: <object-name>
  namespace: <namespace>
  creationTimestamp: ...
  # deletionTimestamp and finalizers are present when deletion is in progress
  # (useful for investigating why `kubectl delete` is hanging)
spec:
  # Declarative configuration
status:
  # This is the interesting part most of the time
  conditions:
    # Contains Available/Progressing/Degraded details

Find information in the archive¶

Diagnose a stuck resource¶

Look at status conditions:

grep -rl '^kind: ScyllaCluster' <must-gather-directory>
grep -rl '^kind: NodeConfig' <must-gather-directory>
grep -rl '^kind: ScyllaDBManagerTask' <must-gather-directory>
grep -rl '^kind: ScyllaOperatorConfig' <must-gather-directory>

Open the files and look under .status.conditions. Each condition has a type (Available, Progressing, Degraded, or something more granular). See Conditions for a detailed reference.

  • Available: Everything should be up and running. Check Progressing for any non-disruptive operations in progress.

  • Progressing: Operator is trying to make a change. If stuck, look at the Operator logs.

  • Degraded: Something failed. Look at the reason and the Operator logs.

Pay attention to conditions where reason is not AsExpected.

Find Operator logs¶

/namespaces/scylla-operator/pods/scylla-operator-<hash>/scylla-operator.current

Note

There will typically be more than one Operator Pod (in an active-standby configuration).

Find ScyllaDB logs by rack name and node number¶

List all ScyllaDB logs:

find <must-gather-directory> -type f -name scylla.current

To find logs for a specific node, first identify the ScyllaCluster:

grep -rl "^kind: ScyllaCluster" <must-gather-directory>
# Example output: namespaces/scylla/scyllaclusters.scylla.scylladb.com/my-cluster.yaml

Then find the logs at:

namespaces/<namespace>/pods/<cluster>-<datacenter>-<rack>-<ordinal>/scylla.current

Find ScyllaDB logs by HostID¶

Look at the HostIDs of node Services:

grep "internal.scylla-operator.scylladb.com/host-id" \
    <must-gather-directory>/namespaces/<namespace>/services/<cluster>*.yaml

Example output:

namespaces/scylla/services/my-cluster-dc-rack-0.yaml:    internal.scylla-operator.scylladb.com/host-id: 1849fd66-13ef-490e-846d-fabe55e08000
namespaces/scylla/services/my-cluster-dc-rack-1.yaml:    internal.scylla-operator.scylladb.com/host-id: d2241fb5-1cf0-4c2e-86fb-b21cfd936f91

Find the Service matching your HostID, then look at the corresponding Pod logs:

namespaces/<namespace>/pods/<matching-pod-name>/scylla.current

Find ScyllaDB configuration¶

  • Look at .spec of the ScyllaCluster object, particularly the ConfigMap referenced by .spec.datacenter.racks[].scyllaConfig.

  • Look at the ScyllaDB command line arguments in the ScyllaDB node logs.

Note

Operator generates scylla.yaml from settings in the ScyllaCluster spec. must-gather does not currently collect the resulting effective scylla.yaml.

Too much data collected?¶

  • Limit collection to a particular namespace by passing the --namespace flag.

  • Exclude resources by passing the --exclude-resource flag.

  • Manually curate the archive to remove information you do not want to include.

Missing information?¶

The information collected from ScyllaDB Pods is implemented in podcollector.go. If must-gather does not collect information you need, file a feature request or submit a PR.

Related pages¶

  • Collect data with must-gather

  • Query system tables

Was this page helpful?

PREVIOUS
Collect data with must-gather
NEXT
Query system tables for debugging
  • Create an issue
  • Edit this page

On this page

  • must-gather contents
    • Archive structure
      • Collection log
      • ScyllaCluster objects
      • ScyllaDB racks
      • ScyllaDB nodes
    • Structure of a Kubernetes object
    • Find information in the archive
      • Diagnose a stuck resource
      • Find Operator logs
      • Find ScyllaDB logs by rack name and node number
      • Find ScyllaDB logs by HostID
      • Find ScyllaDB configuration
    • Too much data collected?
    • Missing information?
    • Related pages
ScyllaDB Operator
Search Ask AI
  • master
    • master
    • v1.21
    • v1.20
    • v1.19
    • v1.18
  • Get Started
    • What Is ScyllaDB Operator?
    • ScyllaDB Concepts on Kubernetes
  • Install Operator
    • Provision infrastructure
      • Set up a GKE cluster for ScyllaDB
      • Set up an EKS cluster for ScyllaDB
      • Set up an OKE cluster for ScyllaDB
      • Set up an OpenShift cluster for ScyllaDB
    • Install with GitOps
    • Install with Helm
    • Install on OpenShift
  • Deploy ScyllaDB
    • Before you deploy
      • Set up dedicated node pools
      • Configure CPU pinning
      • Configure nodes
      • Configure ScyllaDB Operator
    • Deploy your first cluster
    • Reference deployments
      • Reference deployment: GKE
      • Reference deployment: EKS
      • Reference deployment: OKE
      • Reference deployment: OpenShift
    • Install ScyllaDB Manager
    • Set up networking
      • Configure external access
      • IPv6 networking
        • Getting started with IPv6 networking
        • Configure dual-stack networking
        • Configure IPv6-only networking
        • Migrate clusters to IPv6
        • Troubleshoot IPv6 networking issues
        • IPv6 networking concepts
    • Set up monitoring
      • Set up ScyllaDB Monitoring
      • Set up ScyllaDB Monitoring on OpenShift
      • Expose Grafana
    • Production checklist
  • Connect Your App
    • Connect via CQL
    • Alternator (DynamoDB API)
    • Discovery endpoint
  • Understand
    • Storage
    • Tuning
    • ScyllaDB Manager
    • Networking
    • ScyllaDB Monitoring overview
    • Bootstrap synchronisation
    • Automatic data cleanup
    • Sidecar and pod anatomy
    • Ignition
    • Pod disruption budgets
    • Security
    • StatefulSets and racks
  • Operate
    • Scale, add, remove racks
    • Replace nodes
    • Expand storage volumes
    • Use maintenance mode
    • Back up and restore
    • Restore from backup
    • Perform a rolling restart
    • Migrate a rack to a new node pool
    • Pass additional ScyllaDB arguments
    • Configure precomputed IO properties
  • Upgrade
    • Upgrading ScyllaDB Operator
    • Upgrading ScyllaDB clusters
  • Troubleshoot
    • Investigate pod restarts
    • Change log level on a live cluster
    • Recover from a failed node replace
    • Troubleshoot performance
    • Collect debugging information
      • Collect data with must-gather
      • must-gather contents
      • Query system tables for debugging
    • Collect core dumps
  • Reference
    • API Reference
      • scylla.scylladb.com
        • NodeConfig (scylla.scylladb.com/v1alpha1)
        • RemoteKubernetesCluster (scylla.scylladb.com/v1alpha1)
        • RemoteOwner (scylla.scylladb.com/v1alpha1)
        • ScyllaCluster (scylla.scylladb.com/v1)
        • ScyllaDBCluster (scylla.scylladb.com/v1alpha1)
        • ScyllaDBDatacenterNodesStatusReport (scylla.scylladb.com/v1alpha1)
        • ScyllaDBDatacenter (scylla.scylladb.com/v1alpha1)
        • ScyllaDBManagerClusterRegistration (scylla.scylladb.com/v1alpha1)
        • ScyllaDBManagerTask (scylla.scylladb.com/v1alpha1)
        • ScyllaDBMonitoring (scylla.scylladb.com/v1alpha1)
        • ScyllaOperatorConfig (scylla.scylladb.com/v1alpha1)
    • Feature gates
    • IPv6 configuration reference
    • Releases
    • Known issues
    • Conditions reference
    • nodetool alternatives
  • Contributing to ScyllaDB Operator
Docs Tutorials University Contact Us About Us
© 2026, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 22 May 2026.
Powered by Sphinx 9.1.0 & ScyllaDB Theme 1.9.2