How to Install Cabot Monitoring Tool using Docker on CentOS 7

To Install Cabot Monitoring Tool using Docker on CentOS 7

Cabot is an open-source, self-hosted monitoring platform written in Python and it provides a web interface that allows you to monitor services and send telephone, SMS or hipchat/email alerts to your support in case of any service failures. It is so simple to install Cabot Monitoring tool using Docker on CentOS 7 machine, and this tutorial covers the ground on the same process.

Installing Cabot Monitoring Tool

First, make sure you install Docker/Docker compose which is very vital for this process. You can install docker by running this command.

[root@linuxhelp ~]# yum install docker
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
.
.
Complete!


Once it is done, you need to start the Docker service.

[root@linuxhelp ~]# systemctl start docker


And then, once it is done, you need to check the status of Docker with the help of the following command.

[root@linuxhelp ~]# systemctl status docker
 docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service  disabled  vendor preset: disabled)
Active: active (running) since Thu 2018-02-08 11:24:47 IST  5s ago
.
.
o msg=" API listen on /var/run...r.sock" 
Hint: Some lines were ellipsized, use -l to show in full.

Once it is done, you need to enable the Docker service by running the following command.

[root@linuxhelp ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.


Docker-compose is a command line tool to define and configure multi-container docker applications. You can install it with the help of the following command.

[root@linuxhelp ~]# yum install epel-release.noarch -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
.
Installed:
epel-release.noarch 0:7-9  
Complete!


Install Python as well.

[root@linuxhelp ~]# yum install python-pip &ndash y
Loaded plugins: fastestmirror, langpacks
epel/x86_64/metalink   
.
Installed:
python2-pip.noarch 0:8.1.2-5.el7                                                                                                           

Complete!

And now type the pip command to install the docker compose.

[root@linuxhelp ~]# pip install docker-compose
Collecting docker-compose
Downloading docker_compose-1.19.0-py2.py3-none-any.whl (115kB)
.
-0.6.2 enum34-1.1.6 functools32-3.2.3.post2 idna-2.6 ipaddress-1.0.19 jsonschema-2.6.0 requests-2.18.4 texttable-0.9.1 urllib3-1.22 websocket-client-0.46.0

You should also install Git packages from their repositories by just running this command.

[root@linuxhelp ~]# yum install git
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
.
.
Complete!

Deploying Cabot container using Docker-compose tool

Now, let us deploy our Cabot docker container with docker-compose command, first we need to have a directory with that name which includes the docker compose file namely docker-compose.yml

[root@linuxhelp ~]# git clone https://github.com/arachnys/cabot.git
Cloning into ' cabot' ...
.
Resolving deltas: 100% (2696/2696), done.
This will create our Cabot folder with all required files to create our container. 


Now we can move to our Cabot folder created and add your keys for external services to the configuration files.

[root@linuxhelp cabot]# cp conf/production.env.example conf/production.env
[root@linuxhelp cabot]# cp conf/development.env.example conf/development.env

And finally, you can run the docker-compose command to build your container.

[root@linuxhelp cabot]# docker-compose up -d
Creating network " cabot_default"  with the default driver
Creating volume " cabot_datavolume"  with default driver
.
.
Creating cabot_redis_1  ... 
Creating cabot_web_1    ... done
Creating cabot_beat_1   ... done
Creating cabot_worker_1 ... done


Once, it' s done make sure you' ve Cabot container and its services are up and running.

[root@linuxhelp cabot]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c12731fb7cd3        cabot:web           " ./docker-entrypoint."    16 minutes ago      Up 16 minutes                                cabot_worker_1
b9d56548c4f2        cabot:web           " ./docker-entrypoint."    16 minutes ago      Up 16 minutes                                cabot_beat_1
1850d9a11ef7        cabot:web           " ./docker-entrypoint."    16 minutes ago      Up 16 minutes       0.0.0.0:5001-> 5001/tcp   cabot_web_1
062785807cff        redis:alpine        " docker-entrypoint.sh"    16 minutes ago      Up 16 minutes       6379/tcp                 cabot_redis_1
9e1b8045bf0e        postgres:alpine     " docker-entrypoint.sh"    16 minutes ago      Up 16 minutes       5432/tcp                 cabot_db_1


That’ s it! We' ve our Cabot monitoring tool up and running now. You can access it from the web interface using the web URL > > http://Server IP:5001 or Hostname:5001.

Create a Super User account.

You are now into the Cabot application.

This tutorial on installing Cabot Monitoring Tool using Docker on CentOS 7.

Tag : CentOS Docker
FAQ
Q
What is the Components of this system in Cabot Monitoring Tool?
A
Components of this system

This system consists of the following components that work together,

Collection: Tool for collecting metrics from all the infrastructure components
Forwarding: Tool for aggregating the metrics that are recieved from various machines and services and routing it to different storage backends
Visualization: Tool for generating graphs and visualizing metrics
APIs: Backend that provides APIs to query the metrics data for dashboards and alerting systems
Storage backends: Database for storing the time-series metrics data
Monitoring: Monitoring system for performing checks on the metrics and sending alert notifications
Q
What is capability to handle the Cabot monitoring tool?
A
This monitoring system has to handle the following:

Gathering data from all the components and services
Storing the data efficiently and in an easily accessible manner
Visualizing the data for faster comprehension
Making sense of this data and relaying alerts to the respective owners of the services and components
Managing the on call team and alerting them immediately
Q
How to get the official site of the Cabot?
A
Get the official site of the Cabot, use the following link as given below "https://cabotapp.com/".
Q
How to get the official documentation of the Cabot?
A
Get the official documentation of the Cabot, use the following link as given below "https://cabotapp.com/qs/quickstart.html"
Q
What are the alternative tools available for the Cabot?
A
The following alternative tools are available for the Cabot as,
Zabbix, Nagios, Icinga, Datadog, Munin, Monit