点击这里在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. 第9.3节 Python的文件行读取:readline

    一. 语法 readline(size=-1) readline函数顾名思义就是从文件内读取一行,用来处理文本文件读取的典型方法之一,但readline可不只是读取文本文件,也能读取二进制文件,只是在 ...

  2. 问题:PyCharm的几种调试方法的区别

    关于PyCharm的调试方式,step into.step over.step out.run to cursor.resume programe与c语言相关的调试器功能基本相同,但PyCharm提供 ...

  3. Ubuntu 16.04添加阿里云源

    转自:http://www.cnblogs.com/EasonJim/p/7119156.html 添加国内源有个好处,比如下载软件时直接时国内的服务器,速度有保证. 以下是操作方法: 1.备份 su ...

  4. sql 遍历list

    <select id="findadminSaleList" parameterClass="java.util.Map" resultClass=&qu ...

  5. ajax与浏览器请求的差异对比.png

  6. MySQL的验证方式

    mysql8之后root用户的密码验证方式修改了,mysql8的加密方式为caching_sha2_passoword,而navicat连接所用的方式为native_password. 使用命令mys ...

  7. React Native学习记录

    1.端口问题 在调试的时候,监听的是8081端口.如果被占用,会报错,并且在reload的时候导致app直接崩掉. 2.插件网站收集 https://nativebase.io/ https://js ...

  8. win+mac全网视频无水印采集工具

    把网址填入输入框,点击下载即可.支持全网几十个平台,方便使用 window版:https://sansuinb.lanzous.com/i00Rjej0fib mac版:https://sansuin ...

  9. PDF格式分析

    系列文章是csdn作者'秋风之刀'写的,我只是把目录列出来而已,感谢作者辛苦付出. PDF格式分析(一)简介 PDF格式分析(二)语法之对象 PDF格式分析(三)语法之Filter PDF格式分析(四 ...

  10. Java8中执行js脚本

    代码中除了callJSFunctionFromFile函数,其他均转载于文章JDK1.8中如何用ScriptEngine动态执行JS import jdk.nashorn.api.scripting. ...