eHealth down due to MTF change in OneClick

Document ID : KB000017686
Last Modified Date : 14/02/2018
Show Technical Document Details

Summary:

Changing an element's MTF agent file in OneClick causes eHealth to crash. Please follow instructions below for fix.

Instructions:

  1. Login as the $NH_USER on the host
  2. Stop eHealth server from command line:

    nhServer stop

  3. Connect to the eHealth database as the $NH_USER:

    Solaris/Linux:
    sqlplus $NH_USER/$NH_USER@$NH_DB_CONNECT_STRING

    Windows 2003/2008:
    sqlplus %NH_USER%/%NH_USER%/@%NH_DB_CONNECT_STRING%

  4. Find elements with incorrect mtf_name values with these two queries:

    SELECT element_id, name, mtf_name FROM nh_element WHERE mtf_name not like ('%.mtf');
    SELECT name, mtf_name, element_id FROM nh_element WHERE mtf_name not in (SELECT name FROM nh_mtf);

    Sample output may look something like this:

    ELEMENT_ID             NAME MTF_NAME ---------------------- --------------------------------------- -----------------------------------------------------3760020                ABC123-RH-CPU-1    Cisco Router CPU 5min CPM (w/memory)                             2722324 ABC123-RH-Ethernet10/9 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       2722325 ABC123-RH-Ethernet10/10 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       2722345 ABC123-RH-Ethernet7/5 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       [...]                      2722364 ABC123-RH-Ethernet9/28 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       2722365 ABC123-RH-Ethernet9/30 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       2722366 ABC123-RH-Ethernet9/32 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       2722367 ABC123-RH-Ethernet10/1 MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)                       3556946 ABC123-port-channel251 MIB2 WAN (v2c/HighSpeed/>20M) 44 rows selected
  5. Find the appropriate .mtf file for each MTF_NAME in the $NH_HOME/poller directory in another session (or Windows command line interface):

    (If on Windows, please switch to a bash shell before entering commands. Note that output directories will use standard drive partition labels in Windows.)

     grep "Cisco Router CPU 5min CPM (w/memory)" $NH_HOME/poller/*.mtf /export/indev2/eh622/poller/cisco-rh-cpu-5min-rev-mem-cpm.mtf:  agent "Cisco Router CPU 5min CPM (w/memory)"  cisco-rh-cpu-5min-rev-mem-cpm.mtf - will be correct MTF name value.  grep "MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)" $NH_HOME/poller/*.mtf /export/indev2/eh622/poller/cisco-cat-mib2-enet-fd-v2c-hs-IF-640.mtf:   agent "Cisco Catalyst MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)" /export/indev2/eh622/poller/cisco-mib2-enet-fd-v2c-hs-IF-640-no-multicast.mtf: agent "Cisco MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M) no Multicast" /export/indev2/eh622/poller/cisco-mib2-enet-fd-v2c-hs-IF-640.mtf:       agent "Cisco MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)" /export/indev2/eh622/poller/mib2-enet-fd-v2c-hs-IF-640.mtf:     agent "MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)"  mib2-enet-fd-v2c-hs-IF-640.mtf - will be correct MTF name value.  grep "MIB2 WAN (v2c/HighSpeed/>20M)" $NH_HOME/poller/*.mtf /export/indev2/eh622/poller/cisco-mib2-v2c-hs-IF-20.mtf: agent "Cisco MIB2 WAN (v2c/HighSpeed/>20M)" /export/indev2/eh622/poller/mib2-v2c-hs-IF-20.mtf: agent "MIB2 WAN (v2c/HighSpeed/>20M)"  mib2-v2c-hs-IF-20.mtf - will be correct MTF name value. 
  6. Back in the original session or command line interface window, update each element with the correct MTF name.

    update nh_element set mtf_name='cisco-rh-cpu-5min-rev-mem-cpm.mtf' where mtf_name = 'Cisco Router CPU 5min CPM (w/memory)';
    update nh_element set mtf_name='mib2-enet-fd-v2c-hs-IF-640.mtf' where mtf_name = 'MIB2 ENET (FullDuplex/v2c/HighSpeed/>640M)';
    update nh_element set mtf_name='mib2-v2c-hs-IF-20.mtf' where mtf_name = 'MIB2 WAN (v2c/HighSpeed/>20M)';|

    commit;
    exit

  7. Start eHealth server:

    nhServer start

    **In SQLPlus make sure you run the "commit;" command after running your update statements.