Name

global.getCommandsFromPatternLog

Description

No description available

Script

/*
copy this to background script to run it

var script = new getCommandsFromPatternLog();
script.run();
*/

var getCommandsFromPatternLog = Class.create();
getCommandsFromPatternLog.prototype = {
  initialize: function() {
  },
  
  run : function() {
  	var grDiscoveryLog = new GlideRecord("sa_discovery_log");
  	var setPatternDelta = 4;
  	grDiscoveryLog.query();
  	while (grDiscoveryLog.next()) {
  		var os = "unknown";
  		var patternLog = grDiscoveryLog.log;
  		var patternLogLines = patternLog.split('\n');
  		var setPatternNameIndex = patternLogLines.indexOf("    \"id\" : \"set_pattern_name\",");
  		var patternNameLine = patternLogLines[setPatternNameIndex + setPatternDelta];
  		var patternName = patternNameLine.split("Pattern: ")[1];
  		patternName = patternName.substring(0, patternName.length-1);
  		if (patternName == "")
  			patternName = "NONE";
  		var managedIp = grDiscoveryLog.managed_ip;
  		if (managedIp == "")
  			managedIp = "NONE";
  		
  		var grServers = new GlideRecord("cmdb_ci_server");
  		grServers.addQuery("ip_address", managedIp);
  		grServers.query();
  		if (grServers.next())
  			os = grServers.os;
  		gs.log("*********************************************************************************************");
  		gs.log("PATTERN: " + patternName + ", IP: " + managedIp + ", OS: " + os);
  					
  		filterdLines = patternLogLines.filter( function(line){return (line.includes('Executing SSH command'));} );
  		for (var lineNumber in filterdLines) {
  			var line = filterdLines[lineNumber];
  			var arrTmp = line.split(':');
  			var command = line.replace(arrTmp[0]+':'+ arrTmp[1]+':'+arrTmp[2]+':'+arrTmp[3]+':','');
  			gs.log(command);
  		}
  	}
  },

  type: 'getCommandsFromPatternLog'
};

Sys ID

a61b15449f220300fd55734ec32e7091

Offical Documentation

Official Docs: