First pass at embedding existing jmx integrations
Using copy/paste from integrations-core. Will depend on a new jmxfetch release with https://github.com/DataDog/jmxfetch/pull/205 before this will work.
This commit is contained in:
parent
db425bb7b1
commit
de166e5ecb
|
@ -2,9 +2,16 @@ package datadog.trace.agent.jmxfetch;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import datadog.trace.api.Config;
|
import datadog.trace.api.Config;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.datadog.jmxfetch.App;
|
import org.datadog.jmxfetch.App;
|
||||||
import org.datadog.jmxfetch.AppConfig;
|
import org.datadog.jmxfetch.AppConfig;
|
||||||
|
|
||||||
|
@ -27,6 +34,7 @@ public class JMXFetch {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final List<String> internalMetricsConfigs = getInternalMetricFiles();
|
||||||
final List<String> metricsConfigs = config.getJmxFetchMetricsConfigs();
|
final List<String> metricsConfigs = config.getJmxFetchMetricsConfigs();
|
||||||
final Integer checkPeriod = config.getJmxFetchCheckPeriod();
|
final Integer checkPeriod = config.getJmxFetchCheckPeriod();
|
||||||
final Integer refreshBeansPeriod = config.getJmxFetchRefreshBeansPeriod();
|
final Integer refreshBeansPeriod = config.getJmxFetchRefreshBeansPeriod();
|
||||||
|
@ -36,7 +44,8 @@ public class JMXFetch {
|
||||||
final String logLevel = getLogLevel();
|
final String logLevel = getLogLevel();
|
||||||
|
|
||||||
log.error(
|
log.error(
|
||||||
"JMXFetch config: {} {} {} {} {} {} {}",
|
"JMXFetch config: {} {} {} {} {} {} {} {}",
|
||||||
|
internalMetricsConfigs,
|
||||||
metricsConfigs,
|
metricsConfigs,
|
||||||
checkPeriod,
|
checkPeriod,
|
||||||
refreshBeansPeriod,
|
refreshBeansPeriod,
|
||||||
|
@ -47,6 +56,7 @@ public class JMXFetch {
|
||||||
final AppConfig appConfig =
|
final AppConfig appConfig =
|
||||||
AppConfig.create(
|
AppConfig.create(
|
||||||
DEFAULT_CONFIGS,
|
DEFAULT_CONFIGS,
|
||||||
|
internalMetricsConfigs,
|
||||||
metricsConfigs,
|
metricsConfigs,
|
||||||
checkPeriod,
|
checkPeriod,
|
||||||
refreshBeansPeriod,
|
refreshBeansPeriod,
|
||||||
|
@ -95,6 +105,29 @@ public class JMXFetch {
|
||||||
return "statsd:" + host + ":" + config.getJmxFetchStatsdPort();
|
return "statsd:" + host + ":" + config.getJmxFetchStatsdPort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static List<String> getInternalMetricFiles() {
|
||||||
|
try {
|
||||||
|
final InputStream metricConfigsStream =
|
||||||
|
JMXFetch.class.getResourceAsStream("metricconfigs.txt");
|
||||||
|
if (metricConfigsStream == null) {
|
||||||
|
log.debug("metricconfigs not found. returning empty set");
|
||||||
|
return Collections.emptyList();
|
||||||
|
} else {
|
||||||
|
final String configs = IOUtils.toString(metricConfigsStream, StandardCharsets.UTF_8);
|
||||||
|
final String[] split = configs.split("\n");
|
||||||
|
final List<String> result = new ArrayList<>(split.length);
|
||||||
|
for (final String config : split) {
|
||||||
|
final URL resource = JMXFetch.class.getResource("metricconfigs/" + config);
|
||||||
|
result.add(resource.getPath().split("\\.jar!/")[1]);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
} catch (final IOException e) {
|
||||||
|
log.debug("error reading metricconfigs. returning empty set", e);
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static String getLogLocation() {
|
private static String getLogLocation() {
|
||||||
return System.getProperty("org.slf4j.simpleLogger.logFile", "System.err");
|
return System.getProperty("org.slf4j.simpleLogger.logFile", "System.err");
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
activemq.yaml
|
||||||
|
cassandra.yaml
|
||||||
|
kafka.yaml
|
||||||
|
solr.yaml
|
||||||
|
tomcat.yaml
|
|
@ -0,0 +1,54 @@
|
||||||
|
# Default metrics collected by this check. You should not have to modify this.
|
||||||
|
jmx_metrics:
|
||||||
|
- include:
|
||||||
|
destinationType: Queue
|
||||||
|
attribute:
|
||||||
|
AverageEnqueueTime:
|
||||||
|
alias: activemq.queue.avg_enqueue_time
|
||||||
|
metric_type: gauge
|
||||||
|
ConsumerCount:
|
||||||
|
alias: activemq.queue.consumer_count
|
||||||
|
metric_type: gauge
|
||||||
|
ProducerCount:
|
||||||
|
alias: activemq.queue.producer_count
|
||||||
|
metric_type: gauge
|
||||||
|
MaxEnqueueTime:
|
||||||
|
alias: activemq.queue.max_enqueue_time
|
||||||
|
metric_type: gauge
|
||||||
|
MinEnqueueTime:
|
||||||
|
alias: activemq.queue.min_enqueue_time
|
||||||
|
metric_type: gauge
|
||||||
|
MemoryPercentUsage:
|
||||||
|
alias: activemq.queue.memory_pct
|
||||||
|
metric_type: gauge
|
||||||
|
QueueSize:
|
||||||
|
alias: activemq.queue.size
|
||||||
|
metric_type: gauge
|
||||||
|
DequeueCount:
|
||||||
|
alias: activemq.queue.dequeue_count
|
||||||
|
metric_type: counter
|
||||||
|
DispatchCount:
|
||||||
|
alias: activemq.queue.dispatch_count
|
||||||
|
metric_type: counter
|
||||||
|
EnqueueCount:
|
||||||
|
alias: activemq.queue.enqueue_count
|
||||||
|
metric_type: counter
|
||||||
|
ExpiredCount:
|
||||||
|
alias: activemq.queue.expired_count
|
||||||
|
metric_type: counter
|
||||||
|
InFlightCount:
|
||||||
|
alias: activemq.queue.in_flight_count
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
type: Broker
|
||||||
|
attribute:
|
||||||
|
StorePercentUsage:
|
||||||
|
alias: activemq.broker.store_pct
|
||||||
|
metric_type: gauge
|
||||||
|
TempPercentUsage:
|
||||||
|
alias: activemq.broker.temp_pct
|
||||||
|
metric_type: gauge
|
||||||
|
MemoryPercentUsage:
|
||||||
|
alias: activemq.broker.memory_pct
|
||||||
|
metric_type: gauge
|
|
@ -0,0 +1,427 @@
|
||||||
|
# Default metrics collected by this check. You should not have to modify this.
|
||||||
|
jmx_metrics:
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ClientRequest
|
||||||
|
name:
|
||||||
|
- Latency
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
- OneMinuteRate
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: DroppedMessage
|
||||||
|
name:
|
||||||
|
- Dropped
|
||||||
|
attribute:
|
||||||
|
- OneMinuteRate
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ThreadPools
|
||||||
|
scope:
|
||||||
|
- MutationStage
|
||||||
|
- CounterMutationStage
|
||||||
|
- ReadStage
|
||||||
|
- ViewMutationStage
|
||||||
|
name:
|
||||||
|
- PendingTasks
|
||||||
|
- CurrentlyBlockedTasks
|
||||||
|
path:
|
||||||
|
- request
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ThreadPools
|
||||||
|
scope:
|
||||||
|
- MemtableFlushWriter
|
||||||
|
- HintsDispatcher
|
||||||
|
- MemtablePostFlush
|
||||||
|
- MigrationStage
|
||||||
|
- MiscStage
|
||||||
|
- SecondaryIndexManagement
|
||||||
|
name:
|
||||||
|
- PendingTasks
|
||||||
|
- CurrentlyBlockedTasks
|
||||||
|
path:
|
||||||
|
- internal
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Storage
|
||||||
|
name:
|
||||||
|
- Load
|
||||||
|
- Exceptions
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Table
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- ReadLatency
|
||||||
|
- WriteLatency
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
- 99thPercentile
|
||||||
|
- OneMinuteRate
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Table
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- RangeLatency
|
||||||
|
- CasPrepareLatency
|
||||||
|
- CasProposeLatency
|
||||||
|
- CasCommitLatency
|
||||||
|
- ViewLockAcquireTime
|
||||||
|
- ViewReadTime
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
- OneMinuteRate
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Table
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- SSTablesPerReadHistogram
|
||||||
|
- TombstoneScannedHistogram
|
||||||
|
- WaitingOnFreeMemtableSpace
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Table
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- ColUpdateTimeDeltaHistogram
|
||||||
|
attribute:
|
||||||
|
- Min
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Table
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- BloomFilterFalseRatio
|
||||||
|
- CompressionRatio
|
||||||
|
- KeyCacheHitRate
|
||||||
|
- LiveSSTableCount
|
||||||
|
- MaxPartitionSize
|
||||||
|
- MeanPartitionSize
|
||||||
|
- MeanRowSize
|
||||||
|
- MaxRowSize
|
||||||
|
- PendingCompactions
|
||||||
|
- SnapshotsSize
|
||||||
|
attribute:
|
||||||
|
- Value
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Table
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- CompactionBytesWritten
|
||||||
|
- BytesFlushed
|
||||||
|
- PendingFlushes
|
||||||
|
- LiveDiskSpaceUsed
|
||||||
|
- TotalDiskSpaceUsed
|
||||||
|
- RowCacheHitOutOfRange
|
||||||
|
- RowCacheHit
|
||||||
|
- RowCacheMiss
|
||||||
|
attribute:
|
||||||
|
- Count
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: Cache
|
||||||
|
scope: KeyCache
|
||||||
|
name:
|
||||||
|
- HitRate
|
||||||
|
attribute:
|
||||||
|
- Count
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: CommitLog
|
||||||
|
name:
|
||||||
|
- PendingTasks
|
||||||
|
- TotalCommitLogSize
|
||||||
|
attribute:
|
||||||
|
- Value
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.db
|
||||||
|
type: Tables
|
||||||
|
attribute:
|
||||||
|
DroppableTombstoneRatio:
|
||||||
|
alias: cassandra.db.droppable_tombstone_ratio
|
||||||
|
# Young Gen Collectors (Minor Collections)
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: Copy
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_time
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: PS Scavenge
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_time
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: ParNew
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_time
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: G1 Young Generation
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.minor_collection_time
|
||||||
|
# Old Gen Collectors (Major collections)
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: MarkSweepCompact
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_time
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: PS MarkSweep
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_time
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: ConcurrentMarkSweep
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_time
|
||||||
|
- include:
|
||||||
|
domain: java.lang
|
||||||
|
type: GarbageCollector
|
||||||
|
name: G1 Mixed Generation
|
||||||
|
attribute:
|
||||||
|
CollectionCount:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_count
|
||||||
|
CollectionTime:
|
||||||
|
metric_type: counter
|
||||||
|
alias: jmx.gc.major_collection_time
|
||||||
|
# Deprecated metrics for pre Cassandra 3.0 versions compatibility.
|
||||||
|
# If you are using cassandra 2, the metrics below will be used,
|
||||||
|
# otherwise they will be ignored.
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ColumnFamily
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- ReadLatency
|
||||||
|
- WriteLatency
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
- 99thPercentile
|
||||||
|
- OneMinuteRate
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ColumnFamily
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- RangeLatency
|
||||||
|
- CasPrepareLatency
|
||||||
|
- CasProposeLatency
|
||||||
|
- CasCommitLatency
|
||||||
|
- ViewLockAcquireTime
|
||||||
|
- ViewReadTime
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
- OneMinuteRate
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ColumnFamily
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- SSTablesPerReadHistogram
|
||||||
|
- TombstoneScannedHistogram
|
||||||
|
- WaitingOnFreeMemtableSpace
|
||||||
|
attribute:
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ColumnFamily
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- ColUpdateTimeDeltaHistogram
|
||||||
|
attribute:
|
||||||
|
- Min
|
||||||
|
- 75thPercentile
|
||||||
|
- 95thPercentile
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ColumnFamily
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- BloomFilterFalseRatio
|
||||||
|
- CompressionRatio
|
||||||
|
- KeyCacheHitRate
|
||||||
|
- LiveSSTableCount
|
||||||
|
- MaxPartitionSize
|
||||||
|
- MeanPartitionSize
|
||||||
|
- MeanRowSize
|
||||||
|
- MaxRowSize
|
||||||
|
- PendingCompactions
|
||||||
|
- SnapshotsSize
|
||||||
|
attribute:
|
||||||
|
- Value
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.metrics
|
||||||
|
type: ColumnFamily
|
||||||
|
bean_regex:
|
||||||
|
- .*keyspace=.*
|
||||||
|
name:
|
||||||
|
- PendingFlushes
|
||||||
|
- LiveDiskSpaceUsed
|
||||||
|
- TotalDiskSpaceUsed
|
||||||
|
- RowCacheHitOutOfRange
|
||||||
|
- RowCacheHit
|
||||||
|
- RowCacheMiss
|
||||||
|
attribute:
|
||||||
|
- Count
|
||||||
|
exclude:
|
||||||
|
keyspace:
|
||||||
|
- system
|
||||||
|
- system_auth
|
||||||
|
- system_distributed
|
||||||
|
- system_schema
|
||||||
|
- system_traces
|
||||||
|
- include:
|
||||||
|
domain: org.apache.cassandra.db
|
||||||
|
type: ColumnFamilies
|
||||||
|
attribute:
|
||||||
|
DroppableTombstoneRatio:
|
||||||
|
alias: cassandra.db.droppable_tombstone_ratio
|
|
@ -0,0 +1,566 @@
|
||||||
|
# Metrics collected by this check. You should not have to modify this.
|
||||||
|
jmx_metrics:
|
||||||
|
#
|
||||||
|
# Producers (only v0.8.2.x)
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=ProducerRequestMetrics,name=ProducerRequestRateAndTimeMs,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.producer.request_rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=ProducerRequestMetrics,name=ProducerRequestRateAndTimeMs,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.request_latency_avg
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=ProducerTopicMetrics,name=BytesPerSec,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.producer.bytes_out
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=ProducerTopicMetrics,name=MessagesPerSec,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.producer.message_rate
|
||||||
|
|
||||||
|
#
|
||||||
|
# Producers (v0.9.0.x to v0.10.2.x)
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
response-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.response_rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
request-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.request_rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
request-latency-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.request_latency_avg
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
outgoing-byte-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.bytes_out
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
io-wait-time-ns-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.io_wait
|
||||||
|
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka.producer:type=producer-metrics,client-id=([-.\w]+)'
|
||||||
|
attribute:
|
||||||
|
- waiting-threads:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.waiting_threads
|
||||||
|
- buffer-total-bytes:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.buffer_bytes_total
|
||||||
|
- buffer-available-bytes:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.available_buffer_bytes
|
||||||
|
- bufferpool-wait-time:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.bufferpool_wait_time
|
||||||
|
- batch-size-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.batch_size_avg
|
||||||
|
- batch-size-max:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.batch_size_max
|
||||||
|
- compression-rate-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.compression_rate_avg
|
||||||
|
- record-queue-time-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_queue_time_avg
|
||||||
|
- record-queue-time-max:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_queue_time_max
|
||||||
|
- request-latency-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.request_latency_avg
|
||||||
|
- request-latency-max:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.request_latency_max
|
||||||
|
- record-send-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.records_send_rate
|
||||||
|
- records-per-request-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.records_per_request
|
||||||
|
- record-retry-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_retry_rate
|
||||||
|
- record-error-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_error_rate
|
||||||
|
- record-size-max:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_size_max
|
||||||
|
- record-size-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_size_avg
|
||||||
|
- requests-in-flight:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.requests_in_flight
|
||||||
|
- metadata-age:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.metadata_age
|
||||||
|
- produce-throttle-time-max:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.throttle_time_max
|
||||||
|
- produce-throttle-time-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.throttle_time_avg
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Producers: Per Topic Metrics
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-topic-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
byte-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.bytes_out
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-topic-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
record-send-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_send_rate
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-topic-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
compression-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.compression_rate
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-topic-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
record-retry-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_retry_rate
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.producer'
|
||||||
|
bean_regex: 'kafka\.producer:type=producer-topic-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
record-error-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.producer.record_error_rate
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
|
||||||
|
#
|
||||||
|
# Consumers (only v0.8.2.x)
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=ConsumerFetcherManager,name=MaxLag,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.max_lag
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=ConsumerFetcherManager,name=MinFetchRate,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.fetch_rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=ConsumerTopicMetrics,name=BytesPerSec,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.consumer.bytes_in
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=ConsumerTopicMetrics,name=MessagesPerSec,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.consumer.messages_in
|
||||||
|
- include:
|
||||||
|
# Offsets committed to ZooKeeper
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=ZookeeperConsumerConnector,name=ZooKeeperCommitsPerSec,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.consumer.zookeeper_commits
|
||||||
|
- include:
|
||||||
|
# Offsets committed to Kafka
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=ZookeeperConsumerConnector,name=KafkaCommitsPerSec,clientId=.*'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.consumer.kafka_commits
|
||||||
|
|
||||||
|
#
|
||||||
|
# Consumers (v0.9.0.x to v0.10.2.x)
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
bytes-consumed-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.bytes_in
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=.*'
|
||||||
|
attribute:
|
||||||
|
records-consumed-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.messages_in
|
||||||
|
|
||||||
|
#
|
||||||
|
# Consumers: Per Topic Metrics
|
||||||
|
#
|
||||||
|
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
fetch-size-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.fetch_size_avg
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
fetch-size-max:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.fetch_size_max
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
bytes-consumed-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.bytes_consumed
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
records-per-request-avg:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.records_per_request_avg
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.consumer'
|
||||||
|
bean_regex: 'kafka\.consumer:type=consumer-fetch-manager-metrics,client-id=(.*?),topic=(.*?)(?:,|$)'
|
||||||
|
attribute:
|
||||||
|
records-consumed-rate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.consumer.records_consumed
|
||||||
|
tags:
|
||||||
|
client: $1
|
||||||
|
topic: $2
|
||||||
|
|
||||||
|
#
|
||||||
|
# Aggregate cluster stats
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.net.bytes_out.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.net.bytes_in.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.messages_in.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.net.bytes_rejected.rate
|
||||||
|
|
||||||
|
#
|
||||||
|
# Per Topic Broker Stats
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: '"kafka.server"'
|
||||||
|
bean_regex: '"kafka.server":type="BrokerTopicMetrics",name="(.*?)-MessagesInPerSec"'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.topic.messages_in.rate
|
||||||
|
tags:
|
||||||
|
topic: $1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Request timings
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.request.fetch.failed.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.request.produce.failed.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=RequestsPerSec,request=Produce'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.request.produce.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.produce.time.avg
|
||||||
|
99thPercentile:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.produce.time.99percentile
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FetchConsumer'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.request.fetch_consumer.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FetchFollower'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.request.fetch_follower.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.fetch_consumer.time.avg
|
||||||
|
99thPercentile:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.fetch_consumer.time.99percentile
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.fetch_follower.time.avg
|
||||||
|
99thPercentile:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.fetch_follower.time.99percentile
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.update_metadata.time.avg
|
||||||
|
99thPercentile:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.update_metadata.time.99percentile
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Metadata'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.metadata.time.avg
|
||||||
|
99thPercentile:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.metadata.time.99percentile
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.network'
|
||||||
|
bean: 'kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Offsets'
|
||||||
|
attribute:
|
||||||
|
Mean:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.offsets.time.avg
|
||||||
|
99thPercentile:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.offsets.time.99percentile
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent'
|
||||||
|
attribute:
|
||||||
|
OneMinuteRate:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.handler.avg.idle.pct.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ProducerRequestPurgatory,name=PurgatorySize'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.producer_request_purgatory.size
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=FetchRequestPurgatory,name=PurgatorySize'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.request.fetch_request_purgatory.size
|
||||||
|
|
||||||
|
#
|
||||||
|
# Replication stats
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.replication.under_replicated_partitions
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ReplicaManager,name=IsrShrinksPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.replication.isr_shrinks.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ReplicaManager,name=IsrExpandsPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.replication.isr_expands.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.controller'
|
||||||
|
bean: 'kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.replication.leader_elections.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.controller'
|
||||||
|
bean: 'kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.replication.unclean_leader_elections.rate
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.controller'
|
||||||
|
bean: 'kafka.controller:type=KafkaController,name=OfflinePartitionsCount'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.replication.offline_partitions_count
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.controller'
|
||||||
|
bean: 'kafka.controller:type=KafkaController,name=ActiveControllerCount'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.replication.active_controller_count
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ReplicaManager,name=PartitionCount'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.replication.partition_count
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ReplicaManager,name=LeaderCount'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.replication.leader_count
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.server'
|
||||||
|
bean: 'kafka.server:type=ReplicaFetcherManager,name=MaxLag,clientId=Replica'
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
metric_type: gauge
|
||||||
|
alias: kafka.replication.max_lag
|
||||||
|
|
||||||
|
#
|
||||||
|
# Log flush stats
|
||||||
|
#
|
||||||
|
- include:
|
||||||
|
domain: 'kafka.log'
|
||||||
|
bean: 'kafka.log:type=LogFlushStats,name=LogFlushRateAndTimeMs'
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
metric_type: rate
|
||||||
|
alias: kafka.log.flush_rate.rate
|
|
@ -0,0 +1,200 @@
|
||||||
|
# Default metrics collected by this check. You should not have to modify this.
|
||||||
|
jmx_metrics:
|
||||||
|
|
||||||
|
# Solr versions >= 7.0
|
||||||
|
- include:
|
||||||
|
category: SEARCHER
|
||||||
|
name:
|
||||||
|
- numDocs
|
||||||
|
scope:
|
||||||
|
- searcher
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
alias: solr.searcher.numdocs
|
||||||
|
metric_type: gauge
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: SEARCHER
|
||||||
|
name: maxDoc
|
||||||
|
scope:
|
||||||
|
- searcher
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
alias: solr.searcher.maxdocs
|
||||||
|
metric_type: gauge
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: SEARCHER
|
||||||
|
name: warmupTime
|
||||||
|
scope:
|
||||||
|
- searcher
|
||||||
|
attribute:
|
||||||
|
Value:
|
||||||
|
alias: solr.searcher.warmup
|
||||||
|
metric_type: gauge
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: CACHE
|
||||||
|
name: documentCache
|
||||||
|
scope:
|
||||||
|
- searcher
|
||||||
|
attribute:
|
||||||
|
cumulative_lookups:
|
||||||
|
alias: solr.document_cache.lookups
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_hits:
|
||||||
|
alias: solr.document_cache.hits
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_inserts:
|
||||||
|
alias: solr.document_cache.inserts
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_evictions:
|
||||||
|
alias: solr.document_cache.evictions
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: CACHE
|
||||||
|
name: queryResultCache
|
||||||
|
scope:
|
||||||
|
- searcher
|
||||||
|
attribute:
|
||||||
|
cumulative_lookups:
|
||||||
|
alias: solr.query_result_cache.lookups
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_hits:
|
||||||
|
alias: solr.query_result_cache.hits
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_inserts:
|
||||||
|
alias: solr.query_result_cache.inserts
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_evictions:
|
||||||
|
alias: solr.query_result_cache.evictions
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: CACHE
|
||||||
|
name: filterCache
|
||||||
|
scope:
|
||||||
|
- searcher
|
||||||
|
attribute:
|
||||||
|
cumulative_lookups:
|
||||||
|
alias: solr.filter_cache.lookups
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_hits:
|
||||||
|
alias: solr.filter_cache.hits
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_inserts:
|
||||||
|
alias: solr.filter_cache.inserts
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_evictions:
|
||||||
|
alias: solr.filter_cache.evictions
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: QUERY
|
||||||
|
name: requests
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
alias: solr.search_handler.requests
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: QUERY
|
||||||
|
name: timeouts
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
alias: solr.search_handler.timeouts
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: QUERY
|
||||||
|
name: errors
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
alias: solr.search_handler.errors
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: QUERY
|
||||||
|
name: totalTime
|
||||||
|
attribute:
|
||||||
|
Count:
|
||||||
|
alias: solr.search_handler.time
|
||||||
|
metric_type: counter
|
||||||
|
|
||||||
|
- include:
|
||||||
|
category: QUERY
|
||||||
|
name: requestTimes
|
||||||
|
attribute:
|
||||||
|
avgRequestsPerSecond:
|
||||||
|
alias: solr.search_handler.avg_requests_per_sec
|
||||||
|
metric_type: gauge
|
||||||
|
avgTimePerRequest:
|
||||||
|
alias: solr.search_handler.avg_time_per_req
|
||||||
|
metric_type: gauge
|
||||||
|
|
||||||
|
|
||||||
|
# Solr versions < 7.0
|
||||||
|
- include:
|
||||||
|
type: searcher
|
||||||
|
attribute:
|
||||||
|
maxDoc:
|
||||||
|
alias: solr.searcher.maxdoc
|
||||||
|
metric_type: gauge
|
||||||
|
numDocs:
|
||||||
|
alias: solr.searcher.numdocs
|
||||||
|
metric_type: gauge
|
||||||
|
warmupTime:
|
||||||
|
alias: solr.searcher.warmup
|
||||||
|
metric_type: gauge
|
||||||
|
- include:
|
||||||
|
id: org.apache.solr.search.FastLRUCache
|
||||||
|
attribute:
|
||||||
|
cumulative_lookups:
|
||||||
|
alias: solr.cache.lookups
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_hits:
|
||||||
|
alias: solr.cache.hits
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_inserts:
|
||||||
|
alias: solr.cache.inserts
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_evictions:
|
||||||
|
alias: solr.cache.evictions
|
||||||
|
metric_type: counter
|
||||||
|
- include:
|
||||||
|
id: org.apache.solr.search.LRUCache
|
||||||
|
attribute:
|
||||||
|
cumulative_lookups:
|
||||||
|
alias: solr.cache.lookups
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_hits:
|
||||||
|
alias: solr.cache.hits
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_inserts:
|
||||||
|
alias: solr.cache.inserts
|
||||||
|
metric_type: counter
|
||||||
|
cumulative_evictions:
|
||||||
|
alias: solr.cache.evictions
|
||||||
|
metric_type: counter
|
||||||
|
- include:
|
||||||
|
id: org.apache.solr.handler.component.SearchHandler
|
||||||
|
attribute:
|
||||||
|
errors:
|
||||||
|
alias: solr.search_handler.errors
|
||||||
|
metric_type: counter
|
||||||
|
requests:
|
||||||
|
alias: solr.search_handler.requests
|
||||||
|
metric_type: counter
|
||||||
|
timeouts:
|
||||||
|
alias: solr.search_handler.timeouts
|
||||||
|
metric_type: counter
|
||||||
|
totalTime:
|
||||||
|
alias: solr.search_handler.time
|
||||||
|
metric_type: counter
|
||||||
|
avgTimePerRequest:
|
||||||
|
alias: solr.search_handler.avg_time_per_req
|
||||||
|
metric_type: gauge
|
||||||
|
avgRequestsPerSecond:
|
||||||
|
alias: solr.search_handler.avg_requests_per_sec
|
||||||
|
metric_type: gauge
|
|
@ -0,0 +1,65 @@
|
||||||
|
# Default metrics collected by this check. You should not have to modify this.
|
||||||
|
jmx_metrics:
|
||||||
|
- include:
|
||||||
|
type: ThreadPool
|
||||||
|
attribute:
|
||||||
|
maxThreads:
|
||||||
|
alias: tomcat.threads.max
|
||||||
|
metric_type: gauge
|
||||||
|
currentThreadCount:
|
||||||
|
alias: tomcat.threads.count
|
||||||
|
metric_type: gauge
|
||||||
|
currentThreadsBusy:
|
||||||
|
alias: tomcat.threads.busy
|
||||||
|
metric_type: gauge
|
||||||
|
- include:
|
||||||
|
type: GlobalRequestProcessor
|
||||||
|
attribute:
|
||||||
|
bytesSent:
|
||||||
|
alias: tomcat.bytes_sent
|
||||||
|
metric_type: counter
|
||||||
|
bytesReceived:
|
||||||
|
alias: tomcat.bytes_rcvd
|
||||||
|
metric_type: counter
|
||||||
|
errorCount:
|
||||||
|
alias: tomcat.error_count
|
||||||
|
metric_type: counter
|
||||||
|
requestCount:
|
||||||
|
alias: tomcat.request_count
|
||||||
|
metric_type: counter
|
||||||
|
maxTime:
|
||||||
|
alias: tomcat.max_time
|
||||||
|
metric_type: gauge
|
||||||
|
processingTime:
|
||||||
|
alias: tomcat.processing_time
|
||||||
|
metric_type: counter
|
||||||
|
- include:
|
||||||
|
j2eeType: Servlet
|
||||||
|
attribute:
|
||||||
|
processingTime:
|
||||||
|
alias: tomcat.servlet.processing_time
|
||||||
|
metric_type: counter
|
||||||
|
errorCount:
|
||||||
|
alias: tomcat.servlet.error_count
|
||||||
|
metric_type: counter
|
||||||
|
requestCount:
|
||||||
|
alias: tomcat.servlet.request_count
|
||||||
|
metric_type: counter
|
||||||
|
- include:
|
||||||
|
type: Cache
|
||||||
|
attribute:
|
||||||
|
accessCount:
|
||||||
|
alias: tomcat.cache.access_count
|
||||||
|
metric_type: counter
|
||||||
|
hitsCounts:
|
||||||
|
alias: tomcat.cache.hits_count
|
||||||
|
metric_type: counter
|
||||||
|
- include:
|
||||||
|
type: JspMonitor
|
||||||
|
attribute:
|
||||||
|
jspCount:
|
||||||
|
alias: tomcat.jsp.count
|
||||||
|
metric_type: counter
|
||||||
|
jspReloadCount:
|
||||||
|
alias: tomcat.jsp.reload_count
|
||||||
|
metric_type: counter
|
Loading…
Reference in New Issue