Cassandra监控运维介绍

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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

目录
相关文章
|
22天前
|
存储 运维 监控
57_大模型监控与运维:构建稳定可靠的服务体系
随着大语言模型(LLM)技术的快速发展和广泛应用,如何确保模型在生产环境中的稳定运行、高效服务和安全合规已成为企业和开发者面临的关键挑战。2025年,大模型服务已从实验室走向各行各业的核心业务流程,其运维复杂度也随之呈指数级增长。与传统软件系统不同,大模型服务具有参数规模庞大、计算密集、行为不确定性高等特点,这使得传统的运维监控体系难以满足需求。
|
2月前
|
运维 Prometheus 监控
可观测性不是监控的马甲:运维团队到底该怎么升级?
可观测性不是监控的马甲:运维团队到底该怎么升级?
93 7
|
6月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
485 52
|
5月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
11月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
1029 3
|
7月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
341 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
7月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
|
9月前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
10月前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
1450 3
|
11月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
976 0