tree: 7115db4d5b066c609b9d9215cb58b62466ae0c0d [path history] [tgz]
  1. example/
  2. service_files/
  3. test/
  4. argument.cpp
  5. conditions.cpp
  6. conditions.hpp
  7. fan.cpp
  8. fan.hpp
  9. fan_defs.hpp
  10. fan_error.cpp
  11. fan_error.hpp
  12. gen-fan-monitor-defs.py
  13. groups.hpp
  14. json.md
  15. json_parser.cpp
  16. json_parser.hpp
  17. logging.cpp
  18. logging.hpp
  19. main.cpp
  20. Makefile.am
  21. nonzero_speed_trust.hpp
  22. power_interface.cpp
  23. power_interface.hpp
  24. power_off_action.hpp
  25. power_off_cause.hpp
  26. power_off_rule.hpp
  27. README.md
  28. system.cpp
  29. system.hpp
  30. tach_sensor.cpp
  31. tach_sensor.hpp
  32. trust_group.hpp
  33. trust_manager.hpp
  34. types.hpp
monitor/README.md

Fan Monitor

The fan monitor application provides the following functionality:

  • Sets the functional state of fan sensors in the inventory based on comparing the target speed of the sensor to the actual speed.
  • Sets the functional states of fan FRUs in the inventory based on the child fan sensor functional states.
  • Creates event logs for fan sensors that have been nonfunctional for too long.
  • Creates event logs for fans that have been missing for too long.
  • Can power off the system based on rules that look at the number of nonfunctional fan sensors or missing fans.

This is all configurable in a JSON file. It also supports build time configuration based on a YAML file, though that doesn't support the full functionality and has been deprecated in favor of the JSON configuration.