Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra Stackdriver代理未收集监控数据(KeyCache的命中率)_Cassandra_Collectd_Google Cloud Stackdriver - Fatal编程技术网

Cassandra Stackdriver代理未收集监控数据(KeyCache的命中率)

Cassandra Stackdriver代理未收集监控数据(KeyCache的命中率),cassandra,collectd,google-cloud-stackdriver,Cassandra,Collectd,Google Cloud Stackdriver,我正在配置GCE虚拟机中的Stackdriver代理来监视Cassandra指标。 根据GCP指南: 我使用了上面链接的默认设置,它们工作正常。 但是,我添加的一个度量标准不适用于以下错误 我尝试了类型和值的仪表或计数器,或者属性的计数。然而,它们中的任何一个都不能很好地工作 有什么建议吗 错误 2月19日23:14:08 PGXXXXXXXX1 collectd[16917]:写入\u gcm:服务器响应CollectdTimeseriesRequest包含错误: { payloadError

我正在配置GCE虚拟机中的Stackdriver代理来监视Cassandra指标。 根据GCP指南:

我使用了上面链接的默认设置,它们工作正常。 但是,我添加的一个度量标准不适用于以下错误

我尝试了类型和值的仪表或计数器,或者属性的计数。然而,它们中的任何一个都不能很好地工作

有什么建议吗

错误 2月19日23:14:08 PGXXXXXXXX1 collectd[16917]:写入\u gcm:服务器响应CollectdTimeseriesRequest包含错误: { payloadErrors:[ { 索引:161, 值错误:[ { 错误:{ 代码:3,, 消息:不支持的集合id:插件:\cassandra\type:\gauge\type\u实例:\cache\u key\u cache-hitrate\ } } ] } ] }

Config在指南的原始配置中添加了KeyCache命中率指标

连接部分:

<Connection>
# When using non-standard Cassandra configurations, replace the below with
#ServiceURL "service:jmx:rmi:///jndi/rmi://CASSANDRA_HOST:CASSANDRA_PORT/jmxrmi"
ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:7199/jmxrmi"
InstancePrefix "cassandra"
User "cassandra"
Password "xxxxxxxx"
Collect "cassandra_storageservice-load"
Collect "cassandra_Cache_KeyCache-Hits"
Collect "cassandra_Cache_KeyCache-HitRate"   <===== Added line
...
Collect "cassandra_DroppedMessage_MUTATION-Dropped"
Collect "cassandra_DroppedMessage_READ-Dropped"
MBean部分:

<MBean "cassandra_Cache_KeyCache-HitRate">
    ObjectName "org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=HitRate"
    <Value>
        Type "gauge"
        InstancePrefix "cache_key_cache-hitrate"
        Table false
        Attribute "Value"
    </Value>
</MBean>
我的环境 stackdriver代理5.5.2-379.sdl.stretch
cassandra 3.11.1

遵循自定义指标指南,我可以解决我的问题

创建自定义指标 请按照以下指南操作: 从自定义度量名称到调用create方法。Timeseries不是必需的 还需要获得访问监控的授权。遵循IAM指南

配置cassandra plugin.conf文件 指南如下: 从顶部开始,直到加载新配置 矿井样本代码

创建自定义度量的代码 客户端请求读取延迟-1minrate.py

从google.cloud导入监控

client=monitoring.client 描述符=client.metric\u描述符 'custom.googleapis.com/cassandra/client_request/latency/1minrate', metric_kind=监控.MetricKind.GAUGE, value_type=monitoring.ValueType.DOUBLE, labels=[monitoring.label.LabelDescriptoroperation,description=存储操作名称。], description='Cassandra读取1分钟的延迟率', 显示\u name='Read latency 1 minutes rate' descriptor.create

cassandra插件示例 在同一配置文件中遵循2-1和2-2 2-1. cassandra插件示例第1部分 在

2-2。cassandra插件示例第2部分

<Chain "GenericJMX_cassandra_custom">
    <Rule "rewrite_genericjmx_to_cassandra_custom">
        <Match regex>
            Plugin "^GenericJMX$"
            PluginInstance "^cassandra_custom.*$"
        </Match>
        <Target "set">
            MetaData "stackdriver_metric_type" "custom.googleapis.com/cassandra/client_request/latency/1minrate"
            MetaData "label:operation" "%{plugin_instance}"
        </Target>
        <Target "replace">
            MetaData "label:operation" "cassandra_custom_" ""
        </Target>
    </Rule>
    <Rule "go_back">
        Target "return"
    </Rule>
</Chain>

<Chain "PreCache">
    <Rule "jump_to_GenericJMX_cassandra_custom">
        <Target "jump">
            Chain "GenericJMX_cassandra_custom"
        </Target>
    </Rule>
</Chain>
PreCacheChain "PreCache"
堆垛机监控手册的官方指南不易阅读和理解。
我希望这会有所帮助。

使用sjk Swiss Java Knife tool,我得到了以下结果,在我看来,属性应该是Value。$java-jar sjk-0.9.2.jar mx-s localhost:7199-b org.apache.cassandra.metrics:name=HitRate,scope=KeyCache,type=Cache-mi org.apache.cassandra.metrics:type=Cache,scope=KeyCache,name=HitRate org.apache.cassandra.metrics.CassandraMetricsRegistry$JmxGauge-MBean管理界面上的信息A Value:java.lang.Object-为管理公开的属性O objectName:javax.management.objectName-为管理公开的操作目前似乎不支持许多指标。我尝试了其他指标,但也失败了,出现了相同的错误。应该尝试其他解决方案,如datadog或prometheus。。。裁判
<Chain "GenericJMX_cassandra_custom">
    <Rule "rewrite_genericjmx_to_cassandra_custom">
        <Match regex>
            Plugin "^GenericJMX$"
            PluginInstance "^cassandra_custom.*$"
        </Match>
        <Target "set">
            MetaData "stackdriver_metric_type" "custom.googleapis.com/cassandra/client_request/latency/1minrate"
            MetaData "label:operation" "%{plugin_instance}"
        </Target>
        <Target "replace">
            MetaData "label:operation" "cassandra_custom_" ""
        </Target>
    </Rule>
    <Rule "go_back">
        Target "return"
    </Rule>
</Chain>

<Chain "PreCache">
    <Rule "jump_to_GenericJMX_cassandra_custom">
        <Target "jump">
            Chain "GenericJMX_cassandra_custom"
        </Target>
    </Rule>
</Chain>
PreCacheChain "PreCache"