【发布时间】:2017-07-31 21:54:44
【问题描述】:
我在 Mesos 和 Marathon 上运行一个 java 应用程序。如何监控 java 进程的堆统计信息?我尝试了抱怨“找不到pid”的jstat,但该进程正在运行,我可以通过“ps auwx”检查它。这是因为 java 进程在 cgroup 中运行吗?如果是这种情况,我们如何监控基于 mesos 的应用程序。
【问题讨论】:
标签: java monitoring mesos marathon
我在 Mesos 和 Marathon 上运行一个 java 应用程序。如何监控 java 进程的堆统计信息?我尝试了抱怨“找不到pid”的jstat,但该进程正在运行,我可以通过“ps auwx”检查它。这是因为 java 进程在 cgroup 中运行吗?如果是这种情况,我们如何监控基于 mesos 的应用程序。
【问题讨论】:
标签: java monitoring mesos marathon
监控应用程序的最佳选择是从其自身发布其指标。从NewRelic 或DataDog 等专有软件到开源Prometheus,有很多方法可以向您的应用程序添加监控。
如果您需要通过 JMX 获取访问权限,您可以使用以下配置公开此端口:
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.port=$PORT1 \
-Djava.rmi.server.hostname=$MESOS_HOSTNAME
以上配置假设您有两个端口,第二个端口专用于 JMX
【讨论】: