Updated Branches: refs/heads/master 757f7bf00 -> d2365339d
Add checkOpenPorts() method to health stat publisher Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/bce62b06 Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/bce62b06 Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/bce62b06 Branch: refs/heads/master Commit: bce62b063bb504ec43408b38323aaf7dd646c483 Parents: 4316ae2 Author: Manula Thantriwatte <[email protected]> Authored: Mon Nov 25 15:06:22 2013 +0530 Committer: Manula Thantriwatte <[email protected]> Committed: Mon Nov 25 15:06:22 2013 +0530 ---------------------------------------------------------------------- .../src/main/bin/health-publisher.sh | 2 +- .../health/publisher/HealthPublisherClient.java | 25 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/bce62b06/products/cartridge-agent/modules/health-stats/src/main/bin/health-publisher.sh ---------------------------------------------------------------------- diff --git a/products/cartridge-agent/modules/health-stats/src/main/bin/health-publisher.sh b/products/cartridge-agent/modules/health-stats/src/main/bin/health-publisher.sh index f5c0104..17b9521 100755 --- a/products/cartridge-agent/modules/health-stats/src/main/bin/health-publisher.sh +++ b/products/cartridge-agent/modules/health-stats/src/main/bin/health-publisher.sh @@ -28,7 +28,7 @@ class_path=${lib_path}andes-client-0.13.wso2v8.jar:${lib_path}ant-1.7.0.jar:${li current_path=`pwd` -java -cp $class_path -Dmember.id=$1 -Dkey.file.path=$current_path/../security/client-truststore.jks -Dthrift.receiver.ip=$2 -Dthrift.receiver.port=$3 org.apache.stratos.cartridge.agent.health.publisher.Main $* +java -cp $class_path -Dmember.id=$1 -Dkey.file.path=$current_path/../security/client-truststore.jks -Dthrift.receiver.ip=$2 -Dthrift.receiver.port=$3 -Dopen.ports=$4 org.apache.stratos.cartridge.agent.health.publisher.Main $* echo "Health publisher completed" http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/bce62b06/products/cartridge-agent/modules/health-stats/src/main/java/org/apache/stratos/cartridge/agent/health/publisher/HealthPublisherClient.java ---------------------------------------------------------------------- diff --git a/products/cartridge-agent/modules/health-stats/src/main/java/org/apache/stratos/cartridge/agent/health/publisher/HealthPublisherClient.java b/products/cartridge-agent/modules/health-stats/src/main/java/org/apache/stratos/cartridge/agent/health/publisher/HealthPublisherClient.java index d452c03..26fedca 100644 --- a/products/cartridge-agent/modules/health-stats/src/main/java/org/apache/stratos/cartridge/agent/health/publisher/HealthPublisherClient.java +++ b/products/cartridge-agent/modules/health-stats/src/main/java/org/apache/stratos/cartridge/agent/health/publisher/HealthPublisherClient.java @@ -27,6 +27,7 @@ import java.lang.System; import java.util.HashMap; import java.util.Map; import java.lang.management.ManagementFactory; +import java.net.*; public class HealthPublisherClient { @@ -45,6 +46,13 @@ public class HealthPublisherClient { statsMap.put("memory_consumption", memoryConsumption); statsMap.put("load_average", (double)ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()); + // This section checks open ports in the vm + boolean isOpen = checkOpenPorts(); + + if ( !isOpen ) { + statsMap.put("port_not_open", 0.0); + } + Object statObj = (Object)statsMap; return statObj; @@ -64,4 +72,21 @@ public class HealthPublisherClient { Thread.currentThread().interrupt(); } } + + private boolean checkOpenPorts() { + int portNumber = 0; + String ports = System.getProperty("open.ports"); + String[] portsArray = ports.split(","); + + for (int i = 0; i < portsArray.length; i++) { + try { + portNumber = Integer.parseInt(portsArray[i].trim()); + Socket ServerSok = new Socket("127.0.0.1", portNumber); + ServerSok.close(); + } catch (Exception e) { + return false; + } + } + return true; + } } \ No newline at end of file
