JanusGraph中文翻译文档
JanusGraph监控

38.1. JanusGraph监控指标

JanusGraph支持Metrics。JanusGraph可以监控以下指标:

  • 事务开始、提交、回滚的次数
  • 每种后端操作类型请求尝试和失败的次数
  • 每种后端操作类型响应的时间分布

38.1.1. 配置监控指标集合

通过配置JanusGraph属性文件的以下参数,使监控指标生效:

# Required to enable Metrics in JanusGraph
metrics.enabled = true
这个参数配置使JanusGraph运行时通过Timer、Counter、Histogram等类记录监控指标。至少配置一个监控报告(参考:38.2 小节 "配置监控报表”)来获取这些监控指标。


38.1.1.1. 自定义默认的监控指标名称

JanusGraph默认使用“org.janusgraph”作为监控指标名字的前缀,可以通过配置属性”metrics.prefix“进行修改。如,以下将默认前缀“org.janusgraph” 修改为“janusgraph”:

# Optional
metrics.prefix = janusgraph

38.1.1.2. 事务特定的监控指标名称

每个JanusGraph事务都可以指定自己的监控指标名称前缀,并且会覆盖默认的监控指标名称以及覆盖通过“metrics.prefix”配置的值。如,可以将前缀设置成打开JanusGraph事务的应用程序名称。注意由于JanusGraph通过一个ConcurrentHashMap 来保存监控指标和它们关联的对象,因此最好不要设置太多的监控指标前缀。

通过调用TransactionBuilder.setMetricsPrefix(String) 方法配置事务级别的监控指标前缀:

JanusGraph graph = ...;
TransactionBuilder tbuilder = graph.buildTransaction();
JanusGraphTransaction tx = tbuilder.groupName("foobar").start();

38.1.1.3. 通过后端存储分离监控指标

默认情况下JanusGraph整合了内部后端存储各种操作的监控指标,

38.2. 配置监控报告

JanusGraph支持以下监控报告:

  • Console
  • CSV
  • Ganglia
  • Graphite
  • JMX
  • Slf4j
  • 用户自定义

每一种监控报告都是独立的并且可以配置多个。如,可以同时配置Ganglia、JMX、和Slf4j监控报告。只需要在JanusGraph的配置文件里设置各自的参数(注意需要打开metrics开关)。

38.2.1. Console监控报告

表 38.1. Console监控报告配置选项

Key
是否必需?

默认值
metrics.console.interval

控制台输出时间间隔,单位毫秒
null
 

每隔1分钟在Console上打印监控指标的配置示例如下:

metrics.enabled = true
# Required; specify logging interval in milliseconds
metrics.console.interval = 60000

38.2.2. CSV文件监控报告

表 38.1. CSV文件监控报告配置选项

Key
是否必需?

默认值
metrics.csv.interval

CSV文件输出时间间隔,单位毫秒
null
metrics.csv.directory

CSV文件输出的目录(如果不存在会创建)
null
 

每隔1分钟在CSV文件上打印监控指标的配置示例如下:

metrics.enabled = true
# Required; specify logging interval in milliseconds
metrics.csv.interval = 60000
metrics.csv.directory = foo/bar











标签: janusgraph、metrics、监控、csv、38.1
一个创业中的苦逼程序员
  • 回复
隐藏