在Cassandra(我使用dse),如何检查有多少用户连接到数据库?有没有办法检查节点?是否有任何审计信息存储,这将告诉我,所有用户连接的信息,如ip地址和驱动程序使用等?在opscenter中有一个称为“本机客户机”的度量,这个信息存储在数据库中的什么位置?这是否包括节点和备份之间的内部通信等?
ia2d9nvy1#
如何检查有多少用户连接到数据库?有没有办法检查节点?是否有任何审计信息存储,这将告诉我,所有用户连接的信息,如ip地址和驱动程序使用等?dse有一个性能服务功能,您可以通过cql使此信息可用。要启用此特定功能,请按照文档中的说明在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] .在ApacheCassandra(4.0+)和dse(可能是7.0+)的未来版本中,将有一个 nodetool clientstats 命令(cassandra-14275)和相应的 system_views.clients 包含连接信息的表(cassandra-14458)。如果驱动程序客户机提供驱动程序名称(较新的驱动程序客户机提供驱动程序名称),则这将包括驱动程序名称。在opscenter中有一个称为“本机客户机”的度量,这个信息存储在数据库中的什么位置?这是否包括节点和备份之间的内部通信等?我不太熟悉opscenter。据我所知,opscenter通常将数据存储在 OpsCenter keyspace,您可以按照此文档配置数据采集参数。
dsetool perf userlatencytracking [enable|disable]
nodetool clientstats
system_views.clients
OpsCenter
1条答案
按热度按时间ia2d9nvy1#
如何检查有多少用户连接到数据库?有没有办法检查节点?
是否有任何审计信息存储,这将告诉我,所有用户连接的信息,如ip地址和驱动程序使用等?
dse有一个性能服务功能,您可以通过cql使此信息可用。要启用此特定功能,请按照文档中的说明在dse.yaml中配置以下内容:
启用此选项后,您现在可以查询各种表,例如:
请注意,启用性能服务是有成本的,可以使用
dsetool perf userlatencytracking [enable|disable]
.在ApacheCassandra(4.0+)和dse(可能是7.0+)的未来版本中,将有一个
nodetool clientstats
命令(cassandra-14275)和相应的system_views.clients
包含连接信息的表(cassandra-14458)。如果驱动程序客户机提供驱动程序名称(较新的驱动程序客户机提供驱动程序名称),则这将包括驱动程序名称。在opscenter中有一个称为“本机客户机”的度量,这个信息存储在数据库中的什么位置?这是否包括节点和备份之间的内部通信等?
我不太熟悉opscenter。据我所知,opscenter通常将数据存储在
OpsCenter
keyspace,您可以按照此文档配置数据采集参数。