You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

This Page is under Development

Introduction

Self Heal is a monitoring and recovery module.

It continuously monitors the system resources like CPU and Memory and monitors the critical Processes running.

Self heal also performs Connectivity tests.

In case of any problems encountered, Self Heal takes corrective actions like: Rebooting the device, Restarting required process based on predefined conditions.

Self-heal stores Reset Count and Reboot Count.

Executing System

Self Heal is enabled by default and is active at the time of boot up.

It periodically performs below actions.

  • Resource monitoring: Monitors memory / cpu usage and if it goes beyond threshold, it reboots the device.
  • Process monitoring: It will periodically monitors status of the critical processes.
    • Ccsp processes: If any of these processes crashed, it will be restarted via Self Heal.
    • "CcspCrSsp": If this process is crashed, device will be rebooted.
    • "syseventd": If syseventd is crashed, device will be rebooted.
  • Connectivity test: If DNS or WAN_IP is down, device will stop the LAN functionality.


Lists of self heal supported dmcli commands :

S.NODMCLI COMMANDSDescription
1.Device.SelfHeal.X_RDKCENTRAL-COM_EnableUsed to enable/disable self heal functionality
2.Device.SelfHeal.X_RDKCENTRAL-COM_MaxRebootCountUsed to set the maximum reboot count for rebooting the rpi device once the cpu and memory threshold value was reached as 100(default value).   By default, it set as 3.  If it reaches 3 ..after that it doesn't do the reboot functionality. If we want, we can increase the reboot count also.
3.Device.SelfHeal.X_RDKCENTRAL-COM_MaxResetCountUsed to set the maximum reset count for connectivity test. for example, if  it reaches 3(3 times it stops the lan functionality), after that it doesn't stop the lan functionality. If we want , we can increase the reset count also.
4.Device.SelfHeal.X_RDKCENTRAL-COM_DNS_PINGTEST_EnableUsing this command to enable the PING function for connectivity tests.By default, it set as TRUE.
5.Device.SelfHeal.X_RDKCENTRAL-COM_DNS_URLUsing this command to set the DNS url for PING function for connectivity test , By default, it set as www.google.com
6.Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_PingIntervalUsing this command to set the PING interval time for connectivity test . By default, it set as 60.  Range of ping interval is min 15 to max 1440.
7.Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_CorrectiveActionUsing this command to enable/disable for Corrective Action for self heal scripts. By default, it set as TRUE.
8.Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_UsageComputeWindowUsing this command to set the resource monitor interval time. By default, it set as 1.
9.Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_AvgCPUThresholdUsing this command to set the AVG CPU threshold value. By default, it set as 100
10.Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_AvgMemoryThresholdUsing this command to set the AVG Memory threshold value. By default, it set as 100
11.Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_RebootIntervalUsing this command to set the reboot interval time for connectivity test. By default, it can be set as 28800. If DNS or WAN_IP gets down, device will stop the LAN functionality. If device will stop the LAN functionality..Internally PING functionality will check the diff of current time and last reboot time will be greater than the reboot interval time..then only device will stop the LAN functionality.

Note :

  1. For Connectivity Test  sequence ,

                            i) After boot-up,Very  First cycle  - random sleep functionality call was called.

                           II) Second cycle onwards - sleep will calculate based on below commands

                                                  Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_PingInterval - value of this command * 60 . For example : By default, PingInterval value as 60 . so, sleep will be 3600.

         2. For Resource Monitor Sequence as well as task monitor sequence,

                          i)  First cycle onwards -  sleep will calculate based on below commands

                                                   Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_UsageComputeWindow *60 .  For example : By default, RMInterval value as 1 . so, sleep will be 60.

        3. Self heal logs will be created on below folder,

                             /rdklogs/logs/SelfHeal.txt.0

      


      


  • No labels