Overview

The software consists of two parts, the server (one) and agents (one for each server node you wish to monitor).

The server stores historical data and provides a web UI to view node data, numbers and charts.

Dependencies

The server uses two database systems for storing its data. InflxDB is used to store time series (historical) data, and MongoDB is used to store node info and such.

InfluxDB may already be included in your Linux distro. If not, it can be installed from its official site. Version 1.8.1 or even the older 1.5 series are both fine, 2.0 is not needed.

After installing InfluxDB please run its shell influxdb and execute the following command to create a database for ClearView: create database clearview.

You will most likely want to set a retention policy (which defines how long historical data is kept / when it's deleted).

For example: create retention policy def on clearview duration 90d replication 1 default, this will keep time series data for 90 days. Without a retention policy, your time series data will never be trimmed and will grow infinitely.

MongoDB also may be included in your Linux distro. If not, it can be installed from its official site.

The agent has no dependencies other than the basic glibc and libpthread.

Installing the server

The server can be installed on almost any Linux distribution. There are prebuilt packages on the downloads page.

After installation, secure the server by editing /etc/clearview-server.conf and filling in the values of of auth_username and auth_password. These will be used by web UI (with charts and values) and also by agents (which collect data from your servers).

Set up a reverse proxy in your web server configuration, to forward page requests for ClearView web UI to clearview server. The entire ClearView web UI is under /cv/, so just one web server directive is enough.

For nginx:

        location /cv/ {
            proxy_pass http://127.0.0.1:63001;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass_header Authorization;
        }
    

After editing nginx configuration, reload it with systemctl reload nginx.service.

Starting the server

Start the server with systemctl start clearview-server. Verify that the server is running with systemctl status clearview.

Try opening web ui by going to https://your_server_name/cv/web, you should see a page similar to the demo page on this site but without a node yet.

Click "add a node" to add your first monitored server node. Click the (i) icon to see its ID (necessary for agent configuration).

Installing the agent

The agent can be installed on almost any Linux distribution. There are prebuilt packages on the downloads page.

After installation, configure the agent by editing /etc/clearview.conf to provide:

To collect data from nginx / apache / MySQL please set the respective options in /etc/clearview.conf, there are comments there.

Start the agent with systemctl start clearview-agent. After a few minutes you should start seeing data in web UI on the server.

If you're not seeing data from your new node, please check both server and agent services for errors. On the server with journalctl -u clearview-server -f and on the agent node with journalctl -u clearview-agent -f.