当前位置: 首页 > 知识库问答 >
问题:

StackDrive-agent没有收集监控数据(HitATE for KeyCache)

岳劲
2023-03-14

我正在配置GCE虚拟机中的Stackdriver代理来监视Cassandra指标。(根据GCP指南:https://cloud.google.com/monitoring/agent/plugins/cassandra)

我使用了上面链接的默认设置,它们工作得很好。然而,我添加的一个指标不适用于以下错误。

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

有什么建议吗。

>

  • 错误 <块引用>

    19 23:14:082月pgxxxxxxx1 Collectd[16917]:write_gcm:服务器响应(CollectdTimeseriesRequest)包含错误:{"payloadError": [ { "index": 161,"value eError": [ { "错误":{"code": 3,"mail":"Unsupport Collectd id: plugin:\"cassandra\"type:\"规范\"type_instance:\"cache_key_cache-hitate\"" } } ] } ] }

    配置(在指南中的原始配置中添加了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>
    

    我的环境堆栈驱动-代理5.5.2-379.sdl.stretchcassandra 3.11.1

  • 共有1个答案

    公冶伟
    2023-03-14

    按照自定义指标指南,我可以解决我的问题。

    1. 创建自定义度量遵循此处的指南:https://cloud.google.com/monitoring/custom-metrics/creating-metrics#monitoring-create-metric-python(从自定义度量名称到调用create方法。不需要时间序列)

    还需要获得访问监控的授权。(遵循IAM指南)。

    我的示例代码

    >

    来自谷歌。云导入监控

    客户端=监控。Client()描述符=客户端。metric\u描述符('custom.googleapis.com/cassandra/client\u request/latency/1minrate',metric\u kind=monitoring.MetricKind.GAUGE,value\u type=monitoring.ValueType.DOUBLE,labels=[monitoring.label.LabelDescriptor(“operation”,description=“存储操作名称”)],description='Cassandra read latency rate for 1 minitue',display\u name='read latency 1 minutes rate'描述符。创建()

    cassandra插件示例(在同一配置文件中的2-1和2-2之后)2-1。cassandra插件示例第1部分

     <MBean "cassandra_custom_ClientRequest_Read-Latency">
         ObjectName "org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency"
         <Value>
             Type "gauge"
             InstancePrefix "client_request_read-latency-1minrate"
             Table false
             Attribute "OneMinuteRate"
         </Value>
     </MBean>
    
    <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_custom"
        User "cassandra user name"
        Password "your password"
    
        Collect "cassandra_custom_ClientRequest_Read-Latency"
    </Connection>
    

    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"
    

    堆垛机监控手册的官方指南不容易阅读和理解。我希望这会有所帮助。。

     类似资料:
    • Tsar 介绍 Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据,收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。 Tsar能够比较方便的增加模块,只需要按照tsar的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到tsar中 Tsar 安装 开源版 #git clone

    • 集群运行起来后,你可以用 ceph 工具来监控,典型的监控包括检查 OSD 状态、监视器状态、归置组状态和元数据服务器状态。 交互模式 要在交互模式下运行 ceph ,不要带参数运行 ceph ,例如: ceph ceph> health ceph> status ceph> quorum_status ceph> mon_status 检查集群健康状况 启动集群后、读写数据前,先检查下集群的健

    • 集群监控的本质是一个聚合功能。 单台机器的监控指标难以反应整个集群的情况,我们需要把整个集群的机器(体现为某个HostGroup下的机器)综合起来看。比如所有机器的qps加和才是整个集群的qps,所有机器的request_fail数量 ÷ 所有机器的request_total数量=整个集群的请求失败率。 我们计算出集群的某个整体指标之后,也会有“查看该指标的历史趋势图” “为该指标配置报警” 这种

    • Sentinel 提供对所有资源的实时监控。如果需要实时监控,客户端需引入以下依赖(以 Maven 为例): <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-transport-simple-http</artifactId> <version>x.y.z</version> </de

    • 我的Ionic 5应用程序中有以下Firestore数据库结构。 书(集合) {bookID}(带有book字段的文档) 赞(子集合) {userID}(文档名称作为带有字段的用户ID) 集合中有文档,每个文档都有一个子集合。Like collection的文档名是喜欢这本书的用户ID。 我正在尝试进行查询以获取最新的,同时尝试从子集合中获取文档以检查我是否喜欢它。 我在这里做的是用每个图书ID调

    • 系统搭建好了,应该如何用起来,这节给大家逐步介绍一下 我们说agent只要部署到机器上,并且配置好了heartbeat和transfer就自动采集数据了,我们就可以去dashboard上面搜索监控数据查看了。dashboard是个web项目,浏览器访问之。左侧输入endpoint搜索,endpoint是什么?应该用什么搜索?对于agent采集的数据,endpoint都是机器名,去目标机器上执行ho