Skip to content

Commit 23808d0

Browse files
authored
Update Cassandra example config (#1120)
Cassandra has added a lot more metrics recently. The existing example config results in a scrape time of 15-30 seconds and more than doubles Cassandra's CPU usage in our setup. This changes the example config to use a whitelist approach with a sample whitelist which takes a much more reasonable 200 ms to scrape. Signed-off-by: Russ Garrett <russ@garrett.co.uk>
1 parent 8929789 commit 23808d0

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

examples/cassandra.yml

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,43 @@
11
lowercaseOutputLabelNames: true
22
lowercaseOutputName: true
3-
whitelistObjectNames: ["org.apache.cassandra.metrics:*"]
43

5-
blacklistObjectNames:
6-
# ColumnFamily is an alias for Table metrics
7-
- "org.apache.cassandra.metrics:type=ColumnFamily,*"
8-
# TotalDiskSpaceUsed and EstimatedPartitionCount slow down scraping significantly
9-
- "org.apache.cassandra.metrics:*,name=TotalDiskSpaceUsed"
10-
- "org.apache.cassandra.metrics:*,name=EstimatedPartitionCount"
4+
# Cassandra has a lot of metrics, and some of them are quite slow to query.
5+
# Fetching all available metrics causes a lot of Cassandra CPU usage and will
6+
# likely exceed your scrape timeout, so it's recommended to use a whitelist
7+
# approach. An example whitelist is provided here.
8+
#
9+
# You can run `jmxtool dump` on a Cassandra node to list all available metrics,
10+
# and there is some documentation available here:
11+
# https://cassandra.apache.org/doc/5.0/cassandra/managing/operating/metrics.html
12+
whitelistObjectNames:
13+
- "org.apache.cassandra.metrics:type=Client,*"
14+
- "org.apache.cassandra.metrics:type=Compaction,*"
15+
- "org.apache.cassandra.metrics:type=Connection,name=Timeouts,*"
16+
- "org.apache.cassandra.metrics:type=DroppedMessage,name=Dropped,*"
17+
- "org.apache.cassandra.metrics:type=Keyspace,name=AllMemtablesLiveDataSize,*"
18+
- "org.apache.cassandra.metrics:type=Keyspace,name=AllMemtablesOffHeapDataSize,*"
19+
- "org.apache.cassandra.metrics:type=Keyspace,name=AllMemtablesOnHeapDataSize,*"
20+
- "org.apache.cassandra.metrics:type=Keyspace,name=AntiCompactionTime,*"
21+
- "org.apache.cassandra.metrics:type=Keyspace,name=BloomFilterFalsePositives,*"
22+
- "org.apache.cassandra.metrics:type=Keyspace,name=BloomFilterFalseRatio,*"
23+
- "org.apache.cassandra.metrics:type=Keyspace,name=BytesValidated,*"
24+
- "org.apache.cassandra.metrics:type=Keyspace,name=ReadLatency,*"
25+
- "org.apache.cassandra.metrics:type=Keyspace,name=ReadTotalLatency,*"
26+
- "org.apache.cassandra.metrics:type=Keyspace,name=RepairedDataInconsistenciesConfirmed,*"
27+
- "org.apache.cassandra.metrics:type=Keyspace,name=RepairJobsCompleted,*"
28+
- "org.apache.cassandra.metrics:type=Keyspace,name=RepairJobsStarted,*"
29+
- "org.apache.cassandra.metrics:type=Keyspace,name=RepairTime,*"
30+
- "org.apache.cassandra.metrics:type=Keyspace,name=WriteLatency,*"
31+
- "org.apache.cassandra.metrics:type=Keyspace,name=WriteTotalLatency,*"
32+
- "org.apache.cassandra.metrics:type=Keyspace,name=PendingCompactions,*"
33+
- "org.apache.cassandra.metrics:type=ReadRepair,*"
34+
- "org.apache.cassandra.metrics:type=Storage,name=Exceptions,*"
35+
- "org.apache.cassandra.metrics:type=Storage,name=Load,*"
36+
- "org.apache.cassandra.metrics:type=Storage,name=RepairExceptions,*"
37+
- "org.apache.cassandra.metrics:type=Storage,name=TotalHints,*"
38+
- "org.apache.cassandra.metrics:type=ThreadPools,*"
39+
- "org.apache.cassandra.metrics:type=ColumnFamily,*,name=LiveSSTableCount"
40+
- "org.apache.cassandra.metrics:type=ColumnFamily,*,name=BytesUnrepaired"
1141

1242
rules:
1343
# Generic gauges with 0-2 labels

0 commit comments

Comments
 (0)