目录
Apache Cassandra 是一个开源分布式 NoSQL 数据库管理系统,旨在处理跨多个商品服务器的大量数据,提供高可用性且没有单点故障。Cassandra 为跨多个数据中心的集群提供强大的支持,异步无主复制允许所有客户端的低延迟操作。Cassandra 起源于 Facebook,是一个基于 Amazon 的 Dynamo 和 Google 的 BigTable 的项目,此后发展成为广泛采用的开源系统。
Apache Cassandra 是一个 NoSQL 数据库,有时也称为 Not Only SQL 数据库。它们旨在为用户提供一种存储和检索数据的方式,而不是关系数据库中常用的表格修订类型。它们是无模式的,支持轻松复制,并且可以同时处理大量数据。
Apache Cassandra 具有可扩展性、容错性和一致性,同时也是一个面向列的数据库。其分布式设计基于 Amazon Dynamo,数据模型基于 Google 的 Bigtable。它的构建旨在实现 Dynamo 风格的复制模型,同时添加更强大的“列族”数据模型,这再次是 Cassandra 监控如此重要的一个重要原因。多年来,Cassandra 也因其一些令人印象深刻的技术特性而闻名。其中最大的特点之一是其快速的写入速度。除了在更便宜的硬件上运行良好之外,Cassandra 写入数据的速度非常快,并且可以真正存储数百 TB 的数据,而不会牺牲您的组织所依赖的读取效率。
为什么为 Cassandra 使用 Telegraf 插件?
Apache Cassandra 数据库用于存储大量数据,这也是这些数据库具有容错性和高度可扩展性的原因之一。由于数据对您的应用程序很重要,因此可以使用 Cassandra Telegraf 插件来监控 Cassandra 集群的可用性、健康状况和性能。
在这种类型的配置下,Cassandra 监控使组织最终摆脱了“故障排除”模式来管理他们的应用程序和集群。如果您始终实时了解您的资产正在发生的事情,那么您将更有能力在小问题有机会变成更大的问题之前识别并纠正它们。至少,您可以确保环境中的一切都按应有的方式运行,从而消除阻碍整个组织生产力(和扼杀创新)的各种中断。
请注意: 此 Cassandra Telegraf 插件在版本 1.7 中已被弃用,我们建议将 jolokia2 Telegraf 插件与 cassandra.conf 示例配置一起使用。
如何使用 Telegraf 插件监控 Cassandra
配置 Cassandra Telegraf 插件很简单。使用用于 jolokia url 的上下文根,格式为“user:passwd@:port”的服务器列表以及标识 mbeans 属性的 Jmx 路径列表对其进行配置。Cassandra 插件通过 jolokia REST 端点收集 Cassandra 3 / JVM 指标,这些指标作为 MBean 的属性公开。所有指标都为每个配置的服务器收集。
用于监控的关键 Cassandra 指标
您应该主动监控的一些重要 Cassandra 指标包括
javaGarbageCollector
(collection time, collection count)javaMemory
(HeapMemoryUsage
,NonHeapMemoryUsage
)cassandraCache
(cache hits, requests, entries, size, capacity)cassandraClient
(connectedNativeClients
)cassandraClientRequest
(Total latency, latency, timeouts, unavailable, failures)cassandraCommitLog
(pending tasks, total commit log size)cassandraCompaction
(Completed tasks, pending tasks, total compaction completed, bytes compacted)cassandraStorage
(Load, exceptions)cassandraTable
(Live Disk Space Used, Total Disk Space Used, Read Latency, Coordinator Read Latency, Write Latency, Read Total Latency, Write Total Latency)cassandraThreadPools
(Active tasks, pending tasks, currently blocked tasks)