DX UIM probe configuration file corruption
search cancel

DX UIM probe configuration file corruption

book

Article ID: 384726

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM) CA Unified Infrastructure Management On-Premise (Nimsoft / UIM) CA Unified Infrastructure Management SaaS (Nimsoft / UIM)

Issue/Introduction

How to identify/determine and analyze if a probe configuration (.cfg file) has become corrupted.

Possible symptoms of file corruption:

  • The file content of the <probe_name>.cfg file file or upon examination of the .cfg file sections in Raw Configure mode, you notice that it differs from what is displayed in the user interface (UI), e.g., IM versus Admin Console.

  • A probe or robot will not start (due to truncation/missing sections, corruption)

  • Probe crashes upon opening

  • Probe starting and then constantly restarting

  • Probe gets a PID but never gets a port

 

Environment

  • DX UIM - Any version, 20.4, 23.4 or higher
  • Any probe
  • Any OS

Cause

  • probe configuration file corruption

  • Corruption of any <probe>.cfg file may occur due to one or more of the following causes:

    • truncation
    • missing cfg sections or section tags
    • missing data
    • concurrent write operations
    • copy/paste of content
    • manual edits
    • editing operations
    • file copy operations between dfferent systems with different OSes
    • ftp of the file
    • download of a file from the web
    • probe crashes
    • system crashes or system resource issues
    • probe.cfg updates
    • probe restarts
    • general issues when saving a file
    • system reboots
    • other

Resolution

The following content is just one example of identifying UIM .cfg file corruption and repairing it but there may be other scenarios where corruption may occur.

Notice that this section of sqlserver_monitor.cfg file had no 'start' and 'end' TAGs and appeared like so:

<connections>
   user = <sample_user>
   password = <encrypted_string>
   auto_domain = no
   description = <description/host/etc.>
   conn_string = <hostname>
   retry = 0
   retry_delay = 1 sec
   winauth = 0
   encryption = no
   enable_CrossDomain_conn = no
   timeout = 5 sec
   monitor_AlwaysOn = no
   is_AlwaysOn =
   tls_enable = no

If you look at the other sections of the sqlserver_monitor.cfg file, you'll notice that they all have start and end section tags, for example:

<connections>
<example_tag_1_start>
   user = <sample_user>
   password = <encrypted_string>
   auto_domain = no
   description = <description/host/etc.>
   conn_string = <hostname>
   retry = 0
   retry_delay = 1 sec
   winauth = 0
   encryption = no
   enable_CrossDomain_conn = no
   timeout = 5 sec
   monitor_AlwaysOn = no
   is_AlwaysOn =
   tls_enable = no
</example_tag_1_end>

etc...
etc...

Once the content of the file is repaired, the probe configuration should display all of the content - in this case the same number of connections in the Admin Console as there are in the Infrastructure Manager (IM) as expected.

Note that for many probes which may have been previously accessed/primarily configured with IM, when moving/migrating the configuration into the Admin Console, depending on the probe, you may need to do one or more of the following:

  • manually create the connection(s)
  • retest the connection from the robot/new robot
  • add new profiles
  • run discovery for the profile(s), e.g., snmpcollector
  • create AC templates for bulk configuration, e.g., vmware, snmpcollector, etc.

The section with the missing tags which was causing the issue in this case may have been added manually if it doesnt appear that there was file corruption, e.g., SOH (start of header) or corrupt characters, etc., as per the file when its displayed in Notepad++ with View-> Show Symbol-> 'Show All Characters' enabled.

Corruption in a UIM <probe>.cfg file may include special characters, e.g., σ, ??, " ", truncation, extra spaces/blanks, tabs, missing sections or sub-sections, umlauts, e.g., ◌̈,  italic characters, etc.

Once the file has been corrected/repaired,

  1. Deactivate the probe
  2. Replace it with the repaired .cfg file.
  3. Wait for both the Port AND the PID to disappear.
  4. Activate the probe
  5. Open the configuration in AC
  6. Compare the number/content of the connections / profiles and general content in AC with what is present in the Infrastructure Manager (IM) client.

Additional Information

Here is an extract of an sqlserver_monitor.cfg file connections section with proper start and end tags: 

<connections>
     <usaabcappsxxx>
      user = <user>
      password = (encrypted pwd removed)
      auto_domain = no
      description = usaabcappsxxx
      conn_string = usaabcappsxxx
      retry = 3
      retry_delay = 15 min
      winauth = 0
      encryption = no
      enable_CrossDomain_conn = no
      timeout = 5 min
      monitor_AlwaysOn = no
      is_AlwaysOn =
      tls_enable = no
   </usaabcappsxxx>
</connections>

Here is an extract of an sqlserver_monitor.cfg file connections section with an invalid/missing end tag:
 
<connections>
     <usaabcappsxxx>
      user = <user>
      password = (encrypted pwd removed)
      auto_domain = no
      description = usaabcappsxxx
      conn_string = usaabcappsxxx
      retry = 3
      retry_delay = 15 min
      winauth = 0
      encryption = no
      enable_CrossDomain_conn = no
      timeout = 5 min
      monitor_AlwaysOn = no
      is_AlwaysOn =
      tls_enable = no
</connections>
 
or another invalid example with a missing connections end tag such as:
 
<connections>
     <usaabcappsxxx>
      user = <user>
      password = (encrypted pwd removed)
      auto_domain = no
      description = usaabcappsxxx
      conn_string = usaabcappsxxx
      retry = 3
      retry_delay = 15 min
      winauth = 0
      encryption = no
      enable_CrossDomain_conn = no
      timeout = 5 min
      monitor_AlwaysOn = no
      is_AlwaysOn =
      tls_enable = no
</usaabcappsxxx> 

Please remember to be careful not to miss or remove any start or end tags when configuring/editing probe packages for bulk deployment of cfg changes.


The corresponding ASCII table for corrupt characters you might find in Notepad++ when viewing the .cfg file for possible bad/corrupt characters are:

// 00    NUL '\0' (null character)
// 01    SOH (start of heading)
// 02    STX (start of text)
// 03    ETX (end of text)
// 04    EOT (end of transmission)
// 05    ENQ (enquiry)
// 06    ACK (acknowledge)
// 07    BEL '\a' (bell)
// 08    BS  '\b' (backspace)
// 0B    VT  '\v' (vertical tab)
// 0C    FF  '\f' (form feed)
// 0E    SO  (shift out)
// 0F    SI  (shift in)
// 10    DLE (data link escape)
// 11    DC1 (device control 1)
// 12    DC2 (device control 2)
// 13    DC3 (device control 3)
// 14    DC4 (device control 4)
// 15    NAK (negative ack.)
// 16    SYN (synchronous idle)
// 17    ETB (end of trans. blk)
// 18    CAN (cancel)
// 19    EM  (end of medium)
// 1A    SUB (substitute)
// 1B    ESC (escape)
// 1C    FS  (file separator)
// 1D    GS  (group separator)
// 1E    RS  (record separator)
// 1F    US  (unit separator)

 

Note CRLF (Carriage Return Line Feed) is not corruption.

ALL of the sqlserver connections will display and be further configurable when you replace the corrupted/improperly configured/edited .cfg with the repaired sqlserver_monitor.cfg.

And as this is currently 'working as designed,' the customer may have to add profile checkpoints for the connections but, the 'default' checkpoints are automatically added to the profile.

Please refer to 'Configure Predefined Checkpoints.'