IBM Observability by Instana Multibackends Based on Docker Installation

Candan Celik
Garanti BBVA Teknoloji
3 min readJul 5, 2022

First of all, I would like to briefly describe what Instana is and what it does. Instana is the first and only fully automated “Application Performance Management” (APM) solution designed specifically for the challenges of managing microservice and cloud-native applications.

Instana is available as a self-hosted (on-premises) solution, or as a SaaS solution, which can be hosted in multiple public clouds like AWS and Google Cloud.

To use the self-hosted (on-premises) Instana, you need to install both the Instana backend and the Instana agents. To use the SaaS Instana, you need to install only the Instana agents.

Unfortunately, there is no openshift support for self hosted installations at the moment. It has been reported that it will be supported in the near future. It’s available in kubernetes and docker for self-hosted installations.

In my scenario, especially the applications which are located in OpenShift cluster environments would be monitored with Instana. There was no Kubernetes in my environment and Instana does not support OpenShift so I had to go with Docker-based installation.

Of course, while planning this architecture, it was necessary to create an active-active high-availability architecture to prevent service interruptions.

In this article, I will share with you in detail how I created this structure and the next article will be related how the agents installed in OpenShift clusters report to two separate hosts.

The first task was to determine the capacity planning according to the document provided by Instana. The following details are the requirements for sizing single host setup running in a private datacenter:

S size: Maximum of 2079 reporting entities

M size: Maximum of 5459 reporting entities

L size: Maximum of 13173 reporting entities

The following formula is showing how to calculate entities:

With Containers: #Maximum of Reporting Entities = #Hosts + #Containers * #Sensors

Without Containers: #Maximum of Reporting Entities = #Hosts * #Sensors

My production environment should be a large size and should have a minimum 64 CPUs and 256 GiB memory.

I won’t go into detail about the requirements. Details can be found at the IBM link below.

Four filesystems have created in the Red Hat Enterprise Linux release 8.5 (Ootpa).

/var/log/instana (10GB) ; /var/lib/docker (50GB) ; /mnt/data (2T) ; /mnt/metrics (2T); /mnt/traces (3.5 T)

Now that our operating system is ready, we can start the installation. The first thing to do is to go under /var/lib/docker and run the commands below to complete the docker installation.

Download the Docker repo to operating system with the following command

dnf config-manager — add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf repolist -v | grep docker-ce-stable -A10
dnf list docker-ce — showduplicates | sort -r
dnf install — nobest docker-ce

If you encounter the installation problem with related podman and buildah. You can remove them with the following command.

yum erase podman buildah

yum install docker-ce docker-ce-cli containerd.io
systemctl docker start

As root, run the following command for Instana product repo.

cat >/etc/yum.repos.d/Instana-Product.repo <<EOF

[instana-product]

name=Instana-Product

baseurl=https://selfhosted.instana.io/rpm/release/product/rpm/generic/x86_64/Packages

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://self-hosted.instana.io/signing_key.gpg

priority=5

sslverify=1

#proxy=http://x.x.x.x:8080

#proxy_username=

#proxy_password=

EOF

yum makecache -y fast

yum install -y instana-console

You can run the installation command and “settings.hcl” file is generated in the same directory.

instana init

Enter the following information:

  • Your tenant name and unit name.
  • Your agent key and sales key.
  • DNS name.
  • Path to your certificate files.

When the installation has completed, login credentials will be displayed.

Welcome to the World of Automatic Infrastructure and Application Monitoring

https://<instana_url >

E-Mail: admin@instana.local

Password: *******

Now , you are ready to go your Instana console with these credentials.

Note: Please do the same operations for the 2nd server.

--

--