Cassandra 集成

编辑

Cassandra 集成

编辑

版本

1.16.0 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的 Serverless 项目类型
这是什么?

安全性
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

此集成使用 jolokia 代理定期从 Cassandra 获取指标。它可以解析系统日志。

兼容性

编辑

此集成已针对 Cassandra 版本 3.11.11 进行测试。

设置 Jolokia 的步骤

编辑

先决条件

编辑
  • Java 开发工具包 (JDK) 1.8 或更高版本
  • Apache Cassandra 3.x 或 4.x(取决于用户的版本)
  • Jolokia 代理 JAR 文件

Jolokia 设置

编辑

请按照以下步骤设置 Jolokia 以监控 Apache Cassandra

  1. 下载 Jolokia JVM 代理

    访问 Jolokia 官方下载页面 以获取最新版本的 Jolokia JVM 代理 JAR 文件。下载 jolokia-jvm-<jolokia_version>-agent.jar 文件。

  2. 将 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 库目录的实际路径。

  3. 配置 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 文件。

  4. 重启 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.flagslogs-* 数据视图下出现冲突,可以通过重新索引 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

增强功能 (查看拉取请求)
允许 @custom 管道访问 event.original,而无需设置 preserve_original_event。

8.13.0 或更高版本

1.15.0

增强功能 (查看拉取请求)
为指标数据流添加处理器支持。

8.13.0 或更高版本

1.14.0

增强功能 (查看拉取请求)
ECS 版本更新为 8.11.0。将 kibana 约束更新为 ^8.13.0。修改了字段定义,以删除 ecs@mappings 组件模板中变得冗余的 ECS 字段。

8.13.0 或更高版本

1.13.0

增强功能 (查看拉取请求)
在 data_stream.dataset 上添加全局过滤器以提高性能。

8.12.0 或更高版本

1.12.2

增强功能 (查看拉取请求)
添加有关设置 Jolokia 以监控 Apache Cassandra 的文档。

8.12.0 或更高版本

1.12.1

增强功能 (查看拉取请求)
使用重新索引步骤更新 README。

8.12.0 或更高版本

1.12.0

增强功能 (查看拉取请求)
为敏感字段启用密钥。更多详情,请参考 https://elastic.ac.cn/guide/en/fleet/current/agent-policy.html#agent-policy-secret-values

8.12.0 或更高版本

1.11.1

Bug 修复 (查看拉取请求)
由于错误,禁用旧版本堆栈的密钥。

8.8.0 或更高版本

1.11.0

增强 (查看拉取请求)
为敏感字段启用密钥,支持从 8.12 版本开始。

8.8.0 或更高版本

1.10.1

Bug 修复 (查看拉取请求)
将链接更新为正确的重新索引过程。

8.8.0 或更高版本

1.10.0

增强 (查看拉取请求)
将软件包 format_version 更新为 3.0.0。

8.8.0 或更高版本

1.9.2

Bug 修复 (查看拉取请求)
修复 log.flags 字段的类型。

8.8.0 或更高版本

1.9.1

Bug 修复 (查看拉取请求)
向重命名处理器添加空值检查和 ignore_missing 检查。

8.8.0 或更高版本

1.9.0

增强 (查看拉取请求)
为指标数据集启用时间序列数据流。这显著减少了指标的存储空间,并有望逐步提高查询性能。更多详情,请参阅 https://elastic.ac.cn/guide/en/elasticsearch/reference/current/tsds.html

8.8.0 或更高版本

1.8.1

增强 (查看拉取请求)
metrics 数据流的字段添加 metric_type 映射。

8.3.0 或更高版本

1.8.0

增强 (查看拉取请求)
为指标数据流添加维度字段,以实现 TSDB 启用。

8.3.0 或更高版本

1.7.0

增强 (查看拉取请求)
将所有权从 obs-service-integrations 重命名为 obs-infraobs-integrations

8.3.0 或更高版本

1.6.0

增强 (查看拉取请求)
System Logs 仪表板可视化迁移到 Lens。

8.3.0 或更高版本

1.5.0

增强 (查看拉取请求)
Overview 仪表板可视化迁移到 Lens。

8.3.0 或更高版本

1.4.1

增强 (查看拉取请求)
添加了类别和/或子类别。

7.15.0 或更高版本
8.0.0 或更高版本

1.4.0

增强 (查看拉取请求)
将 ECS 版本更新到 8.5.1

7.15.0 或更高版本
8.0.0 或更高版本

1.3.0

增强 (查看拉取请求)
根据最佳实践更新 Cassandra 软件包。

7.15.0 或更高版本
8.0.0 或更高版本

1.2.3

Bug 修复 (查看拉取请求)
修复仪表板问题。

7.15.0 或更高版本
8.0.0 或更高版本

1.2.2

Bug 修复 (查看拉取请求)
修复忽略主机增强功能的配置模板中的拼写错误。

1.2.1

增强 (查看拉取请求)
添加多字段文档。

1.2.0

增强 (查看拉取请求)
更新到 ECS 8.0

1.1.0

增强 (查看拉取请求)
发布 v8.0.0 的 Cassandra 软件包

7.15.0 或更高版本
8.0.0 或更高版本

1.0.0

增强 (查看拉取请求)
GA 版本发布

0.0.1

增强 (查看拉取请求)
软件包的初始草案