IBM Observability by Instana Multibackends Based on Docker Installation
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.