Because of work requirements, I often use a tool in Linux:Nagios
Figure-Nagios
Use Nagios to monitor the network of servers on the network
1. Implementation Principle
Various servers in the network need to be managed and maintained, and the administrator cannot monitor the status of each server in a timely manner. At this time, the software function is required. Nagios functions are monitoring services and hosts, but it does not include these functions. All monitoring and detection functions are implemented through various plug-ins. After Nagios is started, it automatically calls the plug-in periodically to check the server status. At the same time, Nagios maintains a queue, and all the status information returned by the plug-in enters the queue, nagios reads and processes the information from the beginning of the team, and then displays the status results on the web. Nagios provides many plug-ins that can be used to conveniently monitor many service statuses. After the installation is complete, all plug-ins that can be used by nagios are stored in/libexec in the main directory of nagios. For example, check_disk is the plug-in for checking disk space, and check_load is used to check CPU load, and so on. Each plug-in can view its usage and functions by running./check_xxx-h. Nagios can identify four status returned information, namely 0 (OK) indicates that the status is normal, 1 (WARNING) indicates that a certain exception occurs, 2 (CRITICAL) indicates that an error occurs in the eye of the system, and 3 (UNKNOWN) indicates that the Monitored object has stopped. Nagios judges the status of the Monitored object based on the value returned by the plug-in, and displays it on the web for the Administrator to detect faults in time.
2. Use the NRPE plug-in of Nagios to monitor servers on the network
After learning how Nagios manages server objects through plug-ins, I am now studying how Nagios manages Remote Server objects. The Nagios system provides a plug-in named NRPE. Nagios periodically runs it to obtain various status information of the remote server. Shows the relationship between them: