点击这里在GitHub上访问我们,以便深入了解DataStax的开源项目——Apache Cassandra指标收集器(Metric Collector for Apache Cassandra, or, MCAC)并试用示例程序。
 

 
作为一个具有复原力的系统,Apache Cassandra可以让用户在其基础上构建应用程序,但是很多使用者会感觉Cassandra有一点像是一个黑匣子。Cassandra并不是没有丰富的监测指标,事实上,每个Cassandra表格都提供了超过300个指标系列(metric series)可供用户使用。
 
但问题是,将集群本身、操作系统和应用层面的指标进行可视化并放入一个统一标准的视图,这对于Cassandra的使用者来说并不容易。 
 

01 什么是Apache Cassandra指标收集器
 
 
为了解决这个问题,DataStax推出了一个新的开源项目,叫做Apache Cassandra指标收集器(Metric Collector for Apache Cassandra,简称为MCAC)。这个项目就Apache Cassandra的监测问题提供了一个开箱即用的解决方案。下面我们将简单介绍这个工具是怎么工作的。 
MCAC是基于已经被广泛运用的collectd守护进程构建的,并在其基础上做了一些具有创意的微调。Collectd是一个指标收集守护进程,它己经被广泛采用,并与包括prometheus、graphite、stackdriver以及其它各种外部指标系统集成良好。
虽然collectd可以开箱即用式地通过JMX(Java管理扩展)搜集指标数据,这个方法很可能耗时良久且只能适用于导出部分指标数据。更别提很多人根本不想在每个节点上都维护和配置指标守护进程。
我们已经将MCAC使用在了DataStax Astra中的Health(健康)标签,并与我们为Apache Cassandra定制的Kubernetes operator相捆绑。
 

 
02 MCAC的与众不同之处
 
为了解决上述的问题,MCAC将我们的Java守护进程和可移植的Linux collectd打包成为一个单独的组件。
开发者需要做的仅仅是将这个守护进程添加到cassandra-env.sh中,它将会启动collectd并通过一个Unix套接字将Cassandra中的每一个指标数据传入collectd。MCAC适用于从2.2到4.0的所有Apache Cassandra版本。
这种高效的传递指标数据的方式可以做到输出每个节点的成千上万个指标,同时几乎不会对C*的性能构成任何影响。
MCAC不止发送指标数据,它还特别考虑了如何以开箱即用的方式与Prometheus协同工作。比如柱状图(histograms)是为了Prometheus中的聚合(aggregation)而特别设计,再比如标签(labels)会在数据传入时被自动转换。这意味着你可以跨数据中心、跨机架(rack)甚至跨表灵活切割指标数据。
 Cassandra的指标数据只是等式的一部分,借助collectd,我们还可以收集并展示操作系统层面的指标数据,像是上下文切换(context switches)和磁盘/网络性能。 
与节点活动情况相关的指标和非指标事件,MCAC也会为其创建历史日志。非指标事件包括关于刷盘(Flushes)、压实操作(Compactions)、异常(Exceptions)、垃圾回收(GC)等细节信息。这份DataLog(数据日志)可以用于分析性能或其它对集群产生影响的事件。 
如果您需要帮助,我们的SRE (Service Reliability Engineering)团队随时待命,帮助您诊断故障并解决问题。
最后,要是没有办法可视化这些指标数据可就太糟了!MCAC提供预置的Grafana仪表盘,用来将所有指标联结在一起。Grafana仪表盘为使用者提供了监测Cassandra数据库最好的解决方案。这些仪表盘会随着时间变化,它们关注系统的特定方面,从而让使用者更容易借此深入了解自己的集群。
 

技术基础 | 监测Apache Cassandra的简明方式——MCAC的更多相关文章

  1. 技术基础 | 在Apache Cassandra中改变VNodes数量的影响

    Apache Cassandra中num_tokens的默认值在4.0版本中将会有变化!这看起来好像只是在CHANGES.txt文件中做了个小小的改动,但实际上这个改动将会对集群的日常运维有着深远的影 ...

  2. 技术基础 | 改进版的Apache Cassandra客户端请求路由

    最近我们在客户端的驱动程序中引入了一些变更,这些变更会影响传入的请求在Apache Cassandra集群内的分发方式.   新的默认负载均衡算法即将随驱动程序推出,这些算法将有助于缩短长尾延迟,并提 ...

  3. 技术基础 | Apache Cassandra 4.0基准测试

    Apache Cassandra 4.0已经发布了Beta版,这是第一个支持JDK 11及更高JDK版本的Cassandra版本.   时延对于Apache Cassandra用户来说是个显而易见的关 ...

  4. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  5. Apache Cassandra——可扩展微服务应用程序的持久数据存储

    通过使用微服务,团队可以更快地响应变化,而无需改动整个应用程序.利用微服务,开发团队可以构建出具有鲁棒性和可扩展性的系统,从而适应当今应用程序的需求.   然而,使用微服务也带来了一系列挑战.在本文中 ...

  6. AOP技术基础

    1.引言 2.AOP技术基础 3.Java平台AOP技术研究 4..Net平台AOP技术研究 2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto ...

  7. AOP技术基础(转)

    1.引言 2.AOP技术基础 3.Java平台AOP技术研究 4..Net平台AOP技术研究 2.1 AOP技术起源 AOP技术的诞生并不算晚,早在1990年开始,来自Xerox Palo Alto ...

  8. 技术基础 | 用JSON在抖音上发布动态——使用Stargate即可轻松实现

    Cassandra是世界上经受住最多实战考验的数据库,通过其快速且易于使用的数据API,让你的程序开发升级. 本文将介绍什么是Stargate以及Stargate的最新进展,如果您想快速浏览相关代码和 ...

  9. 行业动态 | 通过使用Apache Cassandra实现实时供应链管理

    借助基于Apache Cassandra的DataStax Enterprise,C&S Wholesale确实得到了他们所需要的东西--一个持续在线的仓库运作整体视图.   视图中包含了原本 ...

随机推荐

  1. 转:浅谈HTTP中Get、Post、Put与Delete的区别

    1.GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行多少次操 ...

  2. 转:【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图

    [摘要] 本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法.这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来. 1. 准备工作 在本节 ...

  3. XFF SSTI 模板注入 [BJDCTF2020]The mystery of ip

    转自https://www.cnblogs.com/wangtanzhi/p/12328083.html SSTI模板注入:之前也写过:https://www.cnblogs.com/wangtanz ...

  4. apache、nginx、Tomcat、IIS引擎解析漏洞

                                            引擎解析漏洞 常见的web容器有IIS.Apache.Nginx.Tomcat等,以下是详细讲解 IIS IIS简介 是 ...

  5. 软工团队作业--Scrum冲刺集合贴

    软工团队作业--Scrum冲刺集合贴 团队 团队名称:广东靓仔六强选手 团队成员: 黄清山 黄梓浩 钟俊豪 周立 邓富荣 郑焕 博客链接 Scrum 冲刺 第一篇 Scrum 冲刺 第二篇 Scrum ...

  6. 手动 jq 触发 动态的 layui select change 事件

    var s= $('#province').val(); //先获取   默认选中的第一个 option 的值 ( value)    var select = 'dd[lay-value=' + s ...

  7. apidoc学习(接口文档定义取代word)

    apidoc的安装,参考:https://blog.csdn.net/qq_36386771/article/details/82149848 生产文档,需要先编写一个apidoc.json对接口文档 ...

  8. J20航模遥控器开源项目系列教程(六)亚克力外壳制作

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  9. Rest vs Soap 比较

    一.前言 昨天为止,政府的一个公共部门的项目顺利结束,就系统间消息传输这个点,知识点总结一下.本文主要参考octoperf的文章,链接见文末参考资料. 系统中用到的是SOAP协议进行传输数据,有人会立 ...

  10. Error while instantiating 'org.apache.spark.sql.hive.HiveSessionStateBuilder': —— windows 开发环境使用spark 无法访问hdfs 问题解决

    ## 错误: ## 解决方案: 下载 hadoop 的可执行tar包,解压放在windows 本地,并配置环境变量. 在 解压后的文件夹的bin目录下放入两个文件: winutils.exe, had ...