Cassandra监控运维介绍

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Cassandra监控运维介绍

cassandra是一个去中心的分布式数据库,且每个节点都是对等,那么如果需要获取得到整个集群的状态或者是说对cassandra集群进行监控或者维护有什么方式可以进行呢?一般进行监控的话,大概获取得到集群的状态、指标等信息即可,如果要进行运维就需要输入一些命令或通过行为让cassandra获取到相关信号进而执行相关命令。

这里我们分2个方面进行介绍:命令行、图文介绍

命令行

我们知道cassandra的每个节点都是对等的,所以这里提供了各个节点都可以执行的nodetool命令,下面列下所有的nodetool的命令以及给出相关的介绍(版本3.11.4):

assassinate :             强制的将某个节点remove掉,但是不会把节点上的数据进行摆放到移除节点后的新环的数据节点上
bootstrap : 
cleanup : 会触发马上的清理操作,清理的目标主要是不属于这个节点的数据
clearsnapshot : 清楚本机上的snapshot,如果没有提供keyspace等信息,就清理本机全部的snapshot
compact : 触发major compaction
compactionhistory : 打印compaction的历史
compactionstats : 打印compaction的状态
decommission : decommission连接的node, 把节点从环中移除
describecluster :打印cluster的信息,包括clustername, snitch信息,partitionr信息,schema信息等
describering : 给出一个keyspace以及对应的token环信息
disableautocompaction : 关闭minor compaction
disablebackup : 关闭备份
disablebinary : disable native transport(默认的9042端口服务)
disablegossip : 关闭gossip
disablehandoff : 关闭hinthandoff
disablehintsfordc : 关闭为某dc的hint
disablethrift :关闭thrift服务,默认(9160端口)
drain : drain 掉node,暂停很多操作,比如数据节点的写,counter,view写等操作,flush 表以及disable minor compaction

enableautocompaction : 开启minor compaction
enablebackup : 开启自动incremental backup
enablebinary : 开启native transport
enablegossip : 开启gossip
enablehandoff : 开启hinthandoff :
enablehintsfordc : 开启for dc的hint handoff
enablethrift : 开启thrift
failuredetector : 集群的failure 探测的信息
flush : 强制执行flush操作
garbagecollect : 清除表中删除的数据
gcstats :打印gc信息
getcompactionthreshold : 获取compact的阈值
getcompactionthroughput : 获取compact吞吐
getconcurrentcompactors : 获取系统中的并发compact的数目
getendpoints : 获取拥有partition key(hash计算前)的节点
getinterdcstreamthroughput : 集群内部dc stream阈值
getlogginglevels :log的level
getsstables : 打印key属于的sstable
getstreamthroughput : 系统内部stream阈值
gettimeout : 超时时间
gettraceprobability : trace的可能值
gossipinfo : gossip的信息
help
info : 集群的信息
invalidatecountercache : 让counter cache无效
invalidatekeycache : 让keycache无效
invalidaterowcache : 让rowcache无效
join : join 环
listsnapshots : 列出snapshot
move : 把这个token对应的节点换成别的token相应会移动数据
netstats :打印网络信息
pausehandoff : 暂停hint的传递进程
proxyhistograms : 打印网络直方图
rangekeysample : 所有keyspace的抽样key信息
rebuild :从别的节点托数据
rebuild_index : rebuild 本地二级索引
refresh : 无需重启,直接把本地的sstable进行加载
refreshsizeestimates : 重建system.size_estimates表,主要是对应节点多少数据
reloadlocalschema : 从本地重新load schema表
reloadtriggers : reload trigger 类
relocatesstables : 搬迁sstable
removenode :展示当前remove node的状态;force完成阻塞的remove操作;remove 提供的token
repair : 执行副本间数据修复的repair操作
replaybatchlog : 开始batch log replay以及等待完成
resetlocalschema :重置本地的schema
resumehandoff :恢复hinthandof的传递程序
ring : 打印集群的ring信息
scrub : 清理本节点无效的数据
setcachecapacity : 设置cache的容量
setcachekeystosave :设置每个cache的保留容量
setcompactionthreshold :这只compaction阈值
setcompactionthroughput : 设置compaction吞吐
setconcurrentcompactors : 设置compact的并发数
sethintedhandoffthrottlekb : 设置hint的阈值
setinterdcstreamthroughput : 设置dc stream的吞吐
setlogginglevel :设置log的level
setstreamthroughput : 设置stream的阈值
settimeout : 设置超时
settraceprobability : 设置执行trace的概率值
snapshot: 打快照
status: 集群的状态
statusbackup : 备份的状态
statusbinary : native transport的状态
statusgossip : gossip的状态
statushandoff : hinthandoff的状态
statusthrift  : thrift的状态
stop : 停止compaction
stopdaemon :停止cassandra deamon
tablehistograms ;表直方图
tablestats : 表状态
toppartitions : 抽样并给出某个表的活跃partition
tpstats :打出thread pool的状态
truncatehints : 给出节点的所有hint 放弃掉
upgradesstables :对应的表的sstable执行upgrade(实际上就是读出来,写入新sstable)
verify:验证表的数据checksum
version :cassandra version
viewbuildstatus : viewbuild的状态

上述的命令,有的是输出集群节点的现有信息的,比如status,ring等,也有是控制集群节点的状态的,比如setcachecapacity,setcompactionthreshold,至于是控制哪个节点,就需要在nodetool后面跟上:

./nodetool -h hosta -p port(default is 7199) command

此外如果需要执行获取remote节点信息的话,需要在cassandra-env.sh 里面设置下LOCAL_JMX参数,让为false,此外也要设置下-Dcom.sum.management.jmxremote.authenticate=true,这里如果不修改下,就需要输入账户和密码了,如果不想有账户密码可以注释掉或者为fals

页面系统

我们会比较喜欢页面系统进行操作,这里大概列出4种可以执行页面操作的东西:

一.MX4J

这个是cassandra自己就有支持的,但是需要从网上下载一个mx4j的jar包,直接丢到cassandra的lib目录下面,且在cassandra-env.sh下面需要修改下MX4J_ADDRESS的地址,然后直接在页面进行访问这个地址以及端口是8081(默认),就可以了,如下图:

可以展示,也可以设置,但是有2点需要说,所有本地访问的ip要可以通,此外就是每次只能看到一个节点的信息,没有汇总的一个地方做操作;

1559289259102_33b4e27f_1ec3_4425_b116_d08e663283b9

二.jolokia + telegraf

下载jolokia的agent jar包,然后放到cassandra 的lib下面,此外修改下cassandra-en.sh,在JVM_OPT里面加上我们需要的那个jokolia的jar依赖,然后重启下集群,完事以后就可以每个集群访问自己本地的jolokia的agent,拿到对应的数据,此外部署下telegraf就可以把数据获取得到,这个网上有很多例子,坑不多;主要是展示相关的metric指标

三.grafana + promethus + jmx_exporter

首先在每一个cassandra节点的lib下面需要部署下jmx_exporter的相关的jar包,然后在cassandra的cassandra-env.sh下面修改相应的配置,参考:https://github.com/prometheus/jmx_exporter ,此外这里要在一个特定的目录下面方式需要收集的metric的yam文件参考这里 https://github.com/prometheus/jmx_exporter/blob/master/example_configs/cassandra.yml ,并在cassandra-env.sh 配置下,然后重启下cassandra集群。 然后除此之外需要在一个特定的机器上面部署下promethus的server,以及grafana的server。下面是grafana的dashboard截图:
_2019_08_30_14_53_20_2019_08_30_14_51_04

部署promethus的server以及grafana server的话可以对应参考网上部署方式。这里需要注意下,grafana的cassandra metric dashboard的json(https://grafana.com/grafana/dashboards/5408)有一些不正确的地方,需要人为修改下;

四.opscenter

可以参考 datastax的文档:https://docs.datastax.com/en/opscenter/6.1/opsc/install/opscInstallOpsc_g.html

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
目录
相关文章
|
3月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全方位实践
本文深入探讨了构建高效运维体系的关键要素,从监控、日志管理、自动化工具、容器化与微服务架构、持续集成与持续部署(CI/CD)、虚拟化与云计算以及安全与合规等方面进行了全面阐述。通过引入先进的技术和方法,结合实际案例和项目经验,为读者提供了一套完整的运维解决方案,旨在帮助企业提升运维效率,降低运营成本,确保业务稳定运行。
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
263 3
|
5天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
54 3
|
1月前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
157 1
|
2月前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
2月前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
62 1
|
2月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
226 0
|
3月前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践指南
在当今数字化时代,企业对运维(Operations)的需求日益增长。运维不仅仅是保持系统运行那么简单,它涉及到监控、日志管理、故障排除、性能优化和自动化等多个层面。本文将从实际操作的角度出发,详细探讨如何构建一个高效的运维体系。通过具体案例,我们将了解不同运维工具和方法的应用,以及它们是如何帮助企业提高生产效率和降低运营风险的。无论你是刚接触运维的新手,还是经验丰富的专家,这篇文章都将为你提供宝贵的参考和启示。
|
2月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的实践之路
在当今信息技术飞速发展的时代,运维作为保障企业信息系统稳定运行的关键环节,其重要性日益凸显。本文将探讨如何通过构建高效的运维体系,实现从被动响应到主动预防的转变,以及如何利用自动化工具提升运维效率和质量。我们将从运维的基本概念出发,逐步深入到监控、自动化和安全管理等方面,为企业提供一套实用的运维优化方案。
83 0