Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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.
Code Block
languagebash
titleSelfheal_DM
collapsetrue
DM parameters
=============

root@Filogic-GW:/# dmcli eRT getv Device.SelfHeal.
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.
Parameter    1 name: Device.SelfHeal.X_RDKCENTRAL-COM_FreeMemThreshold
               type:       uint,    value: 0 
Parameter    2 name: Device.SelfHeal.X_RDKCENTRAL-COM_MemFragThreshold
               type:       uint,    value: 0 
Parameter    3 name: Device.SelfHeal.X_RDKCENTRAL-COM_CpuMemFragInterval
               type:       uint,    value: 0 
Parameter    4 name: Device.SelfHeal.X_RDKCENTRAL-COM_Enable
               type:       bool,    value: true 
Parameter    5 name: Device.SelfHeal.X_RDKCENTRAL-COM_MaxRebootCount
               type:       uint,    value: 3 
Parameter    6 name: Device.SelfHeal.X_RDKCENTRAL-COM_MaxResetCount
               type:       uint,    value: 3 
Parameter    7 name: Device.SelfHeal.X_RDKCENTRAL-COM_NoWaitLogSync
               type:       bool,    value: false 
Parameter    8 name: Device.SelfHeal.X_RDKCENTRAL-COM_LogBackupThreshold
               type:       uint,    value: 0 
Parameter    9 name: Device.SelfHeal.X_RDKCENTRAL-COM_DiagnosticMode
               type:       bool,    value: false 
Parameter   10 name: Device.SelfHeal.X_RDKCENTRAL-COM_DiagMode_LogUploadFrequency
               type:       uint,    value: 1440 
Parameter   11 name: Device.SelfHeal.X_RDKCENTRAL-COM_DNS_PINGTEST_Enable
               type:       bool,    value: false 
Parameter   12 name: Device.SelfHeal.X_RDKCENTRAL-COM_DNS_URL
               type:     string,    value: www.google.com 
Parameter   13 name: Device.SelfHeal.CpuMemFragNumberOfEntries
               type:       uint,    value: 2 
Parameter   14 name: Device.SelfHeal.CpuMemFrag.1.DMA
               type:     string,    value:  
Parameter   15 name: Device.SelfHeal.CpuMemFrag.1.DMA32
               type:     string,    value:  
Parameter   16 name: Device.SelfHeal.CpuMemFrag.1.Normal
               type:     string,    value:  
Parameter   17 name: Device.SelfHeal.CpuMemFrag.1.Highmem
               type:     string,    value:  
Parameter   18 name: Device.SelfHeal.CpuMemFrag.1.FragPercentage
               type:       uint,    value: 0 
Parameter   19 name: Device.SelfHeal.CpuMemFrag.2.DMA
               type:     string,    value:  
Parameter   20 name: Device.SelfHeal.CpuMemFrag.2.DMA32
               type:     string,    value:  
Parameter   21 name: Device.SelfHeal.CpuMemFrag.2.Normal
               type:     string,    value:  
Parameter   22 name: Device.SelfHeal.CpuMemFrag.2.Highmem
               type:     string,    value:  
Parameter   23 name: Device.SelfHeal.CpuMemFrag.2.FragPercentage
               type:       uint,    value: 0 
Parameter   24 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_PingInterval
               type:       uint,    value: 60 
Parameter   25 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_NumPingsPerServer
               type:       uint,    value: 3 
Parameter   26 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_MinNumPingServer
               type:       uint,    value: 1 
Parameter   27 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_PingRespWaitTime
               type:       uint,    value: 1000 
Parameter   28 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_CorrectiveAction
               type:       bool,    value: false 
Parameter   29 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_LastReboot
               type:       uint,    value: 0 
Parameter   30 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_RebootInterval
               type:        int,    value: 0 
Parameter   31 name: Device.SelfHeal.ConnectivityTest.X_RDKCENTRAL-COM_CurrentCount
               type:        int,    value: 0 
Parameter   32 name: Device.SelfHeal.ConnectivityTest.PingServerList.IPv4PingServerTableNumberOfEntries
               type:       uint,    value: 0 
Parameter   33 name: Device.SelfHeal.ConnectivityTest.PingServerList.IPv6PingServerTableNumberOfEntries
               type:       uint,    value: 0 
Parameter   34 name: Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_UsageComputeWindow
               type:       uint,    value: 15 
Parameter   35 name: Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_AvgCPUThreshold
               type:       uint,    value: 100 
Parameter   36 name: Device.SelfHeal.ResourceMonitor.X_RDKCENTRAL-COM_AvgMemoryThreshold
               type:       uint,    value: 100 
Parameter   37 name: Device.SelfHeal.CPUProcAnalyzer.Enable
               type:       bool,    value: false 
Parameter   38 name: Device.SelfHeal.CPUProcAnalyzer.SleepInterval
               type:       uint,    value: 60 
Parameter   39 name: Device.SelfHeal.CPUProcAnalyzer.TimeToRun
               type:       uint,    value: 600 
Parameter   40 name: Device.SelfHeal.CPUProcAnalyzer.DynamicProcess
               type:       bool,    value: false 
Parameter   41 name: Device.SelfHeal.CPUProcAnalyzer.MonitorAllProcess
               type:       bool,    value: false 
Parameter   42 name: Device.SelfHeal.CPUProcAnalyzer.MemoryLimit
               type:       uint,    value: 1536 
Parameter   43 name: Device.SelfHeal.CPUProcAnalyzer.ProcessList
               type:     string,    value:  
Parameter   44 name: Device.SelfHeal.CPUProcAnalyzer.SystemStatsToMonitor
               type:     string,    value: cpu,memory,fd,loadavg,cliconnected
 
Parameter   45 name: Device.SelfHeal.CPUProcAnalyzer.ProcessStatsToMonitor
               type:     string,    value: cpu,memory,fd,thread
 
Parameter   46 name: Device.SelfHeal.CPUProcAnalyzer.TelemetryOnly
               type:       bool,    value: false 

root@Filogic-GW:/# 

root@Filogic-GW:/usr/ccsp/tad# ls
CcspTandDSsp	       corrective_action.sh  log_buddyinfo.sh	  self_heal_connectivity_test.sh  selfheal_reset_counts.sh
TestAndDiagnostic.XML  cpumemfrag_cron.sh    resource_monitor.sh  selfheal_aggressive.sh	  task_health_monitor.sh

root@Filogic-GW:/rdklogs/logs# 
root@Filogic-GW:/rdklogs/logs# ps -alx | grep reso
4     0    4531       1  20   0   3496  2744 do_wai S    ?          0:00 /bin/sh /usr/ccsp/tad/resource_monitor.sh
0     0   16777   10009  20   0   2244   808 pipe_w S+   pts/0      0:00 grep reso
root@Filogic-GW:/rdklogs/logs# ps -alx | grep self
4     0    4528       1  20   0   3628  2836 do_wai S    ?          0:00 /bin/sh /usr/ccsp/tad/self_heal_connectivity_test.sh
4     0    4539       1  20   0   4288  3468 do_wai S    ?          0:00 /bin/sh /usr/ccsp/tad/selfheal_aggressive.sh
0     0   16816   10009  20   0   2244   824 pipe_w S+   pts/0      0:00 grep self


Resource Monitor - Monitors CPU and MEMORY

...

                                   unplug the ethernet LAN cable or ifconfig erouter0 down

Note :By default DNS PING Test and corrective actions are disabled.

...