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

    Service Monitoring

    To monitor services, you must configure where a service is running and credentials (if any) to connect to the service. You can provide the configuration in the Dashboard settings but you can also provide the configuration by defining Ansible variables. The Ansible playbook will configure AppFormix Platform with the information to monitor a service.

    See the following topics for configuring service monitoring.

    Configure Cassandra Monitoring

    Cassandra monitoring is configured by the Ansible role appformix_cassandra_config. This Ansible role is applied to the appformix_controller group of hosts. Ansible will perform the configuration if the following variables are set as extra vars, group vars, and so on.

    • cassandra_username: Cassandra username to access API.
    • cassandra_password: Cassandra password to access API.
    • cassandra_host: Hostname or IP address of Cassandra API server.

    There is one optional variable that can be specified as well:

    • cassandra_cluster_name: A name by which the Cassandra instance will be displayed in the Dashboard. If not specified, this variable has a default value of default_cassandra_cluster.

    Configure Ceph Monitoring

    Ceph service monitoring is configured by the Ansible role appformix_ceph. This Ansible role is applied to the appformix_controller group of hosts. Ansible will perform the configuration if the following variables are set as extra vars, group vars, and so on.

    • remote_ceph_conf_absolute_path: Absolute path of Ceph config file in Ceph monitor node, typically /etc/ceph/ceph.conf.
    • remote_ceph_key_absolute_path: Absolute path of Ceph admin keyring file in Ceph monitor node, typically, /etc/ceph/ceph.client.admin.keyring. AppFormix uses this client keyring to authenticate with Ceph APIs.

    In addition, at least one host must be specified in the inventory in the group [ceph_monitor]. Ansible will retrieve the ceph.conf and ceph.client.admin.keyring from one of the Ceph monitor nodes, and use the information to configure AppFormix to monitor cluster-wide metrics. Ansible will also deploy AppFormix Agent to Ceph monitor nodes to monitor host-level metrics that affect health and performance of such hosts.

    To enable host monitoring of the Ceph OSD nodes, specify the Ceph OSD nodes in the [ceph_osd] host group in the Ansible inventory. Ansible will deploy AppFormix Agent to these hosts and configure them with the tag ceph-osd in AppFormix.

    An example portion of the hosts file to specify Ceph nodes in Ansible inventory:

    [ceph_osd]
    ceph_osd01
    ceph_osd02
    
    [ceph_monitor]
    ceph_monitor01

    Configure Contrail Monitoring

    Contrail service monitoring is configured by the Ansible role appformix_contrail_config. This Ansible role is applied to the appformix_controller group of hosts. Ansible will perform the configuration if the following variables are set as extra vars, group vars, and so on.

    Configuration of Contrail uses the same OpenStack credentials as provided for AppFormix to access OpenStack services. The Ansible role reads the credentials from environment variables (for example, OS_USERNAME, OS_PASSWORD).

    Admin credentials to the OpenStack cluster are a requirement. Connectivity to Contrail Analytics and Config nodes is also a requirement. AppFormix connects to ports 8081, 8082 on the Analytics and Config nodes of Contrail.

    • contrail_host: Hostname or IP address of Contrail API server.

    The following optional variable can be specified:

    • contrail_cluster_name: A name by which the Contrail instance will be displayed in the Dashboard. If not specified, this variable has a default value of default_contrail_cluster.

    Configure MySQL Monitoring

    MySQL monitoring is configured by the Ansible role appformix_mysql_config. This Ansible role is applied to the appformix_controller group of hosts. The following variables can be set as extra vars, group vars, and so on in Ansible.

    • mysql_username: MySQL username to access database metrics.
    • mysql_password: MySQL password to access database metrics.
    • mysql_hosts: A list of hosts separated by commas (for example 1.1.1.1,2.2.2.2). If MySQL is running in clustered mode, then AppFormix monitors each host in the cluster.

    There are two optional variables that can be specified as well:

    • mysql_cluster_name: A name by which the MySQL cluster will be displayed in the Dashboard. If not specified, this variable has a default value of default_mysql_cluster.
    • mysql_port: MySQL port. If not specified, this variable has a default value of 3306.

    Configure RabbitMQ Monitoring

    RabbitMQ monitoring is configured by the Ansible role appformix_rabbit_config. This Ansible role is applied to the appformix_controller group of hosts. Ansible will perform the configuration if the following variables are set as extra vars, group vars, and so on.

    • rabbit_username: RabbitMQ username to access monitoring API.
    • rabbit_password: RabbitMQ password to access monitoring API.
    • rabbit_url: URL to RabbitMQ monitoring API.

    There is one optional variable that can be specified as well:

    • rabbit_cluster_name: A name by which the RabbitMQ cluster will be displayed in the Dashboard. If not specified, this variable has a default value of default_rabbit_cluster.

    Configure ScaleIO Monitoring

    ScaleIO monitor is configured by the Ansible role appformix_scaleio when the variable scaleio_cluster is defined. This Ansible role is applied to the appformix_controller group of hosts. Ansible will perform the configuration if the scaleio_cluster variable is set as extra vars, group vars, and so on. The scaleio_cluster variable is a dictionary with the following required keys

    • host: ScaleIO API gateway hostname or IP address.
    • username: ScaleIO username to access API.
    • password: ScaleIO password to access API.

    Optionally, the following keys can also be defined in the scaleio_cluster dictionary.

    • name: Name of this ScaleIO cluster. If not specified, this variable has a default value of default_scaleio_cluster.
    • port: ScaleIO API gateway port number. If not specified, this variable has a default value of 80.

    For example, in group_vars/all, the scaleio_cluster dictionary can be minimally defined as follows:

    scaleio_cluster:
            host: my_scaleio_host.example.com
            username: my_scaleio_username
            password: my_scaleio_password

    Modified: 2017-11-12