Cassandra 如何查看活跃的用户连接

nma*_*akb 8 cassandra

在 cassandra(我使用 DSE)中,

  1. 如何检查有多少用户连接到数据库?有什么方法可以检查节点吗?
  2. 是否存储了任何审核信息,这些信息会告诉我哪些所有用户以及所使用的 IP 地址和驱动程序等信息都已连接?
  3. 在 Opscenter 中,有一个称为“本机客户端”的指标,此信息存储在数据库中的何处以进行查询?这是否包括节点和备份等之间的内部通信?

And*_*ert 5

  1. 如何检查有多少用户连接到数据库?有什么方法可以检查节点吗?

  2. 是否存储了任何审核信息,这些信息会告诉我哪些所有用户以及所使用的 IP 地址和驱动程序等信息都已连接?

DSE 具有性能服务功能,您可以启用该功能以通过 cql 提供此信息。要启用此特定功能,请按照文档中的说明在 dse.yaml 中配置以下内容:

user_level_latency_tracking_options:                                            
   enabled: true 
Run Code Online (Sandbox Code Playgroud)

启用此功能后,您现在可以查询各种表,例如:

cqlsh> select * from dse_perf.user_io;

 node_ip   | conn_id         | last_activity                   | read_latency | total_reads | total_writes | user_ip   | username  | write_latency
-----------+-----------------+---------------------------------+--------------+-------------+--------------+-----------+-----------+---------------
 127.0.0.1 | 127.0.0.1:55116 | 2019-01-14 14:08:19.399000+0000 |         1000 |           1 |            0 | 127.0.0.1 | anonymous |             0
 127.0.0.1 | 127.0.0.1:55252 | 2019-01-14 14:07:39.399000+0000 |            0 |           0 |            1 | 127.0.0.1 | anonymous |          1000

(2 rows)
cqlsh> select * from dse_perf.user_object_io;

 node_ip   | conn_id         | keyspace_name | table_name | last_activity                   | read_latency | read_quantiles | total_reads | total_writes | user_ip   | username  | write_latency | write_quantiles
-----------+-----------------+---------------+------------+---------------------------------+--------------+----------------+-------------+--------------+-----------+-----------+---------------+-----------------
 127.0.0.1 | 127.0.0.1:55252 |             s |          t | 2019-01-14 14:07:39.393000+0000 |            0 |           null |           0 |            1 | 127.0.0.1 | anonymous |          1000 |            null
 127.0.0.1 | 127.0.0.1:55116 |             s |          t | 2019-01-14 14:08:19.393000+0000 |         1000 |           null |           1 |            0 | 127.0.0.1 | anonymous |             0 |            null

Run Code Online (Sandbox Code Playgroud)

请注意,启用性能服务是有成本的,并且可以使用 有选择地启用和禁用它dsetool perf userlatencytracking [enable|disable]

在 Apache Cassandra (4.0+) 和 DSE(可能是 7.0+)的未来版本中,将有一个nodetool clientstats命令 ( CASSANDRA-14275 ) 和一个包含连接信息的相应system_views.clients表 ( CASSANDRA-14458 )。这将包括驱动程序名称,如果驱动程序客户端提供一个(较新的提供)。

  1. 在 Opscenter 中,有一个称为“本机客户端”的指标,此信息存储在数据库中的何处以进行查询?这是否包括节点和备份等之间的内部通信?

我不太了解 OpsCenter。据我所知,OpsCenter 通常将其数据存储在OpsCenter键空间中,您可以按照此文档配置数据收集参数。