Apache Cassandra监控

Apache Cassandra监控,cassandra,monitoring,Cassandra,Monitoring,监视cassandra节点是否启动的最佳方法是什么?由于安全原因,JMX和nodetool是不可能的。我通过Rest Api监控集群指标,但我知道即使一个节点发生故障,Rest Api也只会报告整个集群。好吧,我集成了一个系统,可以监控所有节点集群的所有指标。这看起来很复杂,但很容易集成。您需要以下组件来为cassandra构建监控系统: 约洛基亚罐 电传电报 流入xDB 格拉凡纳 我正在写一个简短的程序,它是如何工作的。 步骤1:复制jolokia jvm jar到安装目录/apache

监视cassandra节点是否启动的最佳方法是什么?由于安全原因,JMX和nodetool是不可能的。我通过Rest Api监控集群指标,但我知道即使一个节点发生故障,Rest Api也只会报告整个集群。

好吧,我集成了一个系统,可以监控所有节点集群的所有指标。这看起来很复杂,但很容易集成。您需要以下组件来为
cassandra
构建监控系统:

  • 约洛基亚罐
  • 电传电报
  • 流入xDB
  • 格拉凡纳
我正在写一个简短的程序,它是如何工作的。
步骤1:复制
jolokia jvm jar
安装目录/apache cassandra version/lib/
,jolokia jvm代理可以从谷歌的任何地方下载

步骤2:将以下行添加到
安装目录/apache cassandra version/conf/cassandra env.sh

JVM_OPTS="$JVM_OPTS -javaagent:<here_goes_the_path_of_your_jolokia_jar>"
JVM_OPTS=“$JVM_OPTS-javaagent:”
步骤3:在每个节点上安装
telegraf
,并配置要监视的指标。然后启动
telegraf
服务

步骤4:安装
grafana
并配置您的ip、端口和协议
grafana
将为您提供一个仪表板,用于管理节点并启动
grafana
服务。您的指标将能够在此处获得可见性

第5步:在另一台服务器上安装
influxdb
,您希望从该服务器存储通过telegraf代理提供的度量数据

第6步:浏览您提到的ip,通过浏览器启动grafana并添加数据源ip(XDB ip),然后自定义仪表板


图片来源:

我已经集成了一个系统,在这个系统中,我可以监控所有节点集群的所有指标。这看起来很复杂,但很容易集成。您需要以下组件来为
cassandra
构建监控系统:

  • 约洛基亚罐
  • 电传电报
  • 流入xDB
  • 格拉凡纳
我正在写一个简短的程序,它是如何工作的。
步骤1:复制
jolokia jvm jar
安装目录/apache cassandra version/lib/
,jolokia jvm代理可以从谷歌的任何地方下载

步骤2:将以下行添加到
安装目录/apache cassandra version/conf/cassandra env.sh

JVM_OPTS="$JVM_OPTS -javaagent:<here_goes_the_path_of_your_jolokia_jar>"
JVM_OPTS=“$JVM_OPTS-javaagent:”
步骤3:在每个节点上安装
telegraf
,并配置要监视的指标。然后启动
telegraf
服务

步骤4:安装
grafana
并配置您的ip、端口和协议
grafana
将为您提供一个仪表板,用于管理节点并启动
grafana
服务。您的指标将能够在此处获得可见性

第5步:在另一台服务器上安装
influxdb
,您希望从该服务器存储通过telegraf代理提供的度量数据

第6步:浏览您提到的ip,通过浏览器启动grafana并添加数据源ip(XDB ip),然后自定义仪表板


图像源:

这不是用于监视,而是仅用于节点状态。 Cassandra CQL驱动程序通过Host.StateListener接口提供特定节点是否处于运行状态的信息。驱动程序使用此信息向上或向下标记节点。因此,若节点处于关闭状态,或者若JMX不可访问,则可以使用它


Java Doc API:

这不是用于监视,而是仅用于节点状态。 Cassandra CQL驱动程序通过Host.StateListener接口提供特定节点是否处于运行状态的信息。驱动程序使用此信息向上或向下标记节点。因此,若节点处于关闭状态,或者若JMX不可访问,则可以使用它


Java Doc API:

我提出了一个脚本,用于侦听集群中的DN节点,并将其报告给与pagerduty集成的监控设置

该脚本在我们的一个节点上运行,每分钟执行一次nodetool状态,并报告所有停机节点

这是剧本


[1] :

我想出了一个脚本,用于侦听集群中的DN节点,并将其报告给与pagerduty集成的监控设置

该脚本在我们的一个节点上运行,每分钟执行一次nodetool状态,并报告所有停机节点

这是剧本

[1] :