diff --git a/client/src/main/java/com/metamx/druid/QueryableNode.java b/client/src/main/java/com/metamx/druid/QueryableNode.java index ca638f44727f..392c325c84de 100644 --- a/client/src/main/java/com/metamx/druid/QueryableNode.java +++ b/client/src/main/java/com/metamx/druid/QueryableNode.java @@ -525,7 +525,19 @@ private void initializeMonitors() List theMonitors = Lists.newArrayList(); theMonitors.add(new JvmMonitor()); if (Boolean.parseBoolean(props.getProperty("druid.monitoring.monitorSystem", "false"))) { - theMonitors.add(new SysMonitor()); + SysMonitor sysMonitor = new SysMonitor(); + if (Boolean.parseBoolean(props.getProperty("druid.monitoring.monitorDirs", "false"))) { + String csv = getProps().getProperty("druid.monitoring.dirs"); + if (csv != null) { + sysMonitor.addDirectoriesToMonitor(csv.split(",")); + } else { + log.warn( + "druid.monitoring.monitorDirs is set to true but no directory path is set to monitor." + + " Please set it using druid.monitoring.dirs." + ); + } + } + theMonitors.add(sysMonitor); } setMonitors(theMonitors); diff --git a/indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/http/IndexerCoordinatorNode.java b/indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/http/IndexerCoordinatorNode.java index b07ae5f17927..98039e060bb1 100644 --- a/indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/http/IndexerCoordinatorNode.java +++ b/indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/http/IndexerCoordinatorNode.java @@ -525,6 +525,18 @@ private void initializeMonitors() if (monitors == null) { monitors = Lists.newArrayList(); monitors.add(new JvmMonitor()); + SysMonitor sysMonitor = new SysMonitor(); + if (Boolean.parseBoolean(getProps().getProperty("druid.monitoring.monitorDirs", "false"))) { + String csv = getProps().getProperty("druid.monitoring.dirs"); + if (csv != null) { + sysMonitor.addDirectoriesToMonitor(csv.split(",")); + } else { + log.warn( + "druid.monitoring.monitorDirs is set to true but no directory path is set to monitor." + + " Please set it using druid.monitoring.dirs." + ); + } + } monitors.add(new SysMonitor()); } } diff --git a/indexing-service/src/main/java/com/metamx/druid/indexing/worker/http/WorkerNode.java b/indexing-service/src/main/java/com/metamx/druid/indexing/worker/http/WorkerNode.java index dda7afe7d786..261cdf3232f9 100644 --- a/indexing-service/src/main/java/com/metamx/druid/indexing/worker/http/WorkerNode.java +++ b/indexing-service/src/main/java/com/metamx/druid/indexing/worker/http/WorkerNode.java @@ -316,7 +316,19 @@ private void initializeMonitors() if (monitors == null) { monitors = Lists.newArrayList(); monitors.add(new JvmMonitor()); - monitors.add(new SysMonitor()); + SysMonitor sysMonitor = new SysMonitor(); + if (Boolean.parseBoolean(getProps().getProperty("druid.monitoring.monitorDirs", "false"))) { + String csv = getProps().getProperty("druid.monitoring.dirs"); + if (csv != null) { + sysMonitor.addDirectoriesToMonitor(csv.split(",")); + } else { + log.warn( + "druid.monitoring.monitorDirs is set to true but no directory path is set to monitor." + + " Please set it using druid.monitoring.dirs." + ); + } + } + monitors.add(sysMonitor); } } diff --git a/server/src/main/java/com/metamx/druid/http/MasterMain.java b/server/src/main/java/com/metamx/druid/http/MasterMain.java index a1db1bf0888d..590de1e21f89 100644 --- a/server/src/main/java/com/metamx/druid/http/MasterMain.java +++ b/server/src/main/java/com/metamx/druid/http/MasterMain.java @@ -193,7 +193,19 @@ public static void main(String[] args) throws Exception final List monitors = Lists.newArrayList(); monitors.add(new JvmMonitor()); if (Boolean.parseBoolean(props.getProperty("druid.monitoring.monitorSystem", "false"))) { - monitors.add(new SysMonitor()); + SysMonitor sysMonitor = new SysMonitor(); + if (Boolean.parseBoolean(props.getProperty("druid.monitoring.monitorDirs", "false"))) { + String csv = props.getProperty("druid.monitoring.dirs"); + if (csv != null) { + sysMonitor.addDirectoriesToMonitor(csv.split(",")); + } else { + log.warn( + "druid.monitoring.monitorDirs is set to true but no directory path is set to monitor." + + " Please set it using druid.monitoring.dirs." + ); + } + } + monitors.add(sysMonitor); } final MonitorScheduler healthMonitor = new MonitorScheduler(