AppFormix Agent runs on a host to monitor resource consumption of the host itself and the virtual machines and containers executing on that host.
- Ubuntu 14.04
- Red Hat Enterprise Linux 7.1
- Red Hat Enterprise Linux 6.5, 6.6
- CentOS 7.1
- CentOS 6.5, 6.6
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.
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 220.127.116.11
- 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
Agent requires capability to read hardware and process-level metrics.
Agent can run as 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 Agent is run as
- 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.
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.
The 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.