Shack

Members
  • Posts

    33
  • Joined

  • Last visited

  • Days Won

    2

Reputation

9 Neutral

About Shack

  • Rank
    Observer
    Observer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. All 3 of those values are populated with an API key tied to a user with the administrator role. Oddly though when I check this key in my portal it's "date last used" field is blank which to me should at least have a date from yesterday.
  2. I tested this quite extensively yesterday and wanted to share my findings. Doing a basic service restart with the print spooler service works fine however under no circumstances am I able to get the default alert note($alertNote = "Attempted to auto-restart the service. Its new status is " + $tmpService.Status + ".") to appear in my alert, in my portal. When the script is in the lib directory it works. Moving it anywhere outside of that directory and specifying the script path with or without quotes doesn't work for me. For testing purposes, the service account running the collector is a Domain Account & member of Local Administrators Group. Permissions appear identical in both the lib and external test location. What do you guys think?
  3. This is doing exactly what we want but with one problem. How do you stop a scripted event source from creating duplicate alerts every time it connects and runs? Hmmm I wonder if I can do something with my Escalation Chain. It would be awesome to be able to suppress these IF it detected the same port was disabled and an existing alert was already active based on message matching or something. I need a checkbox similar to the checkbox on the Windows Event Logging type Event Source.
  4. Still getting the below error when searching on H4T9GH ERROR LogicModule belongs to another private repository.
  5. H4T9GH apparently is in a security review state and not available in the exchange. I get an error when attempting to look it up. Support has given me a different version to test with.
  6. I figured this out and went a different route. Here is what I'm using. Works perfectly on all VC's in our environment, both windows and appliance. import com.santaba.agent.groovyapi.esx.ESX import com.vmware.vim25.mo.* def host = hostProps.get("system.hostname") def user = hostProps.get("esx.user") def pass = hostProps.get("esx.pass") def addr = hostProps.get("esx.url") ?: "https://${host}/sdk" def svc = new ESX() svc.open(addr, user, pass, 10 * 1000) // timeout in 10 seconds def si = svc.getServiceInstance() def rootFolder = si.getRootFolder() // Get resource HostSystem esxHost = new InventoryNavigator(rootFolder).searchManagedEntities("HostSystem").first() println "auto.vcenter.fullname=${si.aboutInfo.fullName}" println "auto.vcenter.build=${si.aboutInfo.build}" println "auto.vcenter.licenseproductname=${si.aboutInfo.licenseProductName}" println "auto.vcenter.os.type=${si.aboutInfo.osType}" println "auto.vcenter.product.line=${si.aboutInfo.productLineId}" println "auto.vcenter.version=${si.aboutInfo.version}" return 0
  7. Mind sharing yours? I think I may have a need for this and I am licensed for LMConfig
  8. I need to be able to report on vCenter versions. Today that is only captured when SNMP is configured on the vCenter Appliance. I need another way to populate this for all of the VC's in my environment as many of them are not configured with SNMP just esx.user and .pass. Anyone out there with a groovy script that would do this? I'm stuck reading the output using the first link below. I would like to just read the value from one of the properties on the page and set it as a property on my device. This page displays the info nicely in xml - https://${host}/mob/?moid=ServiceInstance&doPath=content%2eabout This one also does too via the API - https://vcenter.fqdn/rest/appliance/system/version
  9. Are any of you capturing installed programs on your Windows servers and if so how? I've been asked to look at a way to get this information but don't want to query win32_product. I also can't use Powershell due to our collector configurations and the various clients we have on them(The prerequisites to get powershell working cross domain with trusted hosts etc. is just not feasible)
  10. I like this and got it working in a test environment. Then I kicked off a collector upgrade to see what would happen to the file in the \lib directory and poof, it's gone.
  11. Appears to of imported even with the error above. Disregard.
  12. @Mosh do you have this datasource alerting for you? Interested in seeing if I can get it to work.
  13. Tried this in my portal today and it fails during import with the error below. Failed to parse LogicModule from XML: org.xml.sax.SAXParseException; lineNumber: 68; columnNumber: 90; Attribute name "data-pjax-transient" associated with an element type "meta" must be followed by the ' = ' character.
  14. We have an issue with our Cisco ASR's. The entPhysicalEntry returns the main chassis SN along with all of the other installed modules SN's. The problem is that it's setting the SN of a module other than the main chassis. This then syncs back to our CMDB with the wrong SN. Have any of you guys encountered this? The excerpt below is from a custom prop source we have but is also included in the main Device_BasicInfo prop source. // entPhysicalEntry def seenOidTypes = []; def entWalk = Snmp.walk(hostname, ".1.3.6.1.2.1.47.1.1.1.1"); entWalk.split('\n').sort().each{ line -> def ipNodeMatcher = line =~ /^\.1\.3\.6\.1\.2\.1\.47\.1\.1\.1\.1\.(?<oidType>\d+)\.(?<entPhysicalEntry>[\d\.]+) = (?<value>.+)$/; if(!ipNodeMatcher.matches()) { return; } // We have a match def oidType = ipNodeMatcher.group('oidType'); def entPhysicalEntry = ipNodeMatcher.group('entPhysicalEntry'); def value = ipNodeMatcher.group('value'); // Only do this once per oidType if(seenOidTypes.contains(oidType)) { // Already seen return; } // New one - add to seenOidTypes seenOidTypes.push(oidType); switch(oidType) { case "1": println "entPhysicalIndex=${value}"; break; case "2": println "entPhysicalDescr=${value}"; break; case "3": println "entPhysicalVendorType=${value}"; break; case "4": println "entPhysicalContainedIn=${value}"; break; case "5": println "entPhysicalClass=${value}"; break; case "6": println "entPhysicalParentRelPos=${value}"; break; case "7": println "entPhysicalName=${value}"; break; case "8": println "entPhysicalHardwareRev=${value}"; break; case "9": println "entPhysicalFirmwareRev=${value}"; break; case "10": println "entPhysicalSoftwareRev=${value}"; break; case "11": println "cmdb.serialnumber=${value}"; break; case "12": println "entPhysicalMfgName=${value}"; if(manufacturer == "") { manufacturer = value; } break; case "13": //println "entPhysicalModelName=${value}"; println "cmdb.model=${value}"; break; case "14": println "entPhysicalAlias=${value}"; break; case "15": println "entPhysicalAssetID=${value}"; break; case "16": println "entPhysicalIsFRU=${value}"; break; case "17": println "entPhysicalMfgDate=${value}"; break; case "18": println "entPhysicalUris=${value}"; break; default: // Ignore break;
  15. Click on property sources then select a property source(any of them) then in the URL put 21 at the end and hit enter. That will take you to property source 21.