用于python查询jvm中运行时度量的jmx接口
jmxquery-jcruz的Python项目详细描述
#jmx query python模块
提供了一个python模块,可以方便地运行查询,并通过jmx从java虚拟机收集度量。
请注意,到jmx的接口使用了这个模块中包含的一个小jar文件,因此,您需要在运行此模块的计算机上安装Java。
topic=*,partition=*”,
metric_name=“kafka_cluster{type}{name}”,
metric_labels={“topic”:“{topic}”,“partition”:“{partition}”]
metrics=jmxconnection.query(jmxquery)
对于metric in metrics:
打印(f”{metric.metric_name}<;{metric.metric_labels}>;={metric.value}“
`````
>
``````
kafka-kafka-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-cluster-cluster-cluster-cluster-cluster-cluster-cluster-cluster-clustr<;{'partition':'0','topic主题':'test}>;==0
>kafka-br/>-kafka-kafka-cluster-cl“分区”:“0”,'topic':'test'}>;==1
kafka_cluster_partition_replicasunt<;{partition':'0','topic':'test'}>;==1
kafka_cluster_partition_laststableoffsetlag<;{partition':'0','topic':'test'}>;==0
`````
您会注意到,您可以选择发送一个包含{}标记的度量名称和度量标签。这些
标记在运行时被jar替换,因此您可以使用
查询返回的值的mbean属性轻松构建带有关联标签的度量名称。
您还可以使用该模块返回jvm中所有可用mbean值的列表:
````
jmxconnection=jmxconnection(“服务:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi”)
jmx query=[jmxquery(“*:”)
metrics=jmxconnection.query(jmxquery)
print(f“{metric.to_query_string()}({metric.value_type})={metric.value}”)
```
提供了一个python模块,可以方便地运行查询,并通过jmx从java虚拟机收集度量。
请注意,到jmx的接口使用了这个模块中包含的一个小jar文件,因此,您需要在运行此模块的计算机上安装Java。
topic=*,partition=*”,
metric_name=“kafka_cluster{type}{name}”,
metric_labels={“topic”:“{topic}”,“partition”:“{partition}”]
metrics=jmxconnection.query(jmxquery)
对于metric in metrics:
打印(f”{metric.metric_name}<;{metric.metric_labels}>;={metric.value}“
`````
>
``````
kafka-kafka-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-culu-cluster-cluster-cluster-cluster-cluster-cluster-cluster-cluster-cluster-clustr<;{'partition':'0','topic主题':'test}>;==0
>kafka-br/>-kafka-kafka-cluster-cl“分区”:“0”,'topic':'test'}>;==1
kafka_cluster_partition_replicasunt<;{partition':'0','topic':'test'}>;==1
kafka_cluster_partition_laststableoffsetlag<;{partition':'0','topic':'test'}>;==0
`````
您会注意到,您可以选择发送一个包含{}标记的度量名称和度量标签。这些
标记在运行时被jar替换,因此您可以使用
查询返回的值的mbean属性轻松构建带有关联标签的度量名称。
您还可以使用该模块返回jvm中所有可用mbean值的列表:
````
jmxconnection=jmxconnection(“服务:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi”)
jmx query=[jmxquery(“*:”)
metrics=jmxconnection.query(jmxquery)
print(f“{metric.to_query_string()}({metric.value_type})={metric.value}”)
```