Line 1: |
|
|
+ |
This report shows the user a list of agents and their JAVA_HOME present on them. This report has to be used in conjunction with a report template such as the [[HTML Template]].
|
|
|
|
|
|
|
+ |
----
|
|
|
|
|
|
|
+ |
''Meta-Data Script:''
|
|
|
|
|
|
|
+ |
<pre>import com.urbancode.anthill3.domain.reporting.*;
|
|
|
|
|
|
|
+ |
ReportMetaData rmd = new ReportMetaData();
|
|
|
|
|
|
|
+ |
rmd.addColumn("Agent");
|
|
|
+ |
rmd.addColumn("Status");
|
|
|
+ |
rmd.addColumn("env/JAVA_HOME");
|
|
|
+ |
rmd.addColumn("env/USERDOMAIN");
|
|
|
+ |
rmd.addColumn("env/USERNAME");
|
|
|
+ |
rmd.addColumn("env/COMPUTERNAME");
|
|
|
+ |
rmd.addColumn("sys/java.version");
|
|
|
+ |
rmd.addColumn("sys/os.name");
|
|
|
+ |
rmd.addColumn("sys/os.version");
|
|
|
+ |
rmd.addColumn("sys/os.arch");
|
|
|
|
|
|
|
+ |
return rmd;
|
|
|
|
|
|
|
+ |
</pre>
|
|
|
|
|
|
|
+ |
----
|
|
|
|
|
|
|
+ |
''Report Script:''
|
|
|
|
|
|
|
+ |
<pre>import com.urbancode.anthill3.domain.agent.*;
|
|
|
+ |
import com.urbancode.anthill3.domain.reporting.*;
|
|
|
+ |
import com.urbancode.anthill3.services.agent.*;
|
|
|
|
|
|
|
+ |
String[] vars = new String[] { "env/JAVA_HOME", "env/USERDOMAIN", "env/USERNAME", "env/COMPUTERNAME", "sys/java.version", "sys/os.name", "sys/os.version", "sys/os.arch"};
|
|
|
|
|
|
|
+ |
void setColsBlank(row) {
|
|
|
+ |
for (var : vars) {
|
|
|
+ |
row.setColumnValue(var, "");
|
|
|
+ |
}
|
|
|
+ |
}
|
|
|
|
|
|
|
+ |
void setColsFromAgent(row, agent) {
|
|
|
+ |
for (var : vars) {
|
|
|
+ |
String value = AgentVarHelper.getAgentVar(agent, var);
|
|
|
+ |
value = value == null ? "<i>undefined</i>" : value;
|
|
|
+ |
row.setColumnValue(var, value);
|
|
|
+ |
}
|
|
|
+ |
}
|
|
|
|
|
|
|
+ |
ReportOutput output = new ReportOutput(metaData);
|
|
|
|
|
|
|
+ |
agents = AgentFactory.getInstance().restoreAll();
|
|
|
|
|
|
|
+ |
for (Agent agent : agents) {
|
|
|
+ |
ReportRow row = new ReportRow(output, String.valueOf(agent.getId()));
|
|
|
+ |
row.setColumnValue("Agent", agent.getName());
|
|
|
+ |
if (agent.isConfigured()) {
|
|
|
+ |
status = AgentManager.getInstance().getAgentStatus(agent);
|
|
|
+ |
if (status == null || !status.isOnline()) {
|
|
|
+ |
row.setColumnValue("Status", "OFFLINE");
|
|
|
+ |
setColsBlank(row);
|
|
|
+ |
}
|
|
|
+ |
else if (status.isAcceptableVersion()) {
|
|
|
+ |
row.setColumnValue("Status", "ONLINE");
|
|
|
+ |
setColsFromAgent(row, agent);
|
|
|
+ |
}
|
|
|
+ |
else {
|
|
|
+ |
row.setColumnValue("Status", "WRONG VERSION");
|
|
|
+ |
setColsFromAgent(row, agent);
|
|
|
+ |
}
|
|
|
+ |
}
|
|
|
+ |
else {
|
|
|
+ |
row.setColumnValue("Status", "NOT CONFIGURED");
|
|
|
+ |
setColsBlank(row);
|
|
|
+ |
}
|
|
|
+ |
output.addRow(row);
|
|
|
+ |
}
|
|
|
+ |
return output;
|
|
|
|
|
|
|
|
|
|
|
+ |
</pre>
|
|
|
|
|
|
|
+ |
----
|
|
|
|
|
|
|
+ |
'''Related Content'''
|
|
|
|
|
|
|
+ |
[[AnthillPro Template Reports]]<br/>
|
|
|
+ |
[[Report Templates]]
|