AnsweredAssumed Answered

Unable to push custom configuration of processes.cfg to controller using "text_file_put"

Question asked by amit_saxena on Aug 22, 2011
Latest reply on Aug 31, 2011 by geir.haugom

Hi,

 

I deployed processes probe and created a monitoring profile to monitor nas.exe . As it was working fine, I decided to add another monitoring profile to monitor notepad.exe . I could not find a call back in processes probe to do the same so I decided to manually modify processes.cfg and push it to the probe using controller using "text_file_put". However it's not working fine.

 

Please help and suggest if there is better approach available.

 

 

 

 

Contents of processes.cfg (with monitoring profile for nas.exe)

 

  <setup>    loglevel = 0    logfile = processes.log    interval = 10    samples = 5    sample_all = 1    get_command_line = yes    use_perf = yes    retry_discover_limit = 1    process_memory = PageFile    logsize = 100    groups_enabled = no    exclude = Idle </setup> <messages>    <MsgProcessUp>       text = $watcher: Process $process is running with process id = $pid.       level = information       token = process_up       default = yes       i18n_token = as#system.processes.proc_running_with_procid    </MsgProcessUp>    <MsgProcessDown>       text = $watcher: Process $process is not running       level = information       token = process_down       default = yes       i18n_token = as#system.processes.proc_procid_not_running    </MsgProcessDown>    <MsgProcessInstances>       text = $watcher: Wrong number of instances of process $process, expected instances $instances_op $instances_expect but found $instances_found       level = minor       token = process_instances       default = yes       i18n_token = as#system.processes.wrong_inses_found_inses    </MsgProcessInstances>    <MsgWindowExists>       text = $watcher: Window $window_name:$window_class exists       level = information       token = window_exists       default = yes       i18n_token = as#system.processes.wnd_wndcls_exist    </MsgWindowExists>    <MsgWindowMissing>       text = $watcher: Unable to find window $window_name:$window_class       level = warning       token = window_missing       default = yes       i18n_token = as#system.processes.unable_to_find_wind    </MsgWindowMissing>    <MsgWindowContent>       text = $watcher: Window $window_name contains the following: $window_text       level = warning       token = window_content       default = yes       i18n_token = as#system.processes.wnd_wndname_contains_wndtext    </MsgWindowContent>    <MsgRestartMessage>       text = $watcher: Restarting process $process       level = warning       token = restart_message       default = yes       i18n_token = as#system.processes.restarting_proc_procid    </MsgRestartMessage>    <MsgStartMessage>       text = $watcher: Starting process $process       level = warning       token = start_message       default = yes       i18n_token = as#system.processes.starting_proc    </MsgStartMessage>    <MsgStopMessage>       text = $watcher: Stopping process $process, PID = $pid       level = warning       token = stop_message       default = yes       i18n_token = as#system.processes.stopping_proc_procid    </MsgStopMessage>    <MsgStartError>       text = $watcher: Unable to start process $process with command $command. $errmsg       level = major       token = start_error       default = yes       i18n_token = as#system.processes.unabl_to_start_proc_with_cmd    </MsgStartError>    <MsgStopError>       text = $watcher: Unable to stop process $process, PID = $pid. $errmsg       level = major       token = stop_error       default = yes       i18n_token = as#system.processes.unable_to_stop_proc_procid    </MsgStopError>    <MsgCpuUsage>       text = $watcher: Process $process with cpu usage $cpu_average% exceeds $expected_cpu_usage%       level = warning       token = cpu_usage_exceeded       default = yes       i18n_token = as#system.processes.proc_cpuusage_expec_cpuusage    </MsgCpuUsage>    <MsgCpuUsageMin>       text = $watcher: Process $executable with cpu usage $cpu_average% which is below threshold $expected_cpu_usage%       level = warning       token = cpu_usage_below       default = yes       i18n_token = as#system.processes.proc_cpuusage_below_expec_cpuusage    </MsgCpuUsageMin>    <MsgCpuUsageRange>       text = $watcher: Process $executable with cpu usage $cpu_average% which is outside range $expected_cpu_usage%       level = warning       token = cpu_usage_range       default = yes       i18n_token = as#system.processes.proc_cpuusage_outofrange    </MsgCpuUsageRange>    <MsgProcSize>       text = $watcher: Process $process $which ($expected_size Kb) memory usage: $size Kb       level = warning       token = size_exceeded       default = yes       i18n_token = as#system.processes.proc_memusage    </MsgProcSize>    <MsgUser>       text = $watcher: Process $process not running as $expected_user but as $user       level = warning       token = unexpected_user       default = yes       i18n_token = as#system.processes.proc_not_running_with_expec_usr    </MsgUser>    <MsgThreadCount>       text = $watcher: Process $process contains $threads threads, expected $op $thread_limit       level = warning       token = thread_count       default = yes       i18n_token = as#system.processes.proc_threads    </MsgThreadCount>    <MaxRestarts>       text = $watcher: Process $process not started, max starts $max_restarts reached       level = major       token = max_restarts       default = yes       i18n_token = as#system.processes.proce_not_started    </MaxRestarts>    <MsgClear>       text = $watcher: Clear       level = clear       token = clear       default = yes       i18n_token = as#system.processes.watcher_clear    </MsgClear>    <MsgHandleError>       text = $watcher: Process $process contains $handles handles, expected $op $handle_limit       level = critical       token = handle_count_error       default = yes       i18n_token = as#system.processes.proc_handle_error    </MsgHandleError>    <MsgHandleWarning>       text = $watcher: Process $process contains $handles handles, expected $op $handle_limit       level = major       token = handle_count_warning       default = yes       i18n_token = as#system.processes.proc_handle_warning    </MsgHandleWarning> </messages> <watchers>    <nas.exe>       active = yes       description = Monitoring nas.exe       action = none       command = nas.exe       arguments =        process = nas.exe       process_count_type =        process_count =        report = down       execute =        cpu_num_check =        cpu_usage_max =        cpu_usage_min =        user =        password =        max_size =        min_size =        thread_count_limit =        thread_count_type =        thread_count_min =        thread_count_max =        track_by_pid = no       process_restart = no       invert_owner = no       proc_cmd_line = nas.exe       scan_proc_cmd_line = no       scan_proc_owner = no       max_restarts =        scan_cpu_usage = no       scan_size = no       scan_threads = no       scan_handles = no       scan_proc_parent = False       scan_proc_parent_name =        group =        qos_process_handles = True       handle_count_error =        handle_count_warning =        resource_execute = no       resource_command =        resource_arguments =        alarm_schedule =        qos_schedule =        qos_target =        qos_process_state = yes       qos_process_cpu = yes       qos_process_memory = yes       qos_process_count = yes       qos_process_threads = yes       subsystem =        <window>          active = no          name =           class =           expect = existent          on_error = ignore       </window>    </nas.exe> </watchers> 

 

 

 

 

Contents of processes.cfg (with monitoring profile for notepad.exe also apart from existing nas.exe)

 

  <setup>    loglevel = 0    logfile = processes.log    interval = 10    samples = 5    sample_all = 1    get_command_line = yes    use_perf = yes    retry_discover_limit = 1    process_memory = PageFile    logsize = 100    groups_enabled = no    exclude = Idle </setup> <messages>    <MsgProcessUp>       text = $watcher: Process $process is running with process id = $pid.       level = information       token = process_up       default = yes       i18n_token = as#system.processes.proc_running_with_procid    </MsgProcessUp>    <MsgProcessDown>       text = $watcher: Process $process is not running       level = information       token = process_down       default = yes       i18n_token = as#system.processes.proc_procid_not_running    </MsgProcessDown>    <MsgProcessInstances>       text = $watcher: Wrong number of instances of process $process, expected instances $instances_op $instances_expect but found $instances_found       level = minor       token = process_instances       default = yes       i18n_token = as#system.processes.wrong_inses_found_inses    </MsgProcessInstances>    <MsgWindowExists>       text = $watcher: Window $window_name:$window_class exists       level = information       token = window_exists       default = yes       i18n_token = as#system.processes.wnd_wndcls_exist    </MsgWindowExists>    <MsgWindowMissing>       text = $watcher: Unable to find window $window_name:$window_class       level = warning       token = window_missing       default = yes       i18n_token = as#system.processes.unable_to_find_wind    </MsgWindowMissing>    <MsgWindowContent>       text = $watcher: Window $window_name contains the following: $window_text       level = warning       token = window_content       default = yes       i18n_token = as#system.processes.wnd_wndname_contains_wndtext    </MsgWindowContent>    <MsgRestartMessage>       text = $watcher: Restarting process $process       level = warning       token = restart_message       default = yes       i18n_token = as#system.processes.restarting_proc_procid    </MsgRestartMessage>    <MsgStartMessage>       text = $watcher: Starting process $process       level = warning       token = start_message       default = yes       i18n_token = as#system.processes.starting_proc    </MsgStartMessage>    <MsgStopMessage>       text = $watcher: Stopping process $process, PID = $pid       level = warning       token = stop_message       default = yes       i18n_token = as#system.processes.stopping_proc_procid    </MsgStopMessage>    <MsgStartError>       text = $watcher: Unable to start process $process with command $command. $errmsg       level = major       token = start_error       default = yes       i18n_token = as#system.processes.unabl_to_start_proc_with_cmd    </MsgStartError>    <MsgStopError>       text = $watcher: Unable to stop process $process, PID = $pid. $errmsg       level = major       token = stop_error       default = yes       i18n_token = as#system.processes.unable_to_stop_proc_procid    </MsgStopError>    <MsgCpuUsage>       text = $watcher: Process $process with cpu usage $cpu_average% exceeds $expected_cpu_usage%       level = warning       token = cpu_usage_exceeded       default = yes       i18n_token = as#system.processes.proc_cpuusage_expec_cpuusage    </MsgCpuUsage>    <MsgCpuUsageMin>       text = $watcher: Process $executable with cpu usage $cpu_average% which is below threshold $expected_cpu_usage%       level = warning       token = cpu_usage_below       default = yes       i18n_token = as#system.processes.proc_cpuusage_below_expec_cpuusage    </MsgCpuUsageMin>    <MsgCpuUsageRange>       text = $watcher: Process $executable with cpu usage $cpu_average% which is outside range $expected_cpu_usage%       level = warning       token = cpu_usage_range       default = yes       i18n_token = as#system.processes.proc_cpuusage_outofrange    </MsgCpuUsageRange>    <MsgProcSize>       text = $watcher: Process $process $which ($expected_size Kb) memory usage: $size Kb       level = warning       token = size_exceeded       default = yes       i18n_token = as#system.processes.proc_memusage    </MsgProcSize>    <MsgUser>       text = $watcher: Process $process not running as $expected_user but as $user       level = warning       token = unexpected_user       default = yes       i18n_token = as#system.processes.proc_not_running_with_expec_usr    </MsgUser>    <MsgThreadCount>       text = $watcher: Process $process contains $threads threads, expected $op $thread_limit       level = warning       token = thread_count       default = yes       i18n_token = as#system.processes.proc_threads    </MsgThreadCount>    <MaxRestarts>       text = $watcher: Process $process not started, max starts $max_restarts reached       level = major       token = max_restarts       default = yes       i18n_token = as#system.processes.proce_not_started    </MaxRestarts>    <MsgClear>       text = $watcher: Clear       level = clear       token = clear       default = yes       i18n_token = as#system.processes.watcher_clear    </MsgClear>    <MsgHandleError>       text = $watcher: Process $process contains $handles handles, expected $op $handle_limit       level = critical       token = handle_count_error       default = yes       i18n_token = as#system.processes.proc_handle_error    </MsgHandleError>    <MsgHandleWarning>       text = $watcher: Process $process contains $handles handles, expected $op $handle_limit       level = major       token = handle_count_warning       default = yes       i18n_token = as#system.processes.proc_handle_warning    </MsgHandleWarning> </messages> <watchers>    <nas.exe>       active = yes       description = Monitoring nas.exe       action = none       command = nas.exe       arguments =        process = nas.exe       process_count_type =        process_count =        report = down       execute =        cpu_num_check =        cpu_usage_max =        cpu_usage_min =        user =        password =        max_size =        min_size =        thread_count_limit =        thread_count_type =        thread_count_min =        thread_count_max =        track_by_pid = no       process_restart = no       invert_owner = no       proc_cmd_line = nas.exe       scan_proc_cmd_line = no       scan_proc_owner = no       max_restarts =        scan_cpu_usage = no       scan_size = no       scan_threads = no       scan_handles = no       scan_proc_parent = False       scan_proc_parent_name =        group =        qos_process_handles = True       handle_count_error =        handle_count_warning =        resource_execute = no       resource_command =        resource_arguments =        alarm_schedule =        qos_schedule =        qos_target =        qos_process_state = yes       qos_process_cpu = yes       qos_process_memory = yes       qos_process_count = yes       qos_process_threads = yes       subsystem =        <window>          active = no          name =           class =           expect = existent          on_error = ignore       </window>    </nas.exe>    <notepad.exe>       active = yes       description = Monitoring notepad.exe       action = none       command = notepad.exe       arguments =        process = notepad.exe       process_count_type =        process_count =        report = down       execute =        cpu_num_check =        cpu_usage_max =        cpu_usage_min =        user =        password =        max_size =        min_size =        thread_count_limit =        thread_count_type =        thread_count_min =        thread_count_max =        track_by_pid = no       process_restart = no       invert_owner = no       proc_cmd_line = notepad.exe       scan_proc_cmd_line = no       scan_proc_owner = no       max_restarts =        scan_cpu_usage = no       scan_size = no       scan_threads = no       scan_handles = no       scan_proc_parent = False       scan_proc_parent_name =        group =        qos_process_handles = True       handle_count_error =        handle_count_warning =        resource_execute = no       resource_command =        resource_arguments =        alarm_schedule =        qos_schedule =        qos_target =        qos_process_state = yes       qos_process_cpu = yes       qos_process_memory = yes       qos_process_count = yes       qos_process_threads = yes       subsystem =        <window>          active = no          name =           class =           expect = existent          on_error = ignore       </window>    </notepad.exe> </watchers> 

 

 

 

 

Below is the LUA script I am using along with the output.

 

printf ("Calling \"text_file_get\" on processes probe for processes.cfg\n") mypds2 = pds.create () pds.putString ( mypds2, "directory", "probes/system/processes" ) pds.putString ( mypds2, "file", "processes.cfg" ) pds.putInt ( mypds2, "buffer_size", 102400 ) output2,return_status2 = nimbus.request ( "/Domain1/PrimaryHub1/a9c0b9vm3wxp/controller", "text_file_get", mypds2 ) if return_status2 == NIME_OK then    config_file_contents = output2.file_content    printf ("The configuration file contents are as follows :-\n\n")    printf ("%s\n",config_file_contents); else    printf ("Callback \"text_file_get\" on controller for processes probe failed !\n")    pds.delete (mypds2)    exit (2) end  config_file_contents1 = "     <setup>      loglevel = 0      logfile = processes.log      interval = 10      samples = 5      sample_all = 1      get_command_line = yes      use_perf = yes      retry_discover_limit = 1      process_memory = PageFile      logsize = 100      groups_enabled = no      exclude = Idle   </setup>   <messages>      <MsgProcessUp>         text = $watcher: Process $process is running with process id = $pid.         level = information         token = process_up         default = yes         i18n_token = as#system.processes.proc_running_with_procid      </MsgProcessUp>      <MsgProcessDown>         text = $watcher: Process $process is not running         level = information         token = process_down         default = yes         i18n_token = as#system.processes.proc_procid_not_running      </MsgProcessDown>      <MsgProcessInstances>         text = $watcher: Wrong number of instances of process $process, expected instances $instances_op $instances_expect but found $instances_found         level = minor         token = process_instances         default = yes         i18n_token = as#system.processes.wrong_inses_found_inses      </MsgProcessInstances>      <MsgWindowExists>         text = $watcher: Window $window_name:$window_class exists         level = information         token = window_exists         default = yes         i18n_token = as#system.processes.wnd_wndcls_exist      </MsgWindowExists>      <MsgWindowMissing>         text = $watcher: Unable to find window $window_name:$window_class         level = warning         token = window_missing         default = yes         i18n_token = as#system.processes.unable_to_find_wind      </MsgWindowMissing>      <MsgWindowContent>         text = $watcher: Window $window_name contains the following: $window_text         level = warning         token = window_content         default = yes         i18n_token = as#system.processes.wnd_wndname_contains_wndtext      </MsgWindowContent>      <MsgRestartMessage>         text = $watcher: Restarting process $process         level = warning         token = restart_message         default = yes         i18n_token = as#system.processes.restarting_proc_procid      </MsgRestartMessage>      <MsgStartMessage>         text = $watcher: Starting process $process         level = warning         token = start_message         default = yes         i18n_token = as#system.processes.starting_proc      </MsgStartMessage>      <MsgStopMessage>         text = $watcher: Stopping process $process, PID = $pid         level = warning         token = stop_message         default = yes         i18n_token = as#system.processes.stopping_proc_procid      </MsgStopMessage>      <MsgStartError>         text = $watcher: Unable to start process $process with command $command. $errmsg         level = major         token = start_error         default = yes         i18n_token = as#system.processes.unabl_to_start_proc_with_cmd      </MsgStartError>      <MsgStopError>         text = $watcher: Unable to stop process $process, PID = $pid. $errmsg         level = major         token = stop_error         default = yes         i18n_token = as#system.processes.unable_to_stop_proc_procid      </MsgStopError>      <MsgCpuUsage>         text = $watcher: Process $process with cpu usage $cpu_average% exceeds $expected_cpu_usage%         level = warning         token = cpu_usage_exceeded         default = yes         i18n_token = as#system.processes.proc_cpuusage_expec_cpuusage      </MsgCpuUsage>      <MsgCpuUsageMin>         text = $watcher: Process $executable with cpu usage $cpu_average% which is below threshold $expected_cpu_usage%         level = warning         token = cpu_usage_below         default = yes         i18n_token = as#system.processes.proc_cpuusage_below_expec_cpuusage      </MsgCpuUsageMin>      <MsgCpuUsageRange>         text = $watcher: Process $executable with cpu usage $cpu_average% which is outside range $expected_cpu_usage%         level = warning         token = cpu_usage_range         default = yes         i18n_token = as#system.processes.proc_cpuusage_outofrange      </MsgCpuUsageRange>      <MsgProcSize>         text = $watcher: Process $process $which ($expected_size Kb) memory usage: $size Kb         level = warning         token = size_exceeded         default = yes         i18n_token = as#system.processes.proc_memusage      </MsgProcSize>      <MsgUser>         text = $watcher: Process $process not running as $expected_user but as $user         level = warning         token = unexpected_user         default = yes         i18n_token = as#system.processes.proc_not_running_with_expec_usr      </MsgUser>      <MsgThreadCount>         text = $watcher: Process $process contains $threads threads, expected $op $thread_limit         level = warning         token = thread_count         default = yes         i18n_token = as#system.processes.proc_threads      </MsgThreadCount>      <MaxRestarts>         text = $watcher: Process $process not started, max starts $max_restarts reached         level = major         token = max_restarts         default = yes         i18n_token = as#system.processes.proce_not_started      </MaxRestarts>      <MsgClear>         text = $watcher: Clear         level = clear         token = clear         default = yes         i18n_token = as#system.processes.watcher_clear      </MsgClear>      <MsgHandleError>         text = $watcher: Process $process contains $handles handles, expected $op $handle_limit         level = critical         token = handle_count_error         default = yes         i18n_token = as#system.processes.proc_handle_error      </MsgHandleError>      <MsgHandleWarning>         text = $watcher: Process $process contains $handles handles, expected $op $handle_limit         level = major         token = handle_count_warning         default = yes         i18n_token = as#system.processes.proc_handle_warning      </MsgHandleWarning>   </messages>   <watchers>      <nas.exe>         active = yes         description = Monitoring nas.exe         action = none         command = nas.exe         arguments =          process = nas.exe         process_count_type =          process_count =          report = down         execute =          cpu_num_check =          cpu_usage_max =          cpu_usage_min =          user =          password =          max_size =          min_size =          thread_count_limit =          thread_count_type =          thread_count_min =          thread_count_max =          track_by_pid = no         process_restart = no         invert_owner = no         proc_cmd_line = nas.exe         scan_proc_cmd_line = no         scan_proc_owner = no         max_restarts =          scan_cpu_usage = no         scan_size = no         scan_threads = no         scan_handles = no         scan_proc_parent = False         scan_proc_parent_name =          group =          qos_process_handles = True         handle_count_error =          handle_count_warning =          resource_execute = no         resource_command =          resource_arguments =          alarm_schedule =          qos_schedule =          qos_target =          qos_process_state = yes         qos_process_cpu = yes         qos_process_memory = yes         qos_process_count = yes         qos_process_threads = yes         subsystem =          <window>            active = no            name =             class =             expect = existent            on_error = ignore         </window>      </nas.exe>      <notepad.exe>         active = yes         description = Monitoring notepad.exe         action = none         command = notepad.exe         arguments =          process = notepad.exe         process_count_type =          process_count =          report = down         execute =          cpu_num_check =          cpu_usage_max =          cpu_usage_min =          user =          password =          max_size =          min_size =          thread_count_limit =          thread_count_type =          thread_count_min =          thread_count_max =          track_by_pid = no         process_restart = no         invert_owner = no         proc_cmd_line = notepad.exe         scan_proc_cmd_line = no         scan_proc_owner = no         max_restarts =          scan_cpu_usage = no         scan_size = no         scan_threads = no         scan_handles = no         scan_proc_parent = False         scan_proc_parent_name =          group =          qos_process_handles = True         handle_count_error =          handle_count_warning =          resource_execute = no         resource_command =          resource_arguments =          alarm_schedule =          qos_schedule =          qos_target =          qos_process_state = yes         qos_process_cpu = yes         qos_process_memory = yes         qos_process_count = yes         qos_process_threads = yes         subsystem =          <window>            active = no            name =             class =             expect = existent            on_error = ignore         </window>      </notepad.exe>   </watchers>         "   printf ("Deactivating processes probe\n") mypds1 = pds.create () pds.putString ( mypds1, "name", "processes" ) output1,return_status1 = nimbus.request ( "/Domain1/PrimaryHub1/a9c0b9vm3wxp/controller", "probe_deactivate", mypds1 ) if return_status1 == NIME_OK then    printf ("processes probe deactivated successfully\n") else    printf ("Callback \"probe_deactivate\" on controller for processes probe failed !\n")    exit (1) end pds.delete (mypds1)   printf ("Calling \"text_file_put\" on processes probe for processes.cfg\n") mypds3 = pds.create () pds.putString ( mypds3, "directory", "probes/system/processes" ) pds.putString ( mypds3, "file", "processes.cfg" ) pds.putString ( mypds3, "mode", "2" ) --pds.putString ( mypds3, "text_file_put", config_file_contents1 ) pds.putString ( mypds3, "text_file_put", "hello" ) output3,return_status3 = nimbus.request ( "/Domain1/PrimaryHub1/a9c0b9vm3wxp/controller", "text_file_put", mypds3 ) if return_status3 == NIME_OK then    printf ("Callback \"text_file_put\" on controller for processes probe successful !\n") else    printf ("Callback \"text_file_put\" on controller for processes probe failed !\n")    pds.delete (mypds3)    exit (3) end  printf ("Activating processes probe\n") mypds1 = pds.create () pds.putString ( mypds1, "name", "processes" ) output1,return_status1 = nimbus.request ( "/Domain1/PrimaryHub1/a9c0b9vm3wxp/controller", "probe_activate", mypds1 ) if return_status1 == NIME_OK then    printf ("processes probe activated successfully\n") else    printf ("Callback \"probe_activate\" on controller for processes probe failed !\n")    exit (1) end pds.delete (mypds1) 

 

Output

 

----------- Executing script at 8/22/2011 4:28:12 PM ----------    Calling "text_file_get" on processes probe for processes.cfg    The configuration file contents are as follows :-     <setup>    loglevel = 0    logfile = processes.log    interval = 10    samples = 5    sample_all = 1    get_command_line = yes    use_perf = yes    retry_discover_limit = 1    process_memory = PageFile    logsize = 100    groups_enabled = no    exclude = Idle </setup> <messages>    <MsgProcessUp>       text = $watcher: Process $process is running with process id = $pid.       level = information       token = process_up       default = yes       i18n_token = as#system.processes.proc_running_with_procid    </MsgProcessUp>    <MsgProcessDown>       text = $watcher: Process $process is not running       level = information       token = process_down       default = yes       i18n_token = as#system.processes.proc_procid_not_running    </MsgProcessDown>    <MsgProcessInstances>       text = $watcher: Wrong number of instances of process $process, expected instances $instances_op $instances_expect but found $instances_found       level = minor       token = process_instances       default = yes       i18n_token = as#system.processes.wrong_inses_found_inses    </MsgProcessInstances>    <MsgWindowExists>       text = $watcher: Window $window_name:$window_class exists       level = information       token = window_exists       default = yes       i18n_token = as#system.processes.wnd_wndcls_exist    </MsgWindowExists>    <MsgWindowMissing>       text = $watcher: Unable to find window $window_name:$window_class       level = warning       token = window_missing       default = yes       i18n_token = as#system.processes.unable_to_find_wind    </MsgWindowMissing>    <MsgWindowContent>       text = $watcher: Window $window_name contains the following: $window_text       level = warning       token = window_content       default = yes       i18n_token = as#system.processes.wnd_wndname_contains_wndtext    </MsgWindowContent>    <MsgRestartMessage>       text = $watcher: Restarting process $process       level = warning       token = restart_message       default = yes       i18n_token = as#system.processes.restarting_proc_procid    </MsgRestartMessage>    <MsgStartMessage>       text = $watcher: Starting process $process       level = warning       token = start_message       default = yes       i18n_token = as#system.processes.starting_proc    </MsgStartMessage>    <MsgStopMessage>       text = $watcher: Stopping process $process, PID = $pid       level = warning       token = stop_message       default = yes       i18n_token = as#system.processes.stopping_proc_procid    </MsgStopMessage>    <MsgStartError>       text = $watcher: Unable to start process $process with command $command. $errmsg       level = major       token = start_error       default = yes       i18n_token = as#system.processes.unabl_to_start_proc_with_cmd    </MsgStartError>    <MsgStopError>       text = $watcher: Unable to stop process $process, PID = $pid. $errmsg       level = major       token = stop_error       default = yes       i18n_token = as#system.processes.unable_to_stop_proc_procid    </MsgStopError>    <MsgCpuUsage>       text = $watcher: Process $process with cpu usage $cpu_average% exceeds $expected_cpu_usage%       level = warning       token = cpu_usage_exceeded       default = yes       i18n_token = as#system.processes.proc_cpuusage_expec_cpuusage    </MsgCpuUsage>    <MsgCpuUsageMin>       text = $watcher: Process $executable with cpu usage $cpu_average% which is below threshold $expected_cpu_usage%       level = warning       token = cpu_usage_below       default = yes       i18n_token = as#system.processes.proc_cpuusage_below_expec_cpuusage    </MsgCpuUsageMin>    <MsgCpuUsageRange>       text = $watcher: Process $executable with cpu usage $cpu_average% which is outside range $expected_cpu_usage%       level = warning       token = cpu_usage_range       default = yes       i18n_token = as#system.processes.proc_cpuusage_outofrange    </MsgCpuUsageRange>    <MsgProcSize>       text = $watcher: Process $process $which ($expected_size Kb) memory usage: $size Kb       level = warning       token = size_exceeded       default = yes       i18n_token = as#system.processes.proc_memusage    </MsgProcSize>    <MsgUser>       text = $watcher: Process $process not running as $expected_user but as $user       level = warning       token = unexpected_user       default = yes       i18n_token = as#system.processes.proc_not_running_with_expec_usr    </MsgUser>    <MsgThreadCount>       text = $watcher: Process $process contains $threads threads, expected $op $thread_limit       level = warning       token = thread_count       default = yes       i18n_token = as#system.processes.proc_threads    </MsgThreadCount>    <MaxRestarts>       text = $watcher: Process $process not started, max starts $max_restarts reached       level = major       token = max_restarts       default = yes       i18n_token = as#system.processes.proce_not_started    </MaxRestarts>    <MsgClear>       text = $watcher: Clear       level = clear       token = clear       default = yes       i18n_token = as#system.processes.watcher_clear    </MsgClear>    <MsgHandleError>       text = $watcher: Process $process contains $handles handles, expected $op $handle_limit       level = critical       token = handle_count_error       default = yes       i18n_token = as#system.processes.proc_handle_error    </MsgHandleError>    <MsgHandleWarning>       text = $watcher: Process $process contains $handles handles, expected $op $handle_limit       level = major       token = handle_count_warning       default = yes       i18n_token = as#system.processes.proc_handle_warning    </MsgHandleWarning> </messages> <watchers>    <nas.exe>       active = yes       description = Monitoring nas.exe       action = none       command = nas.exe       arguments =        process = nas.exe       process_count_type =        process_count =        report = down       execute =        cpu_num_check =        cpu_usage_max =        cpu_usage_min =        user =        password =        max_size =        min_size =        thread_count_limit =        thread_count_type =        thread_count_min =        thread_count_max =        track_by_pid = no       process_restart = no       invert_owner = no       proc_cmd_line = nas.exe       scan_proc_cmd_line = no       scan_proc_owner = no       max_restarts =        scan_cpu_usage = no       scan_size = no       scan_threads = no       scan_handles = no       scan_proc_parent = False       scan_proc_parent_name =        group =        qos_process_handles = True       handle_count_error =        handle_count_warning =        resource_execute = no       resource_command =        resource_arguments =        alarm_schedule =        qos_schedule =        qos_target =        qos_process_state = yes       qos_process_cpu = yes       qos_process_memory = yes       qos_process_count = yes       qos_process_threads = yes       subsystem =        <window>          active = no          name =           class =           expect = existent          on_error = ignore       </window>    </nas.exe> </watchers>     Deactivating processes probe    processes probe deactivated successfully    Calling "text_file_put" on processes probe for processes.cfg    Callback "text_file_put" on controller for processes probe failed !  

 

 

 

 

Regards,

Amit Saxena

Outcomes