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

时间:2019-01-14 00:07:29

标签: cassandra

在cassandra(使用DSE)中,

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

1 个答案:

答案 0 :(得分:3)

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

  2.   
  3. 是否存储了任何审核信息,这些信息将告诉我所有哪些用户与IP地址和使用的驱动程序等信息连接在一起?

  4.   

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

user_level_latency_tracking_options:                                            
   enabled: true 

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

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

请注意,启用性能服务需要一定的成本,可以使用dsetool perf userlatencytracking [enable|disable]选择性地启用和禁用该服务。

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

  
      
  1. 在Opscenter中,有一个名为“本地客户端”的指标,此信息存储在数据库中以供查询吗?这是否包括节点与备份之间的内部通信?
  2.   

我对OpsCenter的了解不是很快。据我了解,OpsCenter通常将其数据存储在OpsCenter密钥空间中,您可以通过遵循此doc来配置数据收集参数。