# Monitor ## Introduction This module contains system level software such as code to check hardware status and monitor system health. In Apollo 5.5, the monitor module now performs the following checks among others: 1. Status of running modules 2. Monitoring data integrity 3. Monitoring data frequency 4. Monitoring system health (e.g. CPU, memory, disk usage, etc) 5. Generating end-to-end latency stats report ``` Note: You can configure the modules that you would like to monitor for the first 3 capabilities mentioned above. ``` ## Hardware Monitors Hardware related monitoring, e.g. CAN card / GPS status health check. Check results are reported back to HMI. ## Software Monitors ### Process Monitor It checks if a process is running or not. Config it with apollo::monitor::ProcessConf proto, which works similar to ```bash ps aux | grep | grep | ... ``` ### Topic Monitor It checks if a given topic is updated normally. Config it with apollo::monitor::TopicConf proto. ### Summary Monitor It summarizes all other specific monitor's results to a simple conclusion such as OK, WARN, ERROR or FATAL.