PluginMonitor
def instances=[
"localhost","http://localhost:8090/ws/rest/info/full?token=03073dd256c643de9de8b2f2441abaf0",
"test01","https://test01/ws/rest/info/full?token=b174f5d903d146d0b875acf5323ca585"
]
i=0
while (i<instances.size()) {
// Get the status information json
url=instances[i+1]
instance=instances[i]
gtwinfo=option.http.get(url)
gmsg=api.newMessage("PluginStatus")
info=slurper.slurp(gtwinfo)
info.mainplugins.each() { plugin ->
if (plugin.active=="true") {
key=instance+"/"+plugin.name
value=info.status.info[plugin.name]?.CurrentState
gmsg.put(key,value)
if (value=="error") api.sendAlarm(instance,plugin.name,"plugin","Plugin \""+plugin.name+"\" is in error state.",instance+"/"+plugin.name,4);
} else {
key="localhost/"+plugin.name
state=info.status.info[plugin.name]?.CurrentState
if (state==null) state="inactive"
value=state.toLowerCase()+" (manual)"
gmsg.put(key,value)
}
}
println gmsg.toJson()
api.publish(gmsg)
i+=2
}
return null