You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: charts/observability-stack/README.md
+55Lines changed: 55 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,6 +102,61 @@ Configured via `scrapeConfigs` in `values.yaml`. Default K8s scrape jobs are dis
102
102
103
103
> **Note:** Targets use the helm release name as prefix. The values in `values.yaml` are hardcoded to `obs-stack-*` — update them if you change the release name.
104
104
105
+
## Sizing Guide
106
+
107
+
The default values are tuned for development/demo (single-node OpenSearch, minimal resources). For production or enterprise-scale deployments, adjust the following knobs.
108
+
109
+
### OpenSearch Cluster
110
+
111
+
| Knob | Default | Production Guidance |
112
+
|------|---------|---------------------|
113
+
| `opensearch.replicas` | `1` | 3+ data nodes minimum for HA |
114
+
| `opensearch.singleNode` | `true` | Set `false` for multi-node |
The 1.45x multiplier accounts for indexing overhead (10%), OS reserved space for merges (20%), filesystem overhead (5%), and node failure buffer (10%).
124
+
125
+
**Shard sizing:**
126
+
- Logs/traces (write-heavy): 30–50 GB per primary shard
127
+
- Search (latency-sensitive): 10–30 GB per primary shard
128
+
- Total shards should be a multiple of data node count
129
+
- Max 25 shards per GB of JVM heap
130
+
131
+
Shard count is configurable per Data Prepper pipeline sink via `number_of_shards` and `number_of_replicas` (commented out in `values.yaml`).
0 commit comments