Cassandra 集成
编辑Cassandra 集成
编辑此集成使用 jolokia 代理定期从 Cassandra 获取指标。它可以解析系统日志。
兼容性
编辑此集成已针对 Cassandra 版本 3.11.11
进行测试。
设置 Jolokia 的步骤
编辑先决条件
编辑- Java 开发工具包 (JDK) 1.8 或更高版本
- Apache Cassandra 3.x 或 4.x(取决于用户的版本)
- Jolokia 代理 JAR 文件
Jolokia 设置
编辑请按照以下步骤设置 Jolokia 以监控 Apache Cassandra
-
下载 Jolokia JVM 代理
访问 Jolokia 官方下载页面 以获取最新版本的 Jolokia JVM 代理 JAR 文件。下载
jolokia-jvm-<jolokia_version>-agent.jar
文件。 -
将 Jolokia 代理复制到 Cassandra 的库目录
将下载的
jolokia-jvm-<jolokia_version>-agent.jar
文件复制到安装 Cassandra 的服务器上的 Cassandra 库目录中。例如
cp jolokia-jvm-<jolokia_version>-agent.jar /path/to/cassandra/lib/
将
/path/to/cassandra/lib/
替换为 Cassandra 库目录的实际路径。 -
配置 Cassandra 以使用 Jolokia 代理
使用文本编辑器打开位于 Cassandra 配置目录中的
cassandra-env.sh
文件,并在文件末尾添加以下行JVM_OPTS="$JVM_OPTS -javaagent:/path/to/jolokia-jvm-<jolokia_version>-agent.jar=port=<jolokia_port>,host=0.0.0.0"
将
/path/to/jolokia-jvm-<version>-agent.jar
替换为在步骤 2 中复制的 Jolokia 代理 JAR 文件的实际路径。保存更改并关闭cassandra-env.sh
文件。 -
重启 Cassandra
重启 Apache Cassandra 服务以应用对配置所做的更改。
注意
- 重启 Apache Cassandra 服务将暂时中断数据库连接。请确保依赖服务能够优雅地处理此类中断。
- 重启后,由于冷缓存和提交日志重放,Cassandra 的性能可能会受到影响。请留出一些时间让系统稳定下来。
- 在重启 Cassandra 之前,请确保没有正在进行的集群维护任务,以防止任何意外的后果。
- 具体步骤将因安装类型而异,设置过程可能因具体的部署方法或环境而异。
- 重启 Cassandra 的过程可能因用户特定的设置和配置而异。
验证设置
编辑重启 Cassandra 后,用户可以通过访问 Jolokia 端点来验证 Jolokia 是否已正确设置
http://<cassandra-host>:<jolokia_port>/jolokia
替换为用户 Cassandra 服务器的主机名或 IP 地址。
如果设置成功,用户应该会看到一个 JSON 响应,其中包含有关可用 Jolokia 操作和 Cassandra 实例的信息。
用户现在可以使用 Jolokia 监控和管理 Apache Cassandra 集群。
故障排除
编辑- 如果
log.flags
在logs-*
数据视图下出现冲突,可以通过重新索引Logs
数据流来解决此问题。
日志
编辑来自 cassandra.log 文件的 Cassandra 系统日志。
示例
log
的示例事件如下所示
{ "@timestamp": "2024-06-18T06:33:32.952Z", "agent": { "ephemeral_id": "b1e9fa09-5c73-45d9-b26f-184761635dd9", "id": "97400795-188c-4140-a1ee-0002078c785d", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.13.0" }, "data_stream": { "dataset": "cassandra.log", "namespace": "ep", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "97400795-188c-4140-a1ee-0002078c785d", "snapshot": false, "version": "8.13.0" }, "event": { "agent_id_status": "verified", "category": [ "database" ], "dataset": "cassandra.log", "ingested": "2024-06-18T06:34:02Z", "kind": "event", "module": "cassandra", "type": [ "info" ] }, "input": { "type": "log" }, "log": { "file": { "path": "/tmp/service_logs/cassandra/system.log" }, "level": "INFO", "offset": 0, "origin": { "file": { "line": 92, "name": "YamlConfigurationLoader.java" } } }, "message": "Configuration location: file:/etc/cassandra/cassandra.yaml", "process": { "thread": { "name": "main" } }, "tags": [ "forwarded", "cassandra-systemlogs" ] }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
日期 |
cassandra.log.meta |
日志元信息,例如 java stack_trace。 |
关键词 |
data_stream.dataset |
数据流数据集。 |
常量关键词 |
data_stream.namespace |
数据流命名空间。 |
常量关键词 |
data_stream.type |
数据流类型。 |
常量关键词 |
input.type |
Filebeat 输入的类型。 |
关键词 |
log.flags |
日志文件的标志。 |
关键词 |
log.offset |
日志文件中条目的偏移量。 |
长整型 |
指标
编辑使用安装在 Cassandra 上的 jolokia 代理的 Cassandra 指标。
示例
metrics
的示例事件如下所示
{ "@timestamp": "2024-06-18T06:35:01.265Z", "agent": { "ephemeral_id": "51e65675-8699-4d2e-8c14-ecde813096e9", "id": "97400795-188c-4140-a1ee-0002078c785d", "name": "docker-fleet-agent", "type": "metricbeat", "version": "8.13.0" }, "cassandra": { "metrics": { "cache": { "key_cache": { "capacity": 104857600, "one_minute_hit_rate": 0, "requests": { "one_minute_rate": 12 } }, "row_cache": { "capacity": 0, "requests": { "one_minute_rate": 0 } } }, "client": { "connected_native_clients": 0 }, "client_request": { "casread": { "one_minute_rate": 0 }, "caswrite": { "one_minute_rate": 0 }, "range_slice": { "one_minute_rate": 0, "total_latency": 0 }, "read": { "count": 0, "one_minute_rate": 0, "timeouts": 0, "timeoutsms": 0, "total_latency": 0, "unavailables": 0, "unavailablesms": 0 }, "write": { "count": 0, "one_minute_rate": 0, "timeouts": 0, "timeoutsms": 0, "total_latency": 0, "unavailables": 0, "unavailablesms": 0 } }, "column_family": { "total_disk_space_used": 72566 }, "compaction": { "completed": 44, "pending": 0 }, "dropped_message": { "batch_remove": 0, "batch_store": 0, "counter_mutation": 0, "hint": 0, "mutation": 0, "paged_range": 0, "range_slice": 0, "read": 0, "read_repair": 0, "request_response": 0, "trace": 0 }, "gc": { "concurrent_mark_sweep": { "collection_count": 1, "collection_time": 26 }, "par_new": { "collection_count": 1, "collection_time": 29 } }, "memory": { "heap_usage": { "committed": 4054777856, "init": 4158652416, "max": 4054777856, "used": 481894272 }, "other_usage": { "committed": 62337024, "init": 2555904, "max": -1, "used": 60729840 } }, "storage": { "exceptions": 0, "load": 72566, "total_hint_in_progress": 0, "total_hints": 0 }, "system": { "cluster": "Test Cluster", "data_center": "datacenter1", "live_nodes": "192.168.247.2", "rack": "rack1", "version": "3.11.11" }, "table": { "all_memtables_heap_size": 4584, "all_memtables_off_heap_size": 0, "live_disk_space_used": 72566, "live_ss_table_count": 11 }, "task": { "complete": 55, "pending": 0, "total_commitlog_size": 67108864 }, "thread_pools": { "counter_mutation_stage": { "request": { "active": 0, "pending": 0 } }, "mutation_stage": { "request": { "active": 0, "pending": 0 } }, "read_repair_stage": { "request": { "active": 0, "pending": 0 } }, "read_stage": { "request": { "active": 0, "pending": 0 } }, "request_response_stage": { "request": { "active": 0, "pending": 0 } } } } }, "data_stream": { "dataset": "cassandra.metrics", "namespace": "ep", "type": "metrics" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "97400795-188c-4140-a1ee-0002078c785d", "snapshot": false, "version": "8.13.0" }, "event": { "agent_id_status": "verified", "category": [ "database" ], "created": "2024-06-18T06:35:01.265Z", "dataset": "cassandra.metrics", "duration": 110507236, "ingested": "2024-06-18T06:35:13Z", "kind": "event", "module": "cassandra", "type": [ "info" ] }, "host": { "architecture": "x86_64", "containerized": true, "hostname": "docker-fleet-agent", "id": "8259e024976a406e8a54cdbffeb84fec", "ip": [ "192.168.245.7" ], "mac": [ "02-42-C0-A8-F5-07" ], "name": "docker-fleet-agent", "os": { "codename": "focal", "family": "debian", "kernel": "3.10.0-1160.102.1.el7.x86_64", "name": "Ubuntu", "platform": "ubuntu", "type": "linux", "version": "20.04.6 LTS (Focal Fossa)" } }, "metricset": { "name": "jmx", "period": 10000 }, "service": { "address": "http://elastic-package-service-cassandra-1:8778/jolokia/%3FignoreErrors=true&canonicalNaming=false", "type": "jolokia" } }
ECS 字段参考
有关 ECS 字段的详细信息,请参阅以下文档。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
日期 |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
关键词 |
|
cassandra.metrics.cache.key_cache.capacity |
长整型 |
计量 |
|
cassandra.metrics.cache.key_cache.one_minute_hit_rate |
长整型 |
计量 |
|
cassandra.metrics.cache.key_cache.requests.one_minute_rate |
长整型 |
计量 |
|
cassandra.metrics.cache.row_cache.capacity |
长整型 |
计量 |
|
cassandra.metrics.cache.row_cache.one_minute_hit_rate |
长整型 |
计量 |
|
cassandra.metrics.cache.row_cache.requests.one_minute_rate |
长整型 |
计量 |
|
cassandra.metrics.client.connected_native_clients |
长整型 |
计量 |
|
cassandra.metrics.client_request.casread.one_minute_rate |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.caswrite.one_minute_rate |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.range_slice.one_minute_rate |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.range_slice.total_latency |
双精度浮点数 |
计数器 |
|
cassandra.metrics.client_request.read.count |
长整型 |
计数器 |
|
cassandra.metrics.client_request.read.one_minute_rate |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.read.timeouts |
遇到的读取超时次数。 |
双精度浮点数 |
计数器 |
cassandra.metrics.client_request.read.timeoutsms |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.read.total_latency |
双精度浮点数 |
计数器 |
|
cassandra.metrics.client_request.read.unavailables |
遇到的读取不可用次数。 |
双精度浮点数 |
计数器 |
cassandra.metrics.client_request.read.unavailablesms |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.write.count |
长整型 |
计数器 |
|
cassandra.metrics.client_request.write.one_minute_rate |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.write.timeouts |
双精度浮点数 |
计数器 |
|
cassandra.metrics.client_request.write.timeoutsms |
双精度浮点数 |
计量 |
|
cassandra.metrics.client_request.write.total_latency |
双精度浮点数 |
计数器 |
|
cassandra.metrics.client_request.write.unavailables |
双精度浮点数 |
计数器 |
|
cassandra.metrics.client_request.write.unavailablesms |
双精度浮点数 |
计量 |
|
cassandra.metrics.column_family.total_disk_space_used |
长整型 |
计量 |
|
cassandra.metrics.compaction.completed |
完成的压缩任务。 |
长整型 |
计量 |
cassandra.metrics.compaction.pending |
挂起的压缩任务。 |
长整型 |
计量 |
cassandra.metrics.dropped_message.batch_remove |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.batch_store |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.counter_mutation |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.hint |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.mutation |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.paged_range |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.range_slice |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.read |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.read_repair |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.request_response |
长整型 |
计数器 |
|
cassandra.metrics.dropped_message.trace |
长整型 |
计数器 |
|
cassandra.metrics.gc.concurrent_mark_sweep.collection_count |
发生的 CMS 收集总数。 |
长整型 |
计量 |
cassandra.metrics.gc.concurrent_mark_sweep.collection_time |
以毫秒为单位的近似累积 CMS 收集经过时间。 |
长整型 |
计量 |
cassandra.metrics.gc.par_new.collection_count |
发生的 ParNew 收集总数。 |
长整型 |
计量 |
cassandra.metrics.gc.par_new.collection_time |
以毫秒为单位的近似累积 ParNew 收集经过时间。 |
长整型 |
计量 |
cassandra.metrics.memory.heap_usage.committed |
提交的堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.heap_usage.init |
初始堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.heap_usage.max |
最大堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.heap_usage.used |
已用堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.other_usage.committed |
提交的非堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.other_usage.init |
初始非堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.other_usage.max |
最大非堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.memory.other_usage.used |
已用非堆内存使用量。 |
长整型 |
计量 |
cassandra.metrics.storage.exceptions |
异常总数。 |
长整型 |
计数器 |
cassandra.metrics.storage.load |
用于 Cassandra 数据的存储(以字节为单位)。 |
长整型 |
计数器 |
cassandra.metrics.storage.total_hint_in_progress |
正在进行的命中总数。 |
长整型 |
计数器 |
cassandra.metrics.storage.total_hints |
总命中数。 |
长整型 |
计数器 |
cassandra.metrics.system.cluster |
关键词 |
||
cassandra.metrics.system.data_center |
关键词 |
||
cassandra.metrics.system.joining_nodes |
关键词 |
||
cassandra.metrics.system.leaving_nodes |
关键词 |
||
cassandra.metrics.system.live_nodes |
关键词 |
||
cassandra.metrics.system.moving_nodes |
关键词 |
||
cassandra.metrics.system.rack |
关键词 |
||
cassandra.metrics.system.unreachable_nodes |
关键词 |
||
cassandra.metrics.system.version |
关键词 |
||
cassandra.metrics.table.all_memtables_heap_size |
长整型 |
计量 |
|
cassandra.metrics.table.all_memtables_off_heap_size |
长整型 |
计量 |
|
cassandra.metrics.table.live_disk_space_used |
长整型 |
计数器 |
|
cassandra.metrics.table.live_ss_table_count |
长整型 |
计量 |
|
cassandra.metrics.task.complete |
已完成的任务。 |
长整型 |
计量 |
cassandra.metrics.task.pending |
待处理的任务。 |
长整型 |
计量 |
cassandra.metrics.task.total_commitlog_size |
任务的总提交日志大小。 |
长整型 |
计量 |
cassandra.metrics.thread_pools.counter_mutation_stage.request.active |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.counter_mutation_stage.request.pending |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.mutation_stage.request.active |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.mutation_stage.request.pending |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.read_repair_stage.request.active |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.read_repair_stage.request.pending |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.read_stage.request.active |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.read_stage.request.pending |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.request_response_stage.request.active |
长整型 |
计量 |
|
cassandra.metrics.thread_pools.request_response_stage.request.pending |
长整型 |
计量 |
|
cloud.account.id |
用于在多租户环境中识别不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
关键词 |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
关键词 |
|
cloud.instance.id |
主机实例 ID。 |
关键词 |
|
cloud.provider |
云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。 |
关键词 |
|
cloud.region |
此主机、资源或服务所在的区域。 |
关键词 |
|
container.id |
唯一容器 ID。 |
关键词 |
|
data_stream.dataset |
数据流数据集。 |
常量关键词 |
|
data_stream.namespace |
数据流命名空间。 |
常量关键词 |
|
data_stream.type |
数据流类型。 |
常量关键词 |
|
host.name |
主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定域名 (FQDN) 或用户指定的名称。建议值为主机的小写 FQDN。 |
关键词 |
|
service.address |
收集有关此服务的数据的地址。这应该是一个 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
关键词 |
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
1.16.0 |
增强功能 (查看拉取请求) |
8.13.0 或更高版本 |
1.15.0 |
增强功能 (查看拉取请求) |
8.13.0 或更高版本 |
1.14.0 |
增强功能 (查看拉取请求) |
8.13.0 或更高版本 |
1.13.0 |
增强功能 (查看拉取请求) |
8.12.0 或更高版本 |
1.12.2 |
增强功能 (查看拉取请求) |
8.12.0 或更高版本 |
1.12.1 |
增强功能 (查看拉取请求) |
8.12.0 或更高版本 |
1.12.0 |
增强功能 (查看拉取请求) |
8.12.0 或更高版本 |
1.11.1 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
1.11.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.10.1 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
1.10.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.9.2 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
1.9.1 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
1.9.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.8.1 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.8.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.7.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.6.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.5.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.4.1 |
增强 (查看拉取请求) |
7.15.0 或更高版本 |
1.4.0 |
增强 (查看拉取请求) |
7.15.0 或更高版本 |
1.3.0 |
增强 (查看拉取请求) |
7.15.0 或更高版本 |
1.2.3 |
Bug 修复 (查看拉取请求) |
7.15.0 或更高版本 |
1.2.2 |
Bug 修复 (查看拉取请求) |
— |
1.2.1 |
增强 (查看拉取请求) |
— |
1.2.0 |
增强 (查看拉取请求) |
— |
1.1.0 |
增强 (查看拉取请求) |
7.15.0 或更高版本 |
1.0.0 |
增强 (查看拉取请求) |
— |
0.0.1 |
增强 (查看拉取请求) |
— |