Cognos Analytics

How to setup High Availability/Failover with multiple Jupyter Notebook Servers using NGINX Reverse Proxy and CA

By ANTONIO MARZIANO posted Tue June 18, 2019 09:06 AM


Currently CA only connects to a single Jupyter Notebook Server instance so in a production environment It may be necessary to ensure high availability/fault tolerance to ensure downtime is kept to a minimum. In order to achieve this its possible to leverage NGINX Reverse Proxy to failover Jupyter Notebook Servers in the event of such failures. So, the purpose of this article is to outline a step-by-step guide, based on a lab environment, to setup and configure a reverse proxy with Cognos Analytics 11.1.2+, NGINX and Jupyter Notebook Server.


OS: Centos 7.1

CA Server 11.1.2+ (
NGINX Server (
Jupyter Notebook Server 1 –
Jupyter Notebook Server 2 –

Complete Architecture:


Steps to install and configure NGINX

1. On the Centos Server run yum -y update

2. Create a repo file vim /etc/yum.repos.d/nginx.repo
3. Add the following lines:

4. Install nginx by executing yum -y install nginx


5. Check the installation by executing nginx -V

6. Start by executing nginx and then test by executing curl http://localhost

7. Edit the /etc/nginx/nginx.conf and add this section:

8. Save and restart nginx

9. Open CA Portal and navigate to Manage - Configuration - System - Environment. Add the NGINX reverse Proxy IP Address (or host)

10. Click "Apply"

Now, lets test the failover by stopping one of the upstream jupyter servers and capture its recovery:

Stop the docker containers by executing the command:
/opt/ibm/cognos/jupyter/dist/scripts/unix/ ./

Refresh the browser and kernel reinitialized and connected successfully.

Appendix: Additional Information

NGINX Additional Proxy Config Settings

IBM Jupyter Server

Blog - Administration: How to setup Jupyter Notebook Server on Ubuntu 16+ for Cognos Analytics 11.1.2+