perfino consists of two main parts: the server and the agent. The agent is loaded in the monitored VM and records data. The agent connects to a perfino server. The server periodically queries all connected agents and processes their data. Historical information is written to a database. Users log in with their web browser to the perfino server to analyze the recorded data.
Internally, the perfino server consists of three components:
- The collector accepts TCP connections from perfino agents in monitored VMs. These connections can be encrypted and authenticated, so they are viable for wide area networks. The collector also consolidates data in the database, fires triggers and generates alerts.
- The embedded H2 database stores all persistent data. There are two separate databases in that directory, one called "perfino" that contains recorded data and one called "config" that only contains configuration data. If you delete the "perfino" database while the perfino server is shut down, all configuration options are preserved.
- The UI server accepts HTTPS connections where users can log in, view and analyze the collected data and configure the server.