Submit a ticketCall us

Webinar: Web Help Desk for HR, Facilities and Accounting Departments
This webinar will focus on use cases for HR, Facilities and Accounting.

Having a unified ticketing and asset management system for all the departments in your company can provide end-users with a seamless experience and make things easier for your IT team. Yet, with different business tasks and objectives, many departments don’t fully understand the capabilities of Web Help Desk and how the software can be customized for effective use in their departments.
Register Now.

Home > Success Center > Network Performance Monitor (NPM) > Unable to add node to additional poller

Unable to add node to additional poller

Created by Matthew Lamb, last modified by Karen Valdellon on Jul 20, 2016

Views: 135 Votes: 0 Revisions: 2

Updated July 20, 2016

Overview

This article addresses the issue where an additional poller cannot be added to a node unless it is added through the primary poller, edited and assigned to the additional poller.

 

The following error also appears in the CoreBusinessLayer.log file:

2016-07-18 08:34:44,467 [7] ERROR SolarWinds.Orion.Core.BusinessLayer.BackgroundInventory.PluginsFactory - Failed to initialized assembly E:\Program Files (x86)\SolarWinds\Orion\HardwareHealth\SolarWinds.HardwareHealth.Collector.dll
System.BadImageFormatException: Could not load file or assembly 'file:///E:\Program Files (x86)\SolarWinds\Orion\HardwareHealth\SolarWinds.HardwareHealth.Collector.dll' or one of its dependencies. The module was expected to contain an assembly manifest.
File name: 'file:///E:\Program Files (x86)\SolarWinds\Orion\HardwareHealth\SolarWinds.HardwareHealth.Collector.dll'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.ReflectionOnlyLoadFrom(String assemblyFile)
   at SolarWinds.Orion.Core.BusinessLayer.BackgroundInventory.PluginsFactory.ProcessAssembly(String fileName)
   at SolarWinds.Orion.Core.BusinessLayer.BackgroundInventory.PluginsFactory.Process(IEnumerable`1 files)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Environment

NPM 10.5 and later

Cause 

This occurs when certain .dlls on the additional poller are either corrupted or blocked by the server. In this case, the problematic dlls are the Hardware Health dlls.

Resolution

  1. On the primary poller, go to Program Files (x86)\SolarWinds\Orion\HardwareHealth
  2. Copy the following files and place them in a .zip:
    • SolarWinds.HardwareHealth.Collector.dll
    • SolarWinds.HardwareHealth.Common.dll
    • SolarWinds.HardwareHealth.Data.dll
    • SolarWinds.HardwareHealth.DiscoveryPlugin.dll
    • SolarWinds.HardwareHealth.Pollers.dll
  3. Move the zip to the secondary poller.
  4. Stop all services on this poller.
  5. Extract the zip to the desktop of the secondary poller.
  6. Once it is extracted, right-click on the extracted directory and click Send To... and then click Compressed file.
  7. Run through the steps to zip that directory back up and place the newly zipped directory on the desktop.
  8. Extract the new .zip to the desktop in a separate directory. This is the directory where you will get the files from.
  9. Go to Program Files (x86)\SolarWinds\Orion\HardwareHealth
  10. Remove the files you recently copied over by either deleting or placing in a directory that is not part of the SolarWinds directory path.
  11. Paste the newly zipped and extracted files.
  12. Restart services and verify if the issue is resolved.


Note: The reason why you must extract the zip, then re-zip it and extract it again is because Windows Server 2008 and later automatically block any dll file extensions that did not originate from it. By extracting the zipped directory, all of those dlls from the primary will be blocked. The easiest way to get around this is to then zip all of those extracted files into a new zip file created on that server. This will cause the server to automatically trust all of the dlls in the zip as the dlls originated on the server. Once you extract them back out to a new directory, all of those dlls will be trusted.

 

 

Last modified
20:38, 19 Jul 2016

Tags

Classifications

Public