Im using a working "hack" to use dynamic proxy via Dummy DCI with TransformationScript to run a custom bashscript that do some checks.
In the script i check if proxynode dont have any critical status (>=4) because i couldnt find a way to check if a node is down with NXSL.
This will work as long proxynode does not have any other alarms with Critical that is not "Node Down".
But if the proxynode have a Critical alarm that is not "Node Down" it will be detected as proxynode is down...
Script is:
In the script i check if proxynode dont have any critical status (>=4) because i couldnt find a way to check if a node is down with NXSL.
This will work as long proxynode does not have any other alarms with Critical that is not "Node Down".
But if the proxynode have a Critical alarm that is not "Node Down" it will be detected as proxynode is down...
Script is:
Code Select
sub main() {
myName = $node->name;
// Find my proxy from myName="aaa-001-pc01"
$node->name ~= "^([a-z0-9]+\-)";
// Turn it into "aaa-proxynode"
myProxy = $1."proxynode";
// Check if myProxy exists
nodeObj = FindNodeObject(null, myProxy);
if(nodeObj == null) {
return "ERR: Node ".myProxy." not found.";
}
// Check if myProxy is up
checkPROXY = GetDCIValue(nodeObj, FindDCIByDescription(nodeObj, "Status"));
if (checkPROXY >= 4) {
return "OK but proxy unreachable";
}
val = -1;
agentParam = "EXEC(proxyscript.sh ".myName.")";
val = AgentReadParameter(nodeObj, agentParam);
if(val == null) {
return "ERR: Param ".agentParam." could not be retreived.";
}
return val;
}