代码之家  ›  专栏  ›  技术社区  ›  Soheil Pourbafrani

如何为jmxforjavajvm添加操作系统级度量

  •  0
  • Soheil Pourbafrani  · 技术社区  · 6 年前

    我使用远程ssh和以下命令收集所谓的度量 du -sh /directory 这有太多的延迟,我想用jmx得到它,这样它可以运行得更快。

    这个 question 讨论了添加spring度量。

    1 回复  |  直到 6 年前
        1
  •  0
  •   ewramner    6 年前

    正如链接的问题所示,将java类公开为mbean很容易,因此您当然可以编写一个收集所需度量的类。实施 du 在java中并不困难。但是,我不确定它是否能解决你的问题。例如 du -sh /directory 可能很慢,因为它需要递归地测量目录层次结构的大小。那也会很慢(可能会慢!)在爪哇。

    顺便说一句,我通常会使用collected或telegraf来实现这类功能,但查找磁盘使用情况的i/o成本也会相同。

    我建议在当前脚本中添加一些带有时间的日志,这样您就可以看到它花在哪里了。例如,如果连接ssh的时间不到一秒,确定目录大小需要15秒,那么从ssh移动到jmx就没有帮助。