reviewing-cluster-health
Skill4 starsChanged 5 months agoApache-2.0View on GitHub
Performs a comprehensive health check of a CockroachDB cluster. Gathers deployment context first, then provides tier-appropriate diagnostics. Self-Hosted uses SQL against node-level system tables and CLI. Advanced/BYOC use Cloud Console and SQL with node visibility. Standard monitors provisioned compute and workload via Cloud Console. Basic monitors Request Unit consumption and connectivity. Use for daily checks, pre-maintenance validation, post-incident verification, or production readiness assessment.
- Reads credentials
2 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- TeddyAlbina/skillsedited, first seen Nov 1, 2026
- DineshKumar8399/aegis-governed-memory-fleetword for word, first seen Aug 18, 2026
Other versions2 projects use a version of this.
Word for word · 1
- DineshKumar8399/aegis-governed-memory-fleet★ 0100% same
Edited · 1
- TeddyAlbina/skills★ 264% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository35 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- benchmarking-transaction-patternsSkill
- designing-application-transactionsSkill
- designing-multi-region-applicationsSkill
- analyzing-range-distributionSkill
- analyzing-schema-change-storage-riskSkill
- auditing-table-statisticsSkill
- monitoring-background-jobsSkill
- profiling-statement-fingerprintsSkill
- profiling-transaction-fingerprintsSkill
- triaging-live-sql-activitySkill
- molt-fetchSkill
- molt-replicatorSkill
- molt-verifySkill
- setting-up-local-clusterSkill
- managing-certificates-and-encryptionSkill
- managing-cluster-capacitySkill
- managing-cluster-settingsSkill
- performing-cluster-maintenanceSkill
- provisioning-cluster-for-productionSkill
- upgrading-cluster-versionSkill
- cockroachdb-sqlSkill
- auditing-cis-benchmarkSkill
- auditing-cloud-cluster-securitySkill
- configuring-audit-loggingSkill
- configuring-ip-allowlistsSkill
- configuring-log-exportSkill
- configuring-private-connectivitySkill
- configuring-sso-and-scimSkill
- enabling-cmek-encryptionSkill
- enforcing-password-policiesSkill
- hardening-user-privilegesSkill
- managing-tls-certificatesSkill
- preparing-compliance-documentationSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 14 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Before starting maintenance (Self-Hosted, Advanced, BYOC)
- Distinctive: line 18
After incidents to confirm recovery
- Distinctive: line 22
For live query issues: Use triaging-live-sql-activity.
- Distinctive: line 23
For background jobs: Use monitoring-background-jobs.
- Distinctive: line 24
For range analysis: Use analyzing-range-distribution.
- Distinctive: line 60
If Basic: No additional context needed.
- Distinctive: line 97
No production-safe SQL view exposes per-store capacity.
- Distinctive: line 103
No SQL view exposes node certificate expiration.
- Very specific: line 108
Treat anything within 90 days as EXPIRING_SOON.
- Distinctive: line 145
Use when verifying a cluster is ready for production workloads or during periodic operational reviews.
- Very specific: line 201
Look at is_live, build, and ranges_underreplicated per node.
- Distinctive: line 228
Run all Advanced Health Check steps.
- Distinctive: line 249
Verify VPC/network connectivity (PrivateLink, PSC, VPC Peering)
- Distinctive: line 250
Check IAM roles — CRL service account permissions still valid
- Distinctive: line 333
All checks in this skill are read-only.
- Distinctive: line 337
Standard/Basic: No node-level visibility by design — use the Cloud Console.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Reviewing Cluster Health
Performs a comprehensive health check of a CockroachDB cluster. Before running diagnostics, this skill gathers deployment context to provide the right queries and tools for the operator's tier.
When to Use This Skill
- Daily or shift-start operational health checks
- Before starting maintenance (Self-Hosted, Advanced, BYOC)
- After incidents to confirm recovery
- Verifying production readiness
- Monitoring capacity and performance
For live query issues: Use triaging-live-sql-activity. For background jobs: Use monitoring-background-jobs. For range analysis: Use analyzing-range-distribution.
Step 1: Gather Context
Required Context
| Question | Options | Why It Matters |
| Deployment tier? | Self-Hosted, Advanced, BYOC, Standard, Basic | Determines available diagnostics and operator responsibilities |
| Reason for health check? | Daily check, Pre-maintenance, Post-incident, Pre-upgrade | Prioritizes which dimensions to check first |
Additional Context (by tier)
If Self-Hosted:
| Question | Options | Why It Matters |
| Access available? | SQL + CLI, SQL only | Determines which tools can be used |
| Cloud provider? | AWS, GCP, Azure, On-Premises | Affects infrastructure-level checks |
| Kubernetes deployment? | Yes (Operator, Helm, manual), No | Changes CLI commands and monitoring |
| Node count and regions? | e.g., 9 nodes, 3 regions | Sets expectations for query results |
If Advanced or BYOC:
| Question | Options | Why It Matters |
| Cloud provider? (BYOC only) | AWS, GCP, Azure | For infrastructure-level monitoring in your cloud account |
If Standard:
| Question | Options | Why It Matters |
| Current provisioned vCPUs? | Number | Context for compute utilization assessment |
If Basic: No additional context needed.
Context-Driven Routing
| Tier | Go To |
| Self-Hosted | Self-Hosted Health Check |
| Advanced | Advanced Health Check |
| BYOC | BYOC Health Check |
| Standard | Standard Health Check |
| Basic | Basic Health Check |
Self-Hosted Health Check
Applies when: Tier = Self-Hosted
Self-Hosted node-level health is read primarily through cockroach node status (CLI) and the DB Console. Cluster settings and jobs are read through public SQL (SHOW ALL CLUSTER SETTINGS, SHOW JOBS). The crdb_internal virtual tables for cluster topology, storage, and certificates are not for production use — see the docs for the production-safe table list.
Check 1: Node Liveness, Version, and Replication
cockroach node status --decommission --certs-dir=<certs-dir> --host=<any-live-node>Key columns:
is_live—falserequires immediate investigationis_draining,is_decommissioning,membership— flag in-progress lifecycle operationsstarted_at— compare across runs to spot flapping (node restarts)build— version per node; should be a single value (or two during a rolling upgrade)ranges_underreplicated— non-zero indicates ranges below the zone'snum_replicas
For finer-grained range breakdown, use the DB Console Replication page.
Check 2: Storage Capacity
No production-safe SQL view exposes per-store capacity. Use:
- DB Console Overview → Storage for per-node usage
- The Prometheus metric endpoint on each node:
curl -ks https://<node>:8080/_status/vars | grep '^capacity'(capacity,capacity_used,capacity_available)
Check 3: Certificate Expiration
No SQL view exposes node certificate expiration. Use one of:
cockroach cert list --certs-dir=<certs-dir>to inspect certs locally on each nodeopenssl x509 -in <cert.crt> -noout -enddatefor a single cert file- The Prometheus metric endpoint:
curl -ks https://<node>:8080/_status/vars | grep '^security_certificate_expiration_'(UNIX-timestamp seconds;node,ca,client_ca,ui_ca)
Treat anything within 90 days as EXPIRING_SOON.
Check 4: Critical Settings
SELECT variable, value FROM [SHOW ALL CLUSTER SETTINGS]
WHERE variable IN (
'kv.rangefeed.enabled', 'sql.stats.automatic_collection.enabled',
'server.time_until_store_dead', 'admission.kv.enabled',
'cluster.preserve_downgrade_option'
) ORDER BY variable;gc.ttlseconds is a zone-config parameter, not a cluster setting; check the effective value with SHOW ZONE CONFIGURATION FOR ... against the relevant table/database/range.
Check 5: Consolidated Summary
The DB Console Cluster Overview page consolidates live/dead node count, version distribution, range counts, and storage. From the CLI:
cockroach node status --decommission --certs-dir=<certs-dir> --host=<any-live-node>then aggregate the columns of interest in your shell. The cluster's logical version comes from SQL:
SELECT value AS cluster_version FROM [SHOW CLUSTER SETTING version];If reason = Pre-maintenance, also check for running jobs:
WITH j AS (SHOW JOBS)
SELECT job_type, COUNT(*) FROM j WHERE status = 'running' GROUP BY job_type;Check 6: Production Readiness Assessment
Use when verifying a cluster is ready for production workloads or during periodic operational reviews.
# Node count, liveness, and locality diversity
cockroach node status --decommission --certs-dir=<certs-dir> --host=<any-live-node>In the output, count rows with is_live = true (production wants ≥ 3) and check that locality shows multiple regions/zones.
-- Critical production settings check
SELECT variable, value,
CASE
WHEN variable = 'kv.rangefeed.enabled' AND value = 'true' THEN 'OK'
WHEN variable = 'kv.rangefeed.enabled' AND value = 'false' THEN 'WARN: should be true for CDC'
WHEN variable = 'sql.stats.automatic_collection.enabled' AND value = 'true' THEN 'OK'
WHEN variable = 'sql.stats.automatic_collection.enabled' AND value = 'false' THEN 'WARN: should be true'
WHEN variable = 'admission.kv.enabled' AND value = 'true' THEN 'OK'
WHEN variable = 'admission.kv.enabled' AND value = 'false' THEN 'WARN: recommended for production'
WHEN variable = 'cluster.preserve_downgrade_option' AND value != '' THEN 'INFO: finalization pending'
ELSE 'OK'
END AS assessment
FROM [SHOW ALL CLUSTER SETTINGS]
WHERE variable IN (
'kv.rangefeed.enabled', 'sql.stats.automatic_collection.enabled',
'admission.kv.enabled', 'cluster.preserve_downgrade_option',
'server.time_until_store_dead'
) ORDER BY variable;
-- Enterprise license status (Self-Hosted only)
SELECT value AS organization FROM [SHOW CLUSTER SETTING cluster.organization];See production-readiness reference for the full production readiness checklist.
Advanced Health Check
Applies when: Tier = Advanced
Advanced clusters are dedicated single-tenant clusters managed by Cockroach Labs. You have node-level visibility via both Cloud Console and SQL.
Cloud Console Checks
- Cluster Overview — verify all nodes are live, check node count
- Metrics — CPU utilization, QPS, P99 latency, storage utilization
- Alerts — check for active alerts
CLI + SQL Checks
# Node liveness, version, and replication status
cockroach node status --decommission --certs-dir=<certs-dir> --host=<any-live-node>Look at is_live, build, and ranges_underreplicated per node.
-- Recent failed jobs
WITH j AS (SHOW JOBS)
SELECT job_type, status, COUNT(*) FROM j
WHERE status IN ('running', 'failed') AND created > now() - INTERVAL '24 hours'
GROUP BY job_type, status;Cloud API
curl -s -H "Authorization: Bearer $COCKROACH_API_KEY" \
"https://cockroachlabs.cloud/api/v1/clusters/<cluster-id>" | jq '.state, .cockroach_version'BYOC Health Check
Applies when: Tier = BYOC
BYOC clusters are dedicated and run in your cloud account. You have the same CockroachDB visibility as Advanced, plus direct access to the underlying infrastructure.
CockroachDB Health
Run all Advanced Health Check steps.
Cloud Provider Infrastructure Checks
If AWS:
aws ec2 describe-instance-status --filters "Name=tag:cockroach-cluster,Values=<cluster-name>"If GCP:
gcloud compute instances list --filter="labels.cockroach-cluster=<cluster-name>"If Azure:
az vm list --resource-group <rg> --query "[?tags.cockroachCluster=='<cluster-name>']"Additional BYOC Checks
- Verify VPC/network connectivity (PrivateLink, PSC, VPC Peering)
- Check IAM roles — CRL service account permissions still valid
- Review cloud provider monitoring for infrastructure-level anomalies
Standard Health Check
Applies when: Tier = Standard
Standard is a multi-tenant managed service. There are no individual nodes to monitor — Cockroach Labs manages all infrastructure, replication, and capacity. Health checking focuses on your workload performance and provisioned compute.
Cloud Console Checks
- Cluster Overview — verify cluster state is
RUNNING - SQL Activity — statement and transaction latency, error rates
- Storage — current usage
- Compute — provisioned vCPU utilization
SQL Checks
-- Verify connectivity
SELECT 1;
-- Current version
SELECT version();
-- Recent failed jobs
WITH j AS (SHOW JOBS)
SELECT job_type, status, description FROM j
WHERE status = 'failed' AND created > now() - INTERVAL '24 hours';What to Monitor
- P99 SQL latency — track via Cloud Console Metrics
- Error rates — check for spikes in statement errors
- Storage growth — plan based on usage trends
- Compute utilization — increase provisioned vCPUs if utilization is consistently high
Note: Node-level visibility is not available on Standard. Use Cloud Console for all infrastructure health monitoring.
Basic Health Check
Applies when: Tier = Basic
Basic is a serverless offering that auto-scales. There are no nodes or provisioned compute to monitor. Cockroach Labs manages all infrastructure. Health checking focuses on connectivity, consumption, and spending.
Cloud Console Checks
- Cluster Overview — verify state is
RUNNING - Request Units — consumption rate and remaining budget
- Storage — current usage (10 GiB included free)
- Spending Limits — verify limits are configured to avoid unexpected charges
SQL Checks
-- Verify connectivity
SELECT 1;
-- Current version
SELECT version();
-- Recent failed jobs
WITH j AS (SHOW JOBS)
SELECT job_type, status, description FROM j
WHERE status = 'failed' AND created > now() - INTERVAL '24 hours';What to Monitor
- Request Unit (RU) consumption — track via Cloud Console to stay within spending limits
- Storage usage — monitor growth relative to the 10 GiB free tier
- Query efficiency — optimize queries that consume excessive RUs
- Cold start latency — Basic clusters may scale to zero during inactivity; first connection after idle may have higher latency
Safety Considerations
All checks in this skill are read-only. No data is modified.
- Self-Hosted:
cockroach node statusrequires CLI access (or admin SQL privilege if you need to fall back to internal tables). Most node-level health queries have no production-safe SQL alternative. - Advanced/BYOC:
cockroach node statusworks the same way; certificate inspection is managed by Cockroach Labs. - Standard/Basic: No node-level visibility by design — use the Cloud Console.
Troubleshooting
| Issue | Tier | Fix |
cockroach node status errors with permission denied | SH | Use a cert with admin or VIEWCLUSTERMETADATA |
Node missing from cockroach node status output | SH | Check node process; verify --join address |
| Standard/Basic SQL doesn't expose node tables | STD/BAS | Expected — use Cloud Console |
| Cloud Console shows degraded | ADV/BYOC | Check Cloud status page; contact support |
| High RU consumption | BAS | Profile queries; set spending limits |
| Cloud API returns 401 | ADV/BYOC | Regenerate API key |
| High latency on first connection | BAS | Expected cold start after idle period |
References
Skill references:
- Production readiness checklist
Related skills:
- upgrading-cluster-version
- managing-cluster-capacity
- performing-cluster-maintenance
- monitoring-background-jobs
Official CockroachDB Documentation:
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

