Advanced Installation

This page includes instructions for monitoring only one server on a host running multiple databases, as well as manual installation instructions and instructions on installing the VividCortex agent using Chef, Puppet, or Ansible.

Specifying Hosts to Monitor

If you have multiple databases running on one host, the VividCortex agent will automatically detect and begin monitoring all of them automatically. However, if you want to monitor only some of those databases, you can instruct VividCortex to do so using configuration files.

First, download and install VividCortex. You will need your API token, which you can find in the web application by clicking “Add New Host” and then “Containerized”:

curl https://download.vividcortex.com/install > install
sh install --token <API_TOKEN> --autostart --proxy=auto

To specify what database (or databases) to monitor, you will need the URI of your database(s). URIs have the following format:

Database URI syntax
MongoDB [hostname=]mongo://user:pass@0.0.0.0:port/
MySQL [hostname=]mysql://user:pass@0.0.0.0:port/
PostgreSQL [hostname=]postgres://user:pass@0.0.0.0:port/db
Redis [hostname=]redis://:pass@0.0.0.0:port/

Replace user, pass, and port with the VividCortex username, the password for that user, and the database listening port. For PostgreSQL, you may also need to specify the name of the database to connect to, db. The user and password cannot contain any of the URI reserved characters ( : / ? # [ ] @ ).

It is important to specify 0.0.0.0; this will instruct the agent to sniff all traffic to the entered port. If skip_name_resolve is active, login permissions will be necessary for 127.0.0.1. If it is not active, it will likely be localhost but may be different.

[hostname=] is optional; use it to specify a custom name for this database different from the one that would be automatically generated (the OS hostname). You can use this to give the database a human-readable name in VividCortex.

Create /etc/vividcortex/vc-agent-007.conf and copy & paste the following, replacing <HOST URI> with the correct host URI. You can monitor multiple databases by specifying a comma-separated list of URIs.

{
    "use-drv-mongo": "false",
    "use-drv-mysql": "false",
    "use-drv-pgsql": "false",
    "use-drv-redis": "false",
    "drv-manual-query-capture": "sniff",
    "drv-manual-host-uri": "<HOST URI>[,<HOST URI>][,...]"  
}

Save this file. If you previously installed VividCortex on this host using the off-host installation method, you will need to remove the option "host-discovery-limit":0 from your /etc/vividcortex/global.conf file.

Start the VividCortex service with service vividcortex start, /etc/init.d/vividcortex start, or whatever is appropriate for your system. Log-in to the VividCortex web application, and you should see your database(s) appear in the Inventory page.

Contact Support in-app or by emailing support@vividcortex.com if you have any questions.

Installing With Chef

We also provide a Chef cookbook that acts as an installation wrapper: github.com/VividCortex/chef-cookbook.

In order to use it, you must set the vividcortex['token'] attribute to your API token, and add its default recipe to your runlist. To find your API token, open the Add Hosts wizard and click “Containerized”; your API token will be displayed.

# Attribute example
{
    "vividcortex" => {
        "token" => "12345678901234567890123456789012"
    }
}

# Add it to your runlist:
{
    "run_list": ["recipe[vividcortex]"]
}

Installing From RPM Packages

We can provide an RPM repository with packages for your convenience. The RPM does not contain a complete set of agent binaries; instead it contains a stable version of the agent (and any plugins) which will upgrade and install itself.

Installing From Puppet

We also provide a Puppet manifest for installing the repo, at github.com/VividCortex/puppet. This installs the repo and the agent. It accepts various parameters such as your API token.

If you do not use a configuration management system such as Ansible, Chef, or Puppet to generate the /etc/vividcortex/global.conf file, you must generate it manually. The agent will not work without it, and the RPM installation will fail as a result. The configuration file must be created before installing the RPM.

To install the repository and then the agent, run the following commands:

rpm -Uvh https://repo.vividcortex.com/repo/centos/6/x86_64/vividcortex-release-1-1.amzn1.noarch.rpm
yum install vividcortex-agents