AppFormix Agent Requirements
AppFormix Agent runs on a host to monitor resource consumption of the host itself and the virtual machines and containers executing on that host.
AppFormix Agent Supported Platforms
CentOS 7.1, 7.2, 7.3
CentOS 6.5, 6.6
Debian 8
Red Hat Enterprise Linux 7.1, 7.2, 7.3
Red Hat Enterprise Linux 6.5, 6.6
Ubuntu 14.04, 16.04
Software Requirements
System-Level Dependencies
The following software packages are system-level packages that must be installed on the host on which the agent runs. The minimum compatible version is listed.
libvirt 1.2.2
msr-tools 1.3 ** (also requires Linux kernel 'msr' module to be loaded)
Python 2.7.5
smartmontools 6.2 **
systemd 204 (for udevadm. package is 'udev' on Ubuntu.)
util-linux 2.20.1
** Optional, some metrics will not be available without this dependency.
Python Dependencies
During installation of the agent, all Python dependencies are installed inside of a Python virtualenv. This isolates the agent's Python dependencies from the host system. The agent depends on the following Python packages.
aniso8601 0.92
backports.ssl-match-hostname 3.4.0.2
docker-py 1.1.0
Flask 0.10.1
Flask-RESTful 0.3.5
flask-restful-swagger 0.19
IPy 0.81
itsdangerous 0.24
Jinja2 2.7.3
jsonschema 2.4.0
libvirt-python 1.2.14
MarkupSafe 0.23
protobuf 2.5.0
protobuf-to-dict 0.1.0
psutil 2.2.1
python-iptables 0.11.0
pytz 2014.10
requests 2.6.0
six 1.5.2
urllib3 1.10.2
websocket-client 0.26.0
Werkzeug 0.9.4
xmltodict 0.9.2
System Capability Requirements
AppFormix Agent requires capability to read hardware and process-level
metrics. Agent can run as a root or non-root user. Agent package will
create an appformix Linux user account
and group that has sufficient privileges for operation. Some metrics
are not available when the agent is run as non-root user.
libvirtd group permission to access qemu://system/ (via python-libvirt)
Read access to disk devices (e.g., /dev/sda) for SMART counters (via smartctl). Requires root privilege.
Read access to CPU MSR registers for CPU temperature (/dev/cpu/*/msr). Requires root privilege.
Network Requirements
AppFormix Agent communicates with controller components. The following ports are used for communication between the hosts.
Agent serves an HTTP-based REST API on port 42595.
Agent opens HTTP connections to AppFormix Platform REST API on port 9000.
Resource Requirements
The AppFormix Agent CPU and memory footprint is dependent on number of instances monitored on the host and number of alarms configured.
CPU consumption is 0.1% per instance.
Memory footprint is 40 MB + 25 KB per configured alarm.
