Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    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.

    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.

    Modified: 2017-11-12