b1162682cb
Backport https://github.com/Azure/sonic-buildimage/pull/9068 to 202012 #### Why I did it Command `monit summary -B` can no longer display the status for each critical process, system-health should not depend on it and need find a way to monitor the status of critical processes. The PR is to address that. monit is still used by system-health to do file system check as well as customize check. #### How I did it 1. Get container names from FEATURE table 2. For each container, collect critical process names from file critical_processes 3. Use “docker exec -it <container_name> bash -c ‘supervisorctl status’” to get processes status inside container, parse the output and check if any critical processes exit #### How to verify it 1. Add unit test case to cover it 2. Adjust sonic-mgmt cases to cover it 3. Manual test
11 lines
466 B
Makefile
11 lines
466 B
Makefile
# system health Python wheel
|
|
|
|
SYSTEM_HEALTH = system_health-1.0-py3-none-any.whl
|
|
$(SYSTEM_HEALTH)_SRC_PATH = $(SRC_PATH)/system-health
|
|
$(SYSTEM_HEALTH)_PYTHON_VERSION = 3
|
|
$(SYSTEM_HEALTH)_DEPENDS = $(SONIC_PY_COMMON_PY3) $(SWSSSDK_PY3) $(SONIC_CONFIG_ENGINE_PY3)
|
|
$(SYSTEM_HEALTH)_DEBS_DEPENDS = $(LIBSWSSCOMMON) $(PYTHON3_SWSSCOMMON)
|
|
SONIC_PYTHON_WHEELS += $(SYSTEM_HEALTH)
|
|
|
|
export system_health_py3_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SYSTEM_HEALTH))"
|