Cassandra 集群监控

set*_*voy 5 cassandra

我们使用 Nagios 进行服务器监控。

每个网络环境都有 1 个集群作为后端 - Cassanra 2.0。每个集群有 3-5 个节点。

问题是:我想为 Nagios 编写一个插件,用于 Cassandra 的节点监控。不幸的是 - 我不太熟悉 Cassandra,并且不确定 - 究竟需要检查哪些参数?

我刨使用Nodetool实用程序从节点获取数据-但它有很多的命令,每个提供大量的信息(如- ,,等)。cfstatsinfostatus

所以 - 为了监控,我需要获取一些关于每个节点使用情况的内存数据,使用的磁盘空间,可能是 - 别的什么?

小智 5

  1. 您可以为每个节点使用检查 Java 堆内存。像总 Java 堆内存和使用 Java 堆内存。
  2. 最重要的是每个节点的 CPU 利用率。
  3. 设置错误警报。system.log 有很多关于的信息。
  4. 您可以为数据盘和日志盘设置警报。
  5. 服务器的心跳检查,如果您在几分钟内没有收到,它就会向您发出警报。
  6. 还删除了突变并暗示了 hindoff 清晰警报。

基本上你需要开始观察 system.log 并且会得到越来越多的监控错误。


小智 5

在我的集群中,我使用 jolokia,因此我可以使用 HTTP 访问 JMX 接口。通过这种方式,我可以使用 Python 创建脚本来监控 Cassandra 并向 Nagios 发送警报。

您应该监控的内容:

  1. Java HEAP 和 GC
  2. 压实待处理
  3. 刷新待处理
  4. 提示切换未决
  5. 八卦任务待定
  6. 读/写延迟
  7. 密钥缓存命中率
  8. 下降终点计数

监控那些已经保存了我的集群几次:)

我运行 2 个集群,一个在我的日常工作中,它有 4 个节点和 3 TB 数据(另外两个节点即将推出),在我自己的公司中有一个小型 3 节点集群。