Submit a ticketCall us

Get a crash course on Network Monitoring delivered right to your inbox
This free 7-day email course provides a primer to the philosophy, theory, and fundamental concepts involved in IT monitoring. Lessons will explain not only how to perform various monitoring tasks, but why and when you should use them. Sign up 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: 107 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