The MySQL Enterprise Agent core architecture provides the basic chassis on which the other components operate. The main purpose of the core architecture is to support the connectivity to the MySQL server being monitored, and the communication ability with the MySQL Enterprise Service Manager to collect and send collected information, and receive configuration and other information from MySQL Enterprise Service Manager.
The Agent also performs a number of key operations while collecting information from the hosts and MySQL servers that it is monitoring. In particular, the core Agent:
Provides the direct monitoring of the MySQL server, including checking the server accessibility, configuration, obtaining the server ID, and setting up the environment to start collecting more detailed information. In addition to the information accessible by accessing variable and configuration information within the server, other configuration parameters, such as the replication configuration, is also recovered from the server.
Collects the operating system specific information, including RAM, disk storage and other data.
Collects the data from the server, including obtaining the values and configuration of the MySQL server, status variables and other information.
Communicates with the MySQL Enterprise Service Manager. Data is collected at scheduled intervals according to the schedule set by the server. This information is then sent to the MySQL Enterprise Service Manager at a regular schedule that is designed reduce the effect of multiple agents on multiple machines simultaneously sending large blocks of data up to the MySQL Enterprise Service Manager at the same time.
Because the MySQL Enterprise Agent and the MySQL Enterprise Service Manager may lose communication with each other (for example, due to transient network errors), the MySQL Enterprise Agent can store the data that would normally be sent up to the MySQL Enterprise Service Manager in buffered memory, up to a point, then spooled on disk. Once communication is re-established, the saved data is sent up to the server.