我想将Cassandra指标发送到Graphite服务器以不断监视与Cassandra相关的指标。我已将metrics-graphite-3.1.0.jar
复制到/usr/share/cassandra/lib/
文件夹,并在/etc/cassandra/cassandra-env.sh
中修改了指令,并在/etc/cassandra/metrics_reporter_graphite.yaml
中配置了指标配置。我重新启动cassandra节点,它已启动并成功运行。但这似乎没有将任何日志发送到我的Graphite服务器。
我尝试在以下命令echo "local.random.diceroll 4 date +%s" | nc -q0 ${SERVER} ${PORT}
的帮助下从cassandra实例发送测试日志,我在我的石墨服务器中看到了统计信息。这意味着我的cassandra实例能够在端口2003上与Graphite服务器对话。
我怀疑问题出在Cassandra中。在下面,我附加了必要的配置文件
/etc/cassandra/metrics_reporter_graphite.yaml
graphite:
-
outfile: '/tmp/metrics.out'
period: 30
timeunit: 'SECONDS'
prefix: 'cassandra-cluster/1'
hosts:
- host: 'graph.example.com'
port: 2003
predicate:
color: 'white'
useQualifiedName: true
patterns:
- '^org.apache.cassandra.+'
- '^jvm.+'`
/etc/cassandra/cassandra-env.sh
JVM_OPTS="$JVM_OPTS -Dcassandra.metricsReporterConfigFile=metrics_reporter_graphite.yaml"
编辑:
我的/usr/share/cassandra/lib
enter code heremetrics-core-3.1.0.jar
metrics-core-3.1.2.jar
metrics-graphite-3.1.0.jar
metrics-graphite-3.1.2.jar
metrics-jvm-3.1.0.jar
reporter-config3-3.0.3.jar
reporter-config-base-3.0.3.jar